From 79331936f6d7c9eee6f2725981518dbf80c56db7 Mon Sep 17 00:00:00 2001 From: nrzhao4 <50606789+nrzhao4@users.noreply.github.com> Date: Mon, 23 Nov 2020 18:07:18 -0500 Subject: [PATCH 001/119] Fixed failing manual search tests (#1113) * fixed search.ts * added search.ts to no-auth tests * remove duplicated tests in no-auth --- cypress/integration/manualTests/search.ts | 17 ++++++++++++----- package.json | 6 +++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/cypress/integration/manualTests/search.ts b/cypress/integration/manualTests/search.ts index 2d12acdb9e..3963dbf986 100644 --- a/cypress/integration/manualTests/search.ts +++ b/cypress/integration/manualTests/search.ts @@ -11,11 +11,11 @@ describe('Admin UI', () => { it('should be able to select facet', () => { cy.get('mat-checkbox').parent().contains('workflow').click(); cy.contains('the Entry Type is workflow'); - cy.url().should('include', '/search?_type=workflow'); + cy.url().should('include', '/search?_index=workflow'); }); it('should be able to handle the back button', () => { cy.go('back'); - cy.url().should('not.include', '/search?_type=workflow'); + cy.url().should('not.include', '/search?_index=workflow'); cy.contains('the Entry Type is workflow').should('not.exist'); }); it('should be able to use basic search box and have suggestions', () => { @@ -29,19 +29,26 @@ describe('Admin UI', () => { cy.contains('Reset Filters').click(); cy.url().should('include', '/search'); }); + it('should remember paginator setting', () => { cy.contains('Items per page'); - cy.contains('1 - 10'); + cy.get('[data-cy=search-tool-table-paginator]').within(() => { + cy.get('.mat-paginator-range-label').contains('10 of'); + }); cy.get('[data-cy=search-tool-table-paginator]').contains(10).should('be.visible').click(); cy.get('mat-option').contains(20).click(); cy.get('[data-cy=search-tool-table-paginator]').within(() => { cy.get('.mat-paginator-navigation-next').click(); }); - cy.contains('21 - 40'); + cy.get('[data-cy=search-tool-table-paginator]').within(() => { + cy.get('.mat-paginator-range-label').contains('40 of'); + }); cy.get('[data-cy=search-tool-table-paginator]').contains(20); cy.get('a').contains('Organizations').click(); cy.go('back'); - cy.contains('21 - 40'); + cy.get('[data-cy=search-tool-table-paginator]').within(() => { + cy.get('.mat-paginator-range-label').contains('40 of'); + }); cy.get('[data-cy=search-tool-table-paginator]').contains(20); cy.contains('pancancer/pcawg-dkfz-workflow').should('not.exist'); }); diff --git a/package.json b/package.json index 0260949206..13a12eaec4 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,9 @@ "test": "npx ng test", "lint": "npx ng lint", "e2e": "npx ng e2e", - "test-dev-no-auth": "npx cypress run --record --reporter junit -c baseUrl=https://dev.dockstore.net -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts\"", - "test-staging-no-auth": "npx cypress run -c baseUrl=https://staging.dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts\"", - "test-prod-no-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts\"", + "test-dev-no-auth": "npx cypress run --record --reporter junit -c baseUrl=https://dev.dockstore.net -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", + "test-staging-no-auth": "npx cypress run -c baseUrl=https://staging.dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", + "test-prod-no-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", "test-dev-auth": "npx cypress run --record --reporter junit -c baseUrl=https://dev.dockstore.net -s \"cypress/integration/manualTests/auth-tests.ts\"", "test-staging-auth": "npx cypress run -c baseUrl=https://staging.dockstore.org -s \"cypress/integration/manualTests/auth-tests.ts\"", "test-prod-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/auth-tests.ts\"" From 4e1ad18bed74884f9a8f814279f9e716a02dc177 Mon Sep 17 00:00:00 2001 From: Gary Luu Date: Tue, 24 Nov 2020 11:32:42 -0500 Subject: [PATCH 002/119] Fix alt images (#1102) --- src/app/sponsors/sponsors.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/sponsors/sponsors.component.html b/src/app/sponsors/sponsors.component.html index 315bb46bf8..bc1482e117 100644 --- a/src/app/sponsors/sponsors.component.html +++ b/src/app/sponsors/sponsors.component.html @@ -33,7 +33,7 @@
Workflow Languages
From fa0eccc737bbd32a4979d07249508b4b2e11a1f8 Mon Sep 17 00:00:00 2001 From: nrzhao4 <50606789+nrzhao4@users.noreply.github.com> Date: Mon, 30 Nov 2020 13:11:28 -0500 Subject: [PATCH 003/119] feature/1781/upgrade to elasticsearch 7 (#1110) * update ES queries * changes * use query parameters to search only tools or workflows * remove unused constant * changes * added function to stub * corrected stub function * change to comment --- src/app/search/query-builder.service.ts | 9 ++++ src/app/search/search.component.ts | 69 ++++++++++++++++++++----- src/app/test/service-stubs.ts | 3 ++ 3 files changed, 68 insertions(+), 13 deletions(-) diff --git a/src/app/search/query-builder.service.ts b/src/app/search/query-builder.service.ts index d1b92dcb94..2a9f0192c4 100644 --- a/src/app/search/query-builder.service.ts +++ b/src/app/search/query-builder.service.ts @@ -111,6 +111,15 @@ export class QueryBuilderService { return tableQuery; } + getResultSingleIndexQuery(query_size: number, index: string): string { + let body = bodybuilder().size(query_size); + body = this.excludeVerifiedContent(body); + body = body.query('match', '_index', index); + const builtBody = body.build(); + const singleIndexQuery = JSON.stringify(builtBody); + return singleIndexQuery; + } + /**=============================================== * Append Functions * ============================================== diff --git a/src/app/search/search.component.ts b/src/app/search/search.component.ts index a12ad5b25d..17a2c35d58 100644 --- a/src/app/search/search.component.ts +++ b/src/app/search/search.component.ts @@ -70,7 +70,9 @@ export class SearchComponent implements OnInit, OnDestroy { public hits: Hit[]; // Possibly 100 workflows and 100 tools (extra +1 is used to see if there are > 200 results) - public readonly query_size = 201; + // Set to 201 if searching both queries + public readonly query_size = 101; + public readonly query_size_full = 201; searchTerm = false; /** a map from a field (like _type or author) in elastic search to specific values for that field (tool, workflow) and how many @@ -358,7 +360,7 @@ export class SearchComponent implements OnInit, OnDestroy { const advancedSearchObject = this.advancedSearchQuery.getValue().advancedSearch; const values = this.advancedSearchQuery.getValue().searchText; const sideBarQuery = this.queryBuilderService.getSidebarQuery( - this.query_size, + this.query_size_full, values, advancedSearchObject, this.searchTerm, @@ -366,16 +368,24 @@ export class SearchComponent implements OnInit, OnDestroy { this.filters, this.sortModeMap ); - const tableQuery = this.queryBuilderService.getResultQuery( - this.query_size, - values, - advancedSearchObject, - this.searchTerm, - this.filters - ); - this.resetEntryOrder(); - this.updateSideBar(sideBarQuery); - this.updateResultsTable(tableQuery); + if (!values) { + const toolsQuery = this.queryBuilderService.getResultSingleIndexQuery(this.query_size, 'tools'); + const workflowsQuery = this.queryBuilderService.getResultSingleIndexQuery(this.query_size, 'workflows'); + this.resetEntryOrder(); + this.updateSideBar(sideBarQuery); + this.updateResultsTableSeparately(toolsQuery, workflowsQuery); + } else { + const tableQuery = this.queryBuilderService.getResultQuery( + this.query_size_full, + values, + advancedSearchObject, + this.searchTerm, + this.filters + ); + this.resetEntryOrder(); + this.updateSideBar(sideBarQuery); + this.updateResultsTable(tableQuery); + } } updateSideBar(value: string) { @@ -405,7 +415,7 @@ export class SearchComponent implements OnInit, OnDestroy { }) .then((hits) => { this.hits = hits.hits.hits; - const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size); + const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); const searchText = this.searchQuery.getValue().searchText; this.searchService.setHits(filteredHits[0], filteredHits[1]); if (searchText.length > 0 && hits) { @@ -418,6 +428,39 @@ export class SearchComponent implements OnInit, OnDestroy { .catch((error) => console.log(error)); } + /** + * Updates the results table when there is no search term + * + * @param {string} value the elastic search query + * @memberof SearchComponent + */ + updateResultsTableSeparately(toolsQuery: string, workflowsQuery: string) { + let toolHits; + let workflowHits; + // Combine array of tools and workflows to filter into results table + ELASTIC_SEARCH_CLIENT.search({ + index: 'tools', + type: 'entry', + body: toolsQuery, + }) + .then((tools) => { + toolHits = tools.hits.hits; + ELASTIC_SEARCH_CLIENT.search({ + index: 'tools', + type: 'entry', + body: workflowsQuery, + }) + .then((workflows) => { + workflowHits = workflows.hits.hits; + this.hits = toolHits.concat(workflowHits); + const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); + this.searchService.setHits(filteredHits[0], filteredHits[1]); + }) + .catch((error) => console.log(error)); + }) + .catch((error) => console.log(error)); + } + /**=============================================== * Reset Functions * ============================================== diff --git a/src/app/test/service-stubs.ts b/src/app/test/service-stubs.ts index 9ae4a96dd1..28b0048e57 100644 --- a/src/app/test/service-stubs.ts +++ b/src/app/test/service-stubs.ts @@ -111,6 +111,9 @@ export class QueryBuilderStubService { ): string { return 'thisissomefakequery'; } + getResultSingleIndexQuery(query_size: number, index: string): string { + return 'thisissomefakequery'; + } getNonVerifiedQuery(query_size: number, values: string, advancedSearchObject: AdvancedSearchObject, searchTerm: boolean, filters: any) { return 'thisissomefakequery'; } From a260bd4bf157908a3747dd513a6589786fbab258 Mon Sep 17 00:00:00 2001 From: nrzhao4 <50606789+nrzhao4@users.noreply.github.com> Date: Mon, 30 Nov 2020 14:02:21 -0500 Subject: [PATCH 004/119] Feature/1781/elastic search response size (#1115) * update ES queries * changes * use query parameters to search only tools or workflows * remove unused constant * changes * added function to stub * corrected stub function * change to comment * include relevant properties in _source * reenable autocomplete request * use forkjoin for querying single indices * remove whitespace --- src/app/search/query-builder.service.ts | 44 ++++++++++++------------- src/app/search/search.component.ts | 43 +++++++++++------------- src/app/search/state/search.query.ts | 2 +- src/app/test/service-stubs.ts | 2 +- 4 files changed, 43 insertions(+), 48 deletions(-) diff --git a/src/app/search/query-builder.service.ts b/src/app/search/query-builder.service.ts index 2a9f0192c4..a738cbd274 100644 --- a/src/app/search/query-builder.service.ts +++ b/src/app/search/query-builder.service.ts @@ -65,26 +65,24 @@ export class QueryBuilderService { return body.rawOption('_source', false); } - private excludeVerifiedContent(body: any) { - // TODO: it should be possible to exclude tags and workflowVersions too - // however, it currently breaks the contents of the datatables since verified information is not aggregated by - // tool or workflow properly. - return body.rawOption('_source', { - excludes: [ - '*.content', - '*.sourceFiles', - 'description', - 'users', - 'workflowVersions.dirtyBit', - 'workflowVersions.hidden', - 'workflowVersions.last_modified', - 'workflowVersions.name', - 'workflowVersions.valid', - 'workflowVersions.workflow_path', - 'workflowVersions.workingDirectory', - 'workflowVersions.reference', - ], - }); + // These are the properties to return in the search to display the results table correctly + private sourceOptions(body: any) { + return body.rawOption('_source', [ + 'author', + 'descriptorType', + 'full_workflow_path', + 'gitUrl', + 'name', + 'namespace', + 'organization', + 'providerUrl', + 'repository', + 'starredUsers', + 'toolname', + 'tool_path', + 'verified', + 'workflowName', + ]); } getNumberOfFilters(filters: any) { @@ -103,7 +101,7 @@ export class QueryBuilderService { filters: any ): string { let tableBody = bodybuilder().size(query_size); - tableBody = this.excludeVerifiedContent(tableBody); + tableBody = this.sourceOptions(tableBody); tableBody = this.appendQuery(tableBody, values, advancedSearchObject, searchTerm); tableBody = this.appendFilter(tableBody, null, filters); const builtTableBody = tableBody.build(); @@ -111,9 +109,9 @@ export class QueryBuilderService { return tableQuery; } - getResultSingleIndexQuery(query_size: number, index: string): string { + getResultSingleIndexQuery(query_size: number, index: 'tools' | 'workflows'): string { let body = bodybuilder().size(query_size); - body = this.excludeVerifiedContent(body); + body = this.sourceOptions(body); body = body.query('match', '_index', index); const builtBody = body.build(); const singleIndexQuery = JSON.stringify(builtBody); diff --git a/src/app/search/search.component.ts b/src/app/search/search.component.ts index 17a2c35d58..48646e8570 100644 --- a/src/app/search/search.component.ts +++ b/src/app/search/search.component.ts @@ -18,7 +18,7 @@ import { MatAccordion } from '@angular/material/expansion'; import { ActivatedRoute, ParamMap } from '@angular/router'; import { faSortAlphaDown, faSortAlphaUp, faSortNumericDown, faSortNumericUp } from '@fortawesome/free-solid-svg-icons'; import { SearchResponse } from 'elasticsearch'; -import { Observable, Subject } from 'rxjs'; +import { forkJoin, Observable, Subject } from 'rxjs'; import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators'; import { formInputDebounceTime } from '../shared/constants'; import { AdvancedSearchObject, initialAdvancedSearchObject } from '../shared/models/AdvancedSearchObject'; @@ -430,35 +430,32 @@ export class SearchComponent implements OnInit, OnDestroy { /** * Updates the results table when there is no search term + * We need to send one request per index + * When each index returns its results, join the results into a single array and filter into table * - * @param {string} value the elastic search query + * @param {string} toolsQuery the elastic search query for tools index + * @param {string} workflowsQuery the elastic search query for workflows index * @memberof SearchComponent */ updateResultsTableSeparately(toolsQuery: string, workflowsQuery: string) { - let toolHits; - let workflowHits; - // Combine array of tools and workflows to filter into results table - ELASTIC_SEARCH_CLIENT.search({ + const tools = ELASTIC_SEARCH_CLIENT.search({ index: 'tools', type: 'entry', body: toolsQuery, - }) - .then((tools) => { - toolHits = tools.hits.hits; - ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: workflowsQuery, - }) - .then((workflows) => { - workflowHits = workflows.hits.hits; - this.hits = toolHits.concat(workflowHits); - const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); - this.searchService.setHits(filteredHits[0], filteredHits[1]); - }) - .catch((error) => console.log(error)); - }) - .catch((error) => console.log(error)); + }).catch((error) => console.log(error)); + const workflows = ELASTIC_SEARCH_CLIENT.search({ + index: 'tools', + type: 'entry', + body: workflowsQuery, + }).catch((error) => console.log(error)); + + forkJoin([tools, workflows]).subscribe((results: Array) => { + const toolHits = results[0].hits.hits; + const workflowHits = results[1].hits.hits; + this.hits = toolHits.concat(workflowHits); + const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); + this.searchService.setHits(filteredHits[0], filteredHits[1]); + }); } /**=============================================== diff --git a/src/app/search/state/search.query.ts b/src/app/search/state/search.query.ts index 198f8c9daf..fc5d001edc 100644 --- a/src/app/search/state/search.query.ts +++ b/src/app/search/state/search.query.ts @@ -65,7 +65,7 @@ export class SearchQuery extends Query { if (!tools || !workflows) { return this.TOOLS_TAB_INDEX; } - const param = this.route.snapshot.queryParams['_type']; + const param = this.route.snapshot.queryParams['_index']; if (tools.length === 0 && workflows.length > 0) { return this.WORKFLOWS_TAB_INDEX; diff --git a/src/app/test/service-stubs.ts b/src/app/test/service-stubs.ts index 28b0048e57..ab1af5906b 100644 --- a/src/app/test/service-stubs.ts +++ b/src/app/test/service-stubs.ts @@ -111,7 +111,7 @@ export class QueryBuilderStubService { ): string { return 'thisissomefakequery'; } - getResultSingleIndexQuery(query_size: number, index: string): string { + getResultSingleIndexQuery(query_size: number, index: 'tools' | 'workflows'): string { return 'thisissomefakequery'; } getNonVerifiedQuery(query_size: number, values: string, advancedSearchObject: AdvancedSearchObject, searchTerm: boolean, filters: any) { From bda83ecb0a8c2419d18f78e4042b5fdf61f55a52 Mon Sep 17 00:00:00 2001 From: nrzhao4 <50606789+nrzhao4@users.noreply.github.com> Date: Thu, 3 Dec 2020 16:15:20 -0500 Subject: [PATCH 005/119] update results table when facet selected (#1118) --- src/app/search/search.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/search/search.component.ts b/src/app/search/search.component.ts index 48646e8570..d1568fae92 100644 --- a/src/app/search/search.component.ts +++ b/src/app/search/search.component.ts @@ -368,7 +368,7 @@ export class SearchComponent implements OnInit, OnDestroy { this.filters, this.sortModeMap ); - if (!values) { + if (!values && this.filters.size === 0) { const toolsQuery = this.queryBuilderService.getResultSingleIndexQuery(this.query_size, 'tools'); const workflowsQuery = this.queryBuilderService.getResultSingleIndexQuery(this.query_size, 'workflows'); this.resetEntryOrder(); From d9e512c1facf7f15b33a4f5372e10255c4dcef33 Mon Sep 17 00:00:00 2001 From: latfariha <42546041+latfariha@users.noreply.github.com> Date: Fri, 4 Dec 2020 10:36:14 -0800 Subject: [PATCH 006/119] Added success message and methods (#1112) * added two methods: getIdOfNewestVersion, and getNewestVersion. Not sure if the former is necessary, also added detailed success message * here's the message, got split somehow * removed 'getIdOfNewestVersion' method and removed getNewestVersion method from both workflow and tool file editor to file-editing.ts * added 'or' statement in replacement of any keyword in getNewestVersion function * replaced some changes from when I was testing new variables * minor edits with imports and success message --- .../tool-file-editor/tool-file-editor.component.ts | 3 ++- src/app/shared/file-editing.ts | 8 ++++++++ .../workflow-file-editor.component.ts | 8 -------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/app/container/tool-file-editor/tool-file-editor.component.ts b/src/app/container/tool-file-editor/tool-file-editor.component.ts index 37076869ec..cfca4caaf5 100644 --- a/src/app/container/tool-file-editor/tool-file-editor.component.ts +++ b/src/app/container/tool-file-editor/tool-file-editor.component.ts @@ -113,7 +113,8 @@ export class ToolFileEditorComponent extends FileEditing { // Only stop editing when version change was successful (not 204) this.toggleEdit(); this.containerService.setTool(editedDockstoreTool); - this.alertService.detailedSuccess(); + const updatedVersion = this.getNewestVersion(editedDockstoreTool.workflowVersions); + this.alertService.detailedSuccess('Saved version ' + updatedVersion.name + ' of hosted entry ' + editedDockstoreTool.namespace); } else { // Probably encountered a 204 this.handleNoContentResponse(); diff --git a/src/app/shared/file-editing.ts b/src/app/shared/file-editing.ts index c8a20bbcad..0b5fdffd16 100644 --- a/src/app/shared/file-editing.ts +++ b/src/app/shared/file-editing.ts @@ -17,6 +17,7 @@ import { Directive } from '@angular/core'; import { AlertService } from './alert/state/alert.service'; import { Files } from './files'; +import { Tag, WorkflowVersion } from './swagger'; import { SourceFile } from './swagger/model/sourceFile'; @Directive() @@ -107,4 +108,11 @@ export class FileEditing extends Files { return newSourceFiles; } + /** + * Getting the newest workflowVersion based on the id + */ + + getNewestVersion(versions: Array): WorkflowVersion | Tag { + return versions.reduce((p, c) => (p.id > c.id ? p : c)); + } } diff --git a/src/app/workflow/workflow-file-editor/workflow-file-editor.component.ts b/src/app/workflow/workflow-file-editor/workflow-file-editor.component.ts index d83cdc50e3..6f717461a8 100644 --- a/src/app/workflow/workflow-file-editor/workflow-file-editor.component.ts +++ b/src/app/workflow/workflow-file-editor/workflow-file-editor.component.ts @@ -75,14 +75,6 @@ export class WorkflowFileEditorComponent extends FileEditing { getIdOfNewestVersion(versions: Array): number { return versions.reduce((max, n) => Math.max(max, n.id), this.versions[0].id); } - - /** - * Getting the newest workflowVersion based on the id - */ - getNewestVersion(versions: Array): WorkflowVersion { - return versions.reduce((p, c) => (p.id > c.id ? p : c)); - } - /** * Splits up the sourcefiles for the version into descriptor files and test parameter files */ From 75e1960be4461722fb6614b5f94fd664333dcfa6 Mon Sep 17 00:00:00 2001 From: nrzhao4 <50606789+nrzhao4@users.noreply.github.com> Date: Thu, 10 Dec 2020 13:55:47 -0500 Subject: [PATCH 007/119] Feature/2076/new tool tag and badges (#1116) * language badges * new tag cloud * fixed typo, added comments * remove unneeded variable * move badge styling to styles.scss --- .../search-results.component.html | 86 +++++++++++-------- .../search-results.component.scss | 34 ++++---- .../search-results.component.ts | 2 +- .../search-tool-table.component.html | 14 +-- .../search-workflow-table.component.html | 8 +- src/assets/images/dockstore/tag-cloud.svg | 23 +++++ src/styles.scss | 11 +++ 7 files changed, 118 insertions(+), 60 deletions(-) create mode 100644 src/assets/images/dockstore/tag-cloud.svg diff --git a/src/app/search/search-results/search-results.component.html b/src/app/search/search-results/search-results.component.html index 0ba7a83f16..dda9d41385 100644 --- a/src/app/search/search-results/search-results.component.html +++ b/src/app/search/search-results/search-results.component.html @@ -27,25 +27,34 @@
- -
- - +
+ +

A Tool uses a single container and performs a single action or step that is outlined by a descriptor

+
+
+ +
+ + +
+
- -

A tool is a docker container with an associated descriptor describing how to run it.

- -
+
@@ -56,25 +65,34 @@
- -
- - +
+ +

A Workflow can use multiple containers and executes multiple actions or steps, outlined by one or more descriptors

+
+
+ +
+ + +
+
- -

A workflow is a series of tools strung together, with an associated descriptor describing how to run it.

- -
+
diff --git a/src/app/search/search-results/search-results.component.scss b/src/app/search/search-results/search-results.component.scss index 205a5a8554..21709cdc23 100644 --- a/src/app/search/search-results/search-results.component.scss +++ b/src/app/search/search-results/search-results.component.scss @@ -23,33 +23,33 @@ mat-tab-group.homeComponent { .mat-tab-content { display: block; background-color: #fff; - margin: 3rem 1rem 2rem; + margin: 1rem 1rem 2rem; padding: 0.8rem; } +.tag-cloud-dropdown { + position: relative; + display: inline-block; +} + .tagCloud { - padding-left: 10%; - margin-bottom: 30px; - border-radius: 10px; - &.tool { - background-color: #f2faff; - box-shadow: 0 0 10px 0px #b0e0ee; - } - &.workflow { - background-color: #f2fffc; - box-shadow: 0 0 10px 0px #b0eed7; - } + position: absolute; + right: 0; + top: 3.5rem; + z-index: 1; + border-radius: 4px; + background-color: #fff; + box-shadow: 0 0 10px 0px #cfd1d7; } .tagCloud-btn { - width: 100%; + box-shadow: 1px 3px 5px 0px #cfd1d7; + color: #151c3d; + border: none; &.tool { - color: #2e629d; background-color: #aadeee; } &.workflow { - color: #198055; - background-color: #aaeed2; - border-color: #3fd999; + background-color: #b0f8e6; } } diff --git a/src/app/search/search-results/search-results.component.ts b/src/app/search/search-results/search-results.component.ts index 1fc13ec7a9..efc300f708 100644 --- a/src/app/search/search-results/search-results.component.ts +++ b/src/app/search/search-results/search-results.component.ts @@ -38,7 +38,7 @@ export class SearchResultsComponent extends Base implements OnInit { toolTagCloudData: Array; workflowTagCloudData: Array; options: CloudOptions = { - width: 600, + width: 500, height: 200, overflow: false, }; diff --git a/src/app/search/search-tool-table/search-tool-table.component.html b/src/app/search/search-tool-table/search-tool-table.component.html index a2efadb020..55bc02fcb7 100644 --- a/src/app/search/search-tool-table/search-tool-table.component.html +++ b/src/app/search/search-tool-table/search-tool-table.component.html @@ -49,11 +49,15 @@ Author {{ tool?.author || 'n/a' }} - - Format - {{ - tool?.descriptorType ? (tool?.descriptorType.toString() | uppercase) : '' - }} + + Format + +
+ + {{ language ? (language.toString() | uppercase) : '' }} + +
+
Project Links diff --git a/src/app/search/search-workflow-table/search-workflow-table.component.html b/src/app/search/search-workflow-table/search-workflow-table.component.html index 3c22805b12..d944a475e9 100644 --- a/src/app/search/search-workflow-table/search-workflow-table.component.html +++ b/src/app/search/search-workflow-table/search-workflow-table.component.html @@ -34,9 +34,11 @@ Format - {{ - workflow?.descriptorType | uppercase - }} + +
+ {{ workflow?.descriptorType | uppercase }} +
+
Project Links diff --git a/src/assets/images/dockstore/tag-cloud.svg b/src/assets/images/dockstore/tag-cloud.svg new file mode 100644 index 0000000000..64677053e5 --- /dev/null +++ b/src/assets/images/dockstore/tag-cloud.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/styles.scss b/src/styles.scss index f0e9705588..7bcd7efdb1 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1269,3 +1269,14 @@ mat-tab-group.no-pagination { font-size: smaller; color: rgba(0, 0, 0, 0.54); } + +// Styling from design mockups +// These badges are not clickable, thus different from Material Design Chips +.nonclick-badge { + border-radius: 8px; + background-color: #dfe0e2; + padding: 5px 8px; + color: #151c3d; + font-size: 1.3rem; + font-weight: 500; +} From d79e607ff1120c1891c9b07d59f29b2d2dbf835e Mon Sep 17 00:00:00 2001 From: nrzhao4 <50606789+nrzhao4@users.noreply.github.com> Date: Fri, 11 Dec 2020 12:20:26 -0500 Subject: [PATCH 008/119] changed tag cloud to popular keywords (#1122) --- cypress/integration/manualTests/basic-enduser.ts | 4 ++-- src/app/search/search-results/search-results.component.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cypress/integration/manualTests/basic-enduser.ts b/cypress/integration/manualTests/basic-enduser.ts index 803891f7f1..8449741b22 100644 --- a/cypress/integration/manualTests/basic-enduser.ts +++ b/cypress/integration/manualTests/basic-enduser.ts @@ -111,9 +111,9 @@ describe('Test search page functionality', () => { }); it('has working tag cloud', () => { cy.get('[data-cy=tagCloud]').should('not.exist'); - cy.contains('button', 'Tag Cloud').click(); + cy.contains('button', 'Popular Keywords').click(); cy.get('[data-cy=tagCloud]').should('exist'); - cy.contains('button', 'Tag Cloud').click(); + cy.contains('button', 'Popular Keywords').click(); cy.get('[data-cy=tagCloud]').should('not.exist'); }); it('searches', () => { diff --git a/src/app/search/search-results/search-results.component.html b/src/app/search/search-results/search-results.component.html index dda9d41385..5069a48d48 100644 --- a/src/app/search/search-results/search-results.component.html +++ b/src/app/search/search-results/search-results.component.html @@ -41,7 +41,7 @@
-
+
Date: Wed, 16 Dec 2020 11:12:41 -0800 Subject: [PATCH 009/119] made some minor changes to the detailed success message (#1121) * made some minor changes to the detailed success message * changed "hosted entry" to "hosted tool" * added conditional operator to toolname * changed null to an empty string --- .../tool-file-editor/tool-file-editor.component.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/container/tool-file-editor/tool-file-editor.component.ts b/src/app/container/tool-file-editor/tool-file-editor.component.ts index cfca4caaf5..f0c0e2c4ce 100644 --- a/src/app/container/tool-file-editor/tool-file-editor.component.ts +++ b/src/app/container/tool-file-editor/tool-file-editor.component.ts @@ -114,7 +114,13 @@ export class ToolFileEditorComponent extends FileEditing { this.toggleEdit(); this.containerService.setTool(editedDockstoreTool); const updatedVersion = this.getNewestVersion(editedDockstoreTool.workflowVersions); - this.alertService.detailedSuccess('Saved version ' + updatedVersion.name + ' of hosted entry ' + editedDockstoreTool.namespace); + this.alertService.detailedSuccess( + 'Saved version ' + + updatedVersion.name + + ' of hosted tool ' + + editedDockstoreTool.name + + (editedDockstoreTool.toolname ? '/' + editedDockstoreTool.toolname : '') + ); } else { // Probably encountered a 204 this.handleNoContentResponse(); From 224a3d64d9c232604ffee1922e83825818c083fa Mon Sep 17 00:00:00 2001 From: Gary Luu Date: Fri, 18 Dec 2020 13:32:31 -0500 Subject: [PATCH 010/119] Feature/seab 2017/angular10 (#1123) * Add ngcc postinstall * Remove all occurances of entryComponents, not needed in 10 * npx ng update @angular/core@10 @angular/cli@10 rxjs-tslint-rules --force * npx ng update @angular/material@10 @angular/flex-layout@10.0.0-beta.32 @material-extended/mde@latest --force * npm i typescript@~4.0.0 * Revert previous directive name change, add directive decorator to others * npm i ngx-window-token@latest * npm i tslib@^1.10.0 * npm i angular-tag-cloud-module@latest * npm i codelyzer@latest ngx-markdown@^10.0.0 * npm i @fortawesome/angular-fontawesome@latest * npm i rxjs@^6.5.5 * npm i tsutils-etc@1.3.2 tsutils@^3.0.0 * npm i @fortawesome/angular-fontawesome@~0.7.0 * npm i tsutils@^3.0.0 * Remove TODO * Update tslint, remove rxjs-tslint * npm i ngx-clipboard@latest tslib@^2.0.0 * Fix tslint? --- browserslist => .browserslistrc | 0 package-lock.json | 7215 +++++++++-------- package.json | 72 +- src/app/app.component.spec.ts | 53 +- src/app/app.module.ts | 7 +- src/app/banner/banner.component.spec.ts | 16 +- .../confirmation-dialog.component.ts | 2 +- .../descriptors/descriptors.component.spec.ts | 34 +- .../dockerfile/dockerfile.component.spec.ts | 26 +- ...efresh-tool-organization.component.spec.ts | 30 +- .../tool-file-editor.component.spec.ts | 72 +- .../version-modal.component.spec.ts | 36 +- src/app/docs/docs.component.spec.ts | 16 +- src/app/footer/footer.component.spec.ts | 18 +- src/app/funding/funding.component.spec.ts | 16 +- src/app/header/header.component.spec.ts | 18 +- .../home-logged-in.component.spec.ts | 21 +- .../home-logged-out/home.component.spec.ts | 20 +- src/app/home-page/home-page.component.spec.ts | 18 +- src/app/home-page/home-page.module.ts | 1 - .../widget/entries/entries.component.spec.ts | 16 +- src/app/home-page/widget/filtered-list.ts | 4 +- .../getting-started.component.spec.ts | 16 +- .../news-updates.component.spec.ts | 16 +- .../organizations.component.spec.ts | 16 +- .../requests/requests.component.spec.ts | 18 +- .../custom-header.interceptor.spec.ts | 2 +- src/app/login/login.component.spec.ts | 30 +- .../controls/controls.component.spec.ts | 26 +- .../delete-account-dialog.component.spec.ts | 36 +- .../change-username.component.spec.ts | 46 +- .../auth/auth.component.spec.ts | 24 +- .../downloadcliclient.component.spec.ts | 42 +- src/app/loginComponents/requests.module.ts | 1 - .../requests/requests.component.ts | 2 +- src/app/logout/logout.component.spec.ts | 14 +- .../maintenance/maintenance.component.spec.ts | 18 +- src/app/mytools/mytools.module.ts | 1 - .../sidebar-accordion.component.spec.ts | 42 +- .../my-workflow/my-workflow.component.spec.ts | 60 +- .../github-apps-logs.module.ts | 1 - .../sidebar-accordion.component.spec.ts | 48 +- src/app/navbar/navbar.component.spec.ts | 29 +- .../collection/add-entry.module.ts | 1 - .../add-entry/add-entry.component.ts | 2 +- .../collection/collection.component.ts | 2 +- src/app/organizations/collections.module.ts | 1 - .../collections/create-collection.module.ts | 1 - .../organization-stargazers.component.spec.ts | 27 +- .../organization-starring.component.spec.ts | 32 +- .../update-organization-description.module.ts | 1 - .../register-organization.module.ts | 1 - .../upsert-organization-member.module.ts | 1 - .../basic-search.component.spec.ts | 20 +- src/app/search/query-builder.service.spec.ts | 2 +- .../search-results.component.spec.ts | 26 +- .../search-tool-table.component.spec.ts | 30 +- .../search-workflow-table.component.spec.ts | 28 +- src/app/search/search.component.spec.ts | 28 +- src/app/search/search.module.ts | 1 - src/app/select/select.component.spec.ts | 16 +- .../shared-workflow-services.module.ts | 1 - src/app/shared/alert/alert.component.spec.ts | 16 +- src/app/shared/available-logs.module.ts | 1 - src/app/shared/base.ts | 4 +- .../code-editor-list.component.spec.ts | 44 +- .../code-editor/code-editor.component.spec.ts | 14 +- src/app/shared/entry/commit-url.pipe.spec.ts | 1 - src/app/shared/entry/entry.module.ts | 1 - ...ab-checker-workflow-path.component.spec.ts | 26 +- .../launch-checker-workflow.component.spec.ts | 18 +- ...egister-checker-workflow.component.spec.ts | 30 +- .../verified-by/verified-by.component.spec.ts | 17 +- .../verified-display.component.spec.ts | 16 +- .../entry/versionProviderUrl.pipe.spec.ts | 3 - .../shared/loading/loading.component.spec.ts | 18 +- .../markdown-wrapper.component.spec.ts | 129 +- src/app/shared/modules/container.module.ts | 1 - .../shared/modules/markdown-wrapper.module.ts | 1 - src/app/shared/modules/workflow.module.ts | 1 - .../shared/selectors/entry-file-selector.ts | 4 +- src/app/sitemap/sitemap.component.spec.ts | 16 +- .../source-file-tabs.component.spec.ts | 26 +- src/app/sponsors/sponsors.component.spec.ts | 18 +- .../stargazers/stargazers.component.spec.ts | 26 +- .../starredentries.component.spec.ts | 30 +- src/app/starring/starring.component.spec.ts | 30 +- .../cwl-viewer/cwl-viewer.component.spec.ts | 20 +- src/app/workflow/dag/dag.component.spec.ts | 30 +- .../wdl-viewer/wdl-viewer.component.spec.ts | 2 +- .../descriptors/descriptors.component.spec.ts | 30 +- .../workflow/files/files.component.spec.ts | 24 +- .../launch-third-party.component.spec.ts | 20 +- .../workflow/launch/launch.component.spec.ts | 32 +- .../paramfiles/paramfiles.component.spec.ts | 30 +- .../permissions/permissions.component.spec.ts | 26 +- ...sh-workflow-organization.component.spec.ts | 32 +- .../tool-tab/tool-tab.component.spec.ts | 24 +- .../versions/versions.component.spec.ts | 52 +- src/app/workflow/view/view.component.spec.ts | 36 +- .../workflow-file-editor.component.spec.ts | 70 +- tsconfig.json | 4 +- tslint.json | 8 +- 103 files changed, 5148 insertions(+), 4203 deletions(-) rename browserslist => .browserslistrc (100%) diff --git a/browserslist b/.browserslistrc similarity index 100% rename from browserslist rename to .browserslistrc diff --git a/package-lock.json b/package-lock.json index 09af3fc4f3..5491d2bde8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,32 +5,32 @@ "requires": true, "dependencies": { "@angular-devkit/architect": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.9.tgz", - "integrity": "sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA==", + "version": "0.1002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1002.0.tgz", + "integrity": "sha512-twM8V03ujBIGVpgV1PBlSDodUdxtUb7WakutfWafAvEHUsgwzfvQz2VtKWvjNZ9AiYjnCuwkQaclqVv0VHNo9w==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "rxjs": "6.5.4" + "@angular-devkit/core": "10.2.0", + "rxjs": "6.6.2" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -58,12 +58,20 @@ "dev": true }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "source-map": { @@ -75,115 +83,119 @@ } }, "@angular-devkit/build-angular": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.9.tgz", - "integrity": "sha512-eC6iZQR5tr9dz/SkR3/3Y8Fau/2IzEfHlFCf2mqsOLkbc0MWyM/3RcuZQhRGdVOyzDCIbfzJGY0N3ejkEn2EUg==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.9", - "@angular-devkit/build-optimizer": "0.901.9", - "@angular-devkit/build-webpack": "0.901.9", - "@angular-devkit/core": "9.1.9", - "@babel/core": "7.9.0", - "@babel/generator": "7.9.3", - "@babel/preset-env": "7.9.0", - "@babel/template": "7.8.6", - "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "9.1.9", - "ajv": "6.12.0", - "autoprefixer": "9.7.4", - "babel-loader": "8.0.6", + "version": "0.1002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1002.0.tgz", + "integrity": "sha512-cPkdp1GceokGHc79Wg0hACMqqmnJ4W3H9kY4c9qp1Xz18b3vk1aq09JNawOpfUN09S9vBCnn4glg22lRyqmJNA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1002.0", + "@angular-devkit/build-optimizer": "0.1002.0", + "@angular-devkit/build-webpack": "0.1002.0", + "@angular-devkit/core": "10.2.0", + "@babel/core": "7.11.1", + "@babel/generator": "7.11.0", + "@babel/plugin-transform-runtime": "7.11.0", + "@babel/preset-env": "7.11.0", + "@babel/runtime": "7.11.2", + "@babel/template": "7.10.4", + "@jsdevtools/coverage-istanbul-loader": "3.0.5", + "@ngtools/webpack": "10.2.0", + "autoprefixer": "9.8.6", + "babel-loader": "8.1.0", "browserslist": "^4.9.1", - "cacache": "15.0.0", + "cacache": "15.0.5", "caniuse-lite": "^1.0.30001032", "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "6.0.2", + "copy-webpack-plugin": "6.0.3", "core-js": "3.6.4", - "css-loader": "3.5.1", + "css-loader": "4.2.2", "cssnano": "4.1.10", "file-loader": "6.0.0", "find-cache-dir": "3.3.1", "glob": "7.1.6", - "jest-worker": "25.1.0", + "jest-worker": "26.3.0", "karma-source-map-support": "1.4.0", - "less": "3.11.3", - "less-loader": "5.0.0", - "license-webpack-plugin": "2.1.4", + "less-loader": "6.2.0", + "license-webpack-plugin": "2.3.0", "loader-utils": "2.0.0", - "mini-css-extract-plugin": "0.9.0", + "mini-css-extract-plugin": "0.10.0", "minimatch": "3.0.4", - "open": "7.0.3", - "parse5": "4.0.0", - "postcss": "7.0.27", + "open": "7.2.0", + "parse5": "6.0.1", + "parse5-htmlparser2-tree-adapter": "6.0.1", + "pnp-webpack-plugin": "1.6.4", + "postcss": "7.0.32", "postcss-import": "12.0.1", "postcss-loader": "3.0.0", - "raw-loader": "4.0.0", - "regenerator-runtime": "0.13.5", + "raw-loader": "4.0.1", + "regenerator-runtime": "0.13.7", + "resolve-url-loader": "3.1.2", "rimraf": "3.0.2", - "rollup": "2.1.0", - "rxjs": "6.5.4", - "sass": "1.26.3", - "sass-loader": "8.0.2", - "semver": "7.1.3", + "rollup": "2.26.5", + "rxjs": "6.6.2", + "sass": "1.26.10", + "sass-loader": "10.0.1", + "semver": "7.3.2", "source-map": "0.7.3", - "source-map-loader": "0.2.4", - "speed-measure-webpack-plugin": "1.3.1", - "style-loader": "1.1.3", - "stylus": "0.54.7", + "source-map-loader": "1.0.2", + "source-map-support": "0.5.19", + "speed-measure-webpack-plugin": "1.3.3", + "style-loader": "1.2.1", + "stylus": "0.54.8", "stylus-loader": "3.0.2", - "terser": "4.6.10", - "terser-webpack-plugin": "3.0.3", + "terser": "5.3.0", + "terser-webpack-plugin": "4.1.0", "tree-kill": "1.2.2", - "webpack": "4.42.0", + "webpack": "4.44.1", "webpack-dev-middleware": "3.7.2", "webpack-dev-server": "3.11.0", "webpack-merge": "4.2.2", "webpack-sources": "1.4.3", - "webpack-subresource-integrity": "1.4.0", - "worker-plugin": "4.0.3" + "webpack-subresource-integrity": "1.4.1", + "worker-plugin": "5.0.0" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.1.tgz", + "integrity": "sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.0", + "@babel/helper-module-transforms": "^7.11.0", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.11.1", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.11.0", + "@babel/types": "^7.11.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", - "lodash": "^4.17.13", + "lodash": "^4.17.19", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" @@ -204,14 +216,13 @@ } }, "@babel/generator": { - "version": "7.9.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz", - "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.0.tgz", + "integrity": "sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==", "dev": true, "requires": { - "@babel/types": "^7.9.0", + "@babel/types": "^7.11.0", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" }, "dependencies": { @@ -224,353 +235,264 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", - "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.12.10" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz", - "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-define-map": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz", - "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.3", - "@babel/types": "^7.10.3", - "lodash": "^4.17.13" + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz", - "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", "dev": true, "requires": { - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.1" } }, "@babel/helper-function-name": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", - "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.3", - "@babel/template": "^7.10.3", - "@babel/types": "^7.10.3" - }, - "dependencies": { - "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - } + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-get-function-arity": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", - "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.10" } }, "@babel/helper-hoist-variables": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz", - "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz", - "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.7" } }, "@babel/helper-module-imports": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz", - "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.5" } }, "@babel/helper-module-transforms": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", - "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - } + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz", - "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.10" } }, "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true }, - "@babel/helper-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", - "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, "@babel/helper-remap-async-to-generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz", - "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-wrap-function": "^7.10.1", - "@babel/template": "^7.10.3", - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3" - }, - "dependencies": { - "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - } + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" } }, "@babel/helper-replace-supers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", - "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, "@babel/helper-simple-access": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", - "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - } + "@babel/types": "^7.12.1" } }, "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.11.0" } }, "@babel/helper-wrap-function": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", - "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - } + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helpers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", - "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" - } - } + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", - "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz", - "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", + "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-remap-async-to-generator": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", - "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", - "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz", - "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.1" + "@babel/plugin-transform-parameters": "^7.12.1" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", - "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", - "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-async-generators": { @@ -619,364 +541,369 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", - "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", - "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", - "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", - "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", + "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-classes": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz", - "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-define-map": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-optimise-call-expression": "^7.10.3", - "@babel/helper-plugin-utils": "^7.10.3", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz", - "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-destructuring": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", - "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", - "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", - "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", - "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-for-of": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", - "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", - "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", - "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", - "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", - "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", - "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz", - "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.3", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", - "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz", - "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", - "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-object-super": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", - "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", - "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-property-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", - "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-regenerator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz", - "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", - "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", - "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", - "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-regex": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-template-literals": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz", - "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", - "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", - "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", - "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.0.tgz", + "integrity": "sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.11.0", + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-async-generator-functions": "^7.10.4", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-dynamic-import": "^7.10.4", + "@babel/plugin-proposal-export-namespace-from": "^7.10.4", + "@babel/plugin-proposal-json-strings": "^7.10.4", + "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-numeric-separator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.11.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", + "@babel/plugin-proposal-optional-chaining": "^7.11.0", + "@babel/plugin-proposal-private-methods": "^7.10.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.10.4", + "@babel/plugin-transform-arrow-functions": "^7.10.4", + "@babel/plugin-transform-async-to-generator": "^7.10.4", + "@babel/plugin-transform-block-scoped-functions": "^7.10.4", + "@babel/plugin-transform-block-scoping": "^7.10.4", + "@babel/plugin-transform-classes": "^7.10.4", + "@babel/plugin-transform-computed-properties": "^7.10.4", + "@babel/plugin-transform-destructuring": "^7.10.4", + "@babel/plugin-transform-dotall-regex": "^7.10.4", + "@babel/plugin-transform-duplicate-keys": "^7.10.4", + "@babel/plugin-transform-exponentiation-operator": "^7.10.4", + "@babel/plugin-transform-for-of": "^7.10.4", + "@babel/plugin-transform-function-name": "^7.10.4", + "@babel/plugin-transform-literals": "^7.10.4", + "@babel/plugin-transform-member-expression-literals": "^7.10.4", + "@babel/plugin-transform-modules-amd": "^7.10.4", + "@babel/plugin-transform-modules-commonjs": "^7.10.4", + "@babel/plugin-transform-modules-systemjs": "^7.10.4", + "@babel/plugin-transform-modules-umd": "^7.10.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", + "@babel/plugin-transform-new-target": "^7.10.4", + "@babel/plugin-transform-object-super": "^7.10.4", + "@babel/plugin-transform-parameters": "^7.10.4", + "@babel/plugin-transform-property-literals": "^7.10.4", + "@babel/plugin-transform-regenerator": "^7.10.4", + "@babel/plugin-transform-reserved-words": "^7.10.4", + "@babel/plugin-transform-shorthand-properties": "^7.10.4", + "@babel/plugin-transform-spread": "^7.11.0", + "@babel/plugin-transform-sticky-regex": "^7.10.4", + "@babel/plugin-transform-template-literals": "^7.10.4", + "@babel/plugin-transform-typeof-symbol": "^7.10.4", + "@babel/plugin-transform-unicode-escapes": "^7.10.4", + "@babel/plugin-transform-unicode-regex": "^7.10.4", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", + "@babel/types": "^7.11.0", + "browserslist": "^4.12.0", "core-js-compat": "^3.6.2", "invariant": "^2.2.2", "levenary": "^1.1.1", @@ -992,42 +919,41 @@ } }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/traverse": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", - "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/generator": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" + "lodash": "^4.17.19" }, "dependencies": { "@babel/generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", - "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", "dev": true, "requires": { - "@babel/types": "^7.10.3", + "@babel/types": "^7.12.10", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" } }, @@ -1040,20 +966,20 @@ } }, "@babel/types": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", - "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1062,51 +988,6 @@ "uri-js": "^4.2.2" } }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", @@ -1123,21 +1004,22 @@ "dev": true }, "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "caniuse-lite": { - "version": "1.0.30001087", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001087.tgz", - "integrity": "sha512-KAQRGtt+eGCQBSp2iZTQibdCf9oe6cNTi5lmpsW38NnxP4WMYzfU6HCRmh4kJyh6LrTM9/uyElK4xcO93kafpg==", + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", "dev": true }, "convert-source-map": { @@ -1156,12 +1038,12 @@ "dev": true }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", + "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.15.0", "semver": "7.0.0" }, "dependencies": { @@ -1174,18 +1056,18 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "electron-to-chromium": { - "version": "1.3.481", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.481.tgz", - "integrity": "sha512-q2PeCP2PQXSYadDo9uNY+uHXjdB9PcsUpCVoGlY8TZOPHGlXdevlqW9PkKeqCxn2QBkGB8b6AcMO++gh8X82bA==", + "version": "1.3.623", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.623.tgz", + "integrity": "sha512-CgbWTyPmJ4f9pqtqR+HPL3O0ay6BRhnpFD52TqBB2K8kTAcmAar2e93Vo1q651E4vnCHuTDuZDdbj0sTMP2QQw==", "dev": true }, "emojis-list": { @@ -1258,12 +1140,6 @@ "json5": "^2.1.2" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1271,43 +1147,41 @@ "dev": true }, "node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", "dev": true }, "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { - "glob": "^7.1.3" + "@babel/runtime": "^7.8.4" } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "source-map": { @@ -1315,19 +1189,37 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } } } }, "@angular-devkit/build-optimizer": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz", - "integrity": "sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ==", + "version": "0.1002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.0.tgz", + "integrity": "sha512-ACnm9doPMbRtSy1UZN5ir7smeLMx0g0oW7jX3jyPepeQKZ+9U1Bn09t10NLZQH+Z509jWZgvNJH/aOh85P6euw==", "dev": true, "requires": { "loader-utils": "2.0.0", "source-map": "0.7.3", - "tslib": "1.11.1", - "typescript": "3.6.5", + "tslib": "2.0.1", + "typescript": "4.0.2", "webpack-sources": "1.4.3" }, "dependencies": { @@ -1363,12 +1255,6 @@ "json5": "^2.1.2" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -1376,47 +1262,47 @@ "dev": true }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", "dev": true }, "typescript": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz", - "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", "dev": true } } }, "@angular-devkit/build-webpack": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.9.tgz", - "integrity": "sha512-Bha9LruitixhtJm72FGzqfDfgsOsrMT3EbNSql2muyoELIYbLDOvNZjcDD06CPcOAWSg6/tH9caOTFS2Zj9yOw==", + "version": "0.1002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1002.0.tgz", + "integrity": "sha512-TLBBQ6ANOLKXOPxpCOnxAtoknwHA7XhsLuueN06w5qqF+QNNbWUMPoieKFGs2TnotfCgbiq6x57IDEZTyT6V0w==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.9", - "@angular-devkit/core": "9.1.9", - "rxjs": "6.5.4" + "@angular-devkit/architect": "0.1002.0", + "@angular-devkit/core": "10.2.0", + "rxjs": "6.6.2" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1444,12 +1330,20 @@ "dev": true }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "source-map": { @@ -1498,6 +1392,13 @@ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "source-map": { @@ -1522,21 +1423,39 @@ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } } } }, "@angular/animations": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.11.tgz", - "integrity": "sha512-VKAExUnEJfo1PDQKagpx2pn+QMZCsPLRiADzTdl4U0VPylK3ALbn4ZNY9UbdwyE2plitz++LkH7sEGGfh+PNrQ==" + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-10.2.3.tgz", + "integrity": "sha512-UP3aynCSkFqEJfZ9bQMyBIVo4mm5EuIHL6NfMqhqLQankKKnc25Pi3a7heq0xzV1EoAxGSd3UBn36Y8Jjav2fg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/cdk": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz", - "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==", + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-10.2.7.tgz", + "integrity": "sha512-ZQjDfTRTn7JuAKsf3jiIdU2XBaxxGBi/ZWYv5Pb3HCl6B4PISsIE5VWRhkoUogoAB0MiFHpjnWeIqknJEm11YQ==", "requires": { - "parse5": "^5.0.0" + "parse5": "^5.0.0", + "tslib": "^2.0.0" }, "dependencies": { "parse5": { @@ -1544,65 +1463,70 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", "optional": true + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" } } }, "@angular/cli": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.9.tgz", - "integrity": "sha512-k8C0OY3oHoixd3buCgF8+VFe8YZGSGiprnbVMEF2WJHUUw87lPCu/d7dbID3AtVwdKdAB275rAt6IZEIzXInbw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-10.2.0.tgz", + "integrity": "sha512-YBzwkFBmG6CdUJk8onsPXxHX/ByU5MERBQgYhLC873e2nZlXMUu+Ttq2Wai6apyskGvsXKxZNPOQSFZTGKXzXg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.901.9", - "@angular-devkit/core": "9.1.9", - "@angular-devkit/schematics": "9.1.9", - "@schematics/angular": "9.1.9", - "@schematics/update": "0.901.9", + "@angular-devkit/architect": "0.1002.0", + "@angular-devkit/core": "10.2.0", + "@angular-devkit/schematics": "10.2.0", + "@schematics/angular": "10.2.0", + "@schematics/update": "0.1002.0", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.1.1", "ini": "1.3.5", - "inquirer": "7.1.0", + "inquirer": "7.3.3", "npm-package-arg": "8.0.1", - "npm-pick-manifest": "6.0.0", - "open": "7.0.3", + "npm-pick-manifest": "6.1.0", + "open": "7.2.0", "pacote": "9.5.12", "read-package-tree": "5.3.1", "rimraf": "3.0.2", - "semver": "7.1.3", + "semver": "7.3.2", "symbol-observable": "1.2.0", - "universal-analytics": "0.4.20", - "uuid": "7.0.2" + "universal-analytics": "0.4.23", + "uuid": "8.3.0" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "@angular-devkit/schematics": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz", - "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.2.0.tgz", + "integrity": "sha512-TQI5NnE6iM3ChF5gZQ9qb+lZgMWa7aLoF5ksOyT3zrmOuICiQYJhA6SsjV95q7J4M55qYymwBib8KTqU/xuQww==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "ora": "4.0.3", - "rxjs": "6.5.4" + "@angular-devkit/core": "10.2.0", + "ora": "5.0.0", + "rxjs": "6.6.2" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1638,27 +1562,13 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", + "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==", "dev": true, "requires": { - "lru-cache": "^5.1.1" + "lru-cache": "^6.0.0" } }, "json-schema-traverse": { @@ -1667,19 +1577,10 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "npm-package-arg": { @@ -1693,28 +1594,27 @@ "validate-npm-package-name": "^3.0.0" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "source-map": { @@ -1724,33 +1624,47 @@ "dev": true }, "uuid": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", - "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==", "dev": true } } }, "@angular/common": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.11.tgz", - "integrity": "sha512-Vh5lF7zWwDK9RedmYXUc8vUXyrecR3j1mAWlTlnmcHYxxFThPzN/dr0slQcPi6nyJn0EmyRKUGvAoZx4rIb7wg==" + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-10.2.3.tgz", + "integrity": "sha512-xKKN8bgdudktVC/gwUtdeS2khYqSENWQe1CS8nE0V88qKCftwPhCD5Ovp6+6LflqvQhJWb0guf7HXjq9oBqO2w==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/compiler": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.11.tgz", - "integrity": "sha512-MbVheCG0U8gt6xtiipau20N26mD2sXjLChVmRKgO6rbDruxboNMZfEd94q9NP9JRaUsVnjXvY7GMDldoymdXig==" + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-10.2.3.tgz", + "integrity": "sha512-Bg+QbyvJVlfGQpJCagEMkkqoRi2LMQc8iuu+cVYVqQOETLO0LxmkPpMQ/7pRLTNWl36PoYEB7IjUkp+qng8xKg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/compiler-cli": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.11.tgz", - "integrity": "sha512-9qIxbtpRXOQnRm6inxCa5HuH87MSuMzuceD0YBVzl8v+vLtewon9KXYMmF4kTBhWa/LEa8FrajljLh0azf3VLg==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-10.2.3.tgz", + "integrity": "sha512-29RL/lIbHpjoWMUz23cyRcyG50PXqvxlLk0IpyCUWDVtPp6Hc8S/JayxeSwxNST79miDobGaeiGmS0JHuCouVQ==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -1764,6 +1678,7 @@ "semver": "^6.3.0", "source-map": "^0.6.1", "sourcemap-codec": "^1.4.8", + "tslib": "^2.0.0", "yargs": "15.3.0" }, "dependencies": { @@ -1774,12 +1689,11 @@ "dev": true }, "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -1851,12 +1765,6 @@ "p-locate": "^4.1.0" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -1904,6 +1812,12 @@ "ansi-regex": "^5.0.0" } }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -1947,54 +1861,132 @@ } }, "@angular/core": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.11.tgz", - "integrity": "sha512-KAlEedBo761O1aeoTJVziOSHi8Fttk9ipvbDZXYT/o0W/KdVwubxP34g9t5aD8LCcF8+L0z4VLw++HjdJAUpwg==" + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-10.2.3.tgz", + "integrity": "sha512-mE6nLpul/IJllk0VYrlrP69n0P7JPz+BHYAVobwO5+0EGO65ieTD18DxzfEt4eQgthnM3VQwSZxjW4n9Y1p/dQ==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/flex-layout": { - "version": "9.0.0-beta.31", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz", - "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA==" + "version": "10.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-10.0.0-beta.32.tgz", + "integrity": "sha512-JvuY4dUoy5jyCTIrFiq7n30Znakh1pD3nbg0h0hs2r3t1OiDQb0ZSI1wcumosG/vYHsuJQTuNhbfaIZzA1x8nA==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/forms": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.11.tgz", - "integrity": "sha512-t4WHrh6ot1r8zdV+3fJz7g9rCok77c9CiIevhH2dR/idxD+HtFR0wqmcBQzsn+rNVB0f0TiSHDrj+TeELIFyWw==" + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-10.2.3.tgz", + "integrity": "sha512-IcQ0xK+f84khGAs6cd0BUJIebFV3KQsVF9kbAX10bpPmleI62xI074mIefAiu3ZLEOm3OnhYDDZwrrk7UIrmow==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/language-service": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.11.tgz", - "integrity": "sha512-jfm4etbqldj6MTwECwyoAs7tXEAR8K/8P8dBZnsELhY+V8oFidTJI3NY52PB3Ym7leSPorYdOAeUMMuQfPaVxg==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-10.2.3.tgz", + "integrity": "sha512-8rtNG3HjBdUMlKcakh6gDfFvYSS5X16ymbVR0i2L/Nc4d9HuqgKrIrsNY4We/jSBoAjo/CGS8AvbscMa8oW4Eg==", "dev": true }, "@angular/material": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz", - "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA==" + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-10.2.7.tgz", + "integrity": "sha512-uk6JkRrKHaM9VFMzX7pWC83YNLVgXPB3D8U1yjSOafCdWwrRZgUHGr8MPlSILCr3o2nxgg5SsKdWcWwHuXXUZA==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@angular/platform-browser": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.11.tgz", - "integrity": "sha512-KDxoiFhW4UD+EqchcKpQVSLwg9Rd3JbWytZLchFV6nH8BFnshfJtw2tyPT8bMhFVG9n9zSR4QSGaozWgoDs9mw==" - }, - "@angular/platform-browser-dynamic": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.11.tgz", - "integrity": "sha512-Qw3rfVFF0Wtu+UwraqKPCgTA3uoNPGf4vKSfuCuXTrG0p7j+3mCP59aUv5gGH7GV1UQ++jZRx5pbWF43zrC8Hw==" - }, + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.2.3.tgz", + "integrity": "sha512-ElTuRF4SWhYxJypDlaa/n49DrqrWV2tYU5kkgF+VNbVbvzKHnVEZe4x1KSWrEzIyewcjxwwE6ZF0oXMdd4AZQQ==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@angular/platform-browser-dynamic": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.2.3.tgz", + "integrity": "sha512-ujwcGzlWQ6S83iHIF3ArfDn8ik8YETZcuSMCTxjaNv8kwEqiRzchZDkheJpoH9HyddnM6UVGL6D/5k11TMWTew==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, "@angular/platform-server": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-9.1.11.tgz", - "integrity": "sha512-eHqlbtDHvYZIxtY6iKYpuRg9vTw5JoEH1M5rna2YDPI1MOnDdNhmpupIF6M3jnNAzN6xsh4X4wxW3PYHJVJviA==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-10.2.3.tgz", + "integrity": "sha512-iYs1fsdEio3TdN4HlZw0HNSmpGbTs/+FozVePP7m+k5ozjyxBg1J5kF9R/RSaT9Zqhyw54G3DE/KJ0tnOGUtdA==", "requires": { "domino": "^2.1.2", + "tslib": "^2.0.0", "xhr2": "^0.2.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } } }, "@angular/router": { - "version": "9.1.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.11.tgz", - "integrity": "sha512-D6CCDeSK/F6dWSB/a1g/zB072xG5LadLSV8afQ57oX1KHePx21LcoRG4tUtFMMHh/jZXRc9pMQIR1/9FrrXF3Q==" + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-10.2.3.tgz", + "integrity": "sha512-QUVqEOai3hASeMgTXIVo9Ql6EGJ+v0QHs/O+5pFplXGAzMQDpCnrpOuB4FExWxdafiiYfKfLlNvxj0tEJ2gU0w==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@babel/code-frame": { "version": "7.0.0", @@ -2006,56 +1998,10 @@ } }, "@babel/compat-data": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz", - "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, - "dependencies": { - "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001087", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001087.tgz", - "integrity": "sha512-KAQRGtt+eGCQBSp2iZTQibdCf9oe6cNTi5lmpsW38NnxP4WMYzfU6HCRmh4kJyh6LrTM9/uyElK4xcO93kafpg==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.481", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.481.tgz", - "integrity": "sha512-q2PeCP2PQXSYadDo9uNY+uHXjdB9PcsUpCVoGlY8TZOPHGlXdevlqW9PkKeqCxn2QBkGB8b6AcMO++gh8X82bA==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", - "dev": true - } - } + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "dev": true }, "@babel/core": { "version": "7.6.2", @@ -2210,6 +2156,7 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz", "integrity": "sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==", "dev": true, + "optional": true, "requires": { "@babel/types": "^7.4.0", "jsesc": "^2.5.1", @@ -2222,7 +2169,8 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "dev": true, + "optional": true } } }, @@ -2356,96 +2304,254 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", - "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.1", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", "semver": "^5.5.0" }, "dependencies": { "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "caniuse-lite": { - "version": "1.0.30001087", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001087.tgz", - "integrity": "sha512-KAQRGtt+eGCQBSp2iZTQibdCf9oe6cNTi5lmpsW38NnxP4WMYzfU6HCRmh4kJyh6LrTM9/uyElK4xcO93kafpg==", + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", "dev": true }, "electron-to-chromium": { - "version": "1.3.481", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.481.tgz", - "integrity": "sha512-q2PeCP2PQXSYadDo9uNY+uHXjdB9PcsUpCVoGlY8TZOPHGlXdevlqW9PkKeqCxn2QBkGB8b6AcMO++gh8X82bA==", + "version": "1.3.623", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.623.tgz", + "integrity": "sha512-CgbWTyPmJ4f9pqtqR+HPL3O0ay6BRhnpFD52TqBB2K8kTAcmAar2e93Vo1q651E4vnCHuTDuZDdbj0sTMP2QQw==", + "dev": true + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" } }, - "node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "@babel/traverse": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", - "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-regex": "^7.10.1", - "regexpu-core": "^4.7.0" + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" }, "dependencies": { "@babel/helper-annotate-as-pure": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", - "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", - "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", "dev": true, "requires": { - "lodash": "^4.17.13" + "@babel/types": "^7.12.10" } }, "@babel/types": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", - "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, @@ -2459,9 +2565,9 @@ } }, "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -2472,21 +2578,6 @@ "unicode-match-property-value-ecmascript": "^1.2.0" } }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - }, "unicode-match-property-value-ecmascript": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", @@ -2537,6 +2628,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, + "optional": true, "requires": { "@babel/helper-get-function-arity": "^7.0.0", "@babel/template": "^7.1.0", @@ -2548,6 +2640,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, + "optional": true, "requires": { "@babel/types": "^7.0.0" } @@ -2785,19 +2878,48 @@ "@babel/types": "^7.0.0" } }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, "@babel/helper-split-export-declaration": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz", "integrity": "sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==", "dev": true, + "optional": true, "requires": { "@babel/types": "^7.4.0" } }, "@babel/helper-validator-identifier": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", - "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", + "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", "dev": true }, "@babel/helper-wrap-function": { @@ -2958,7 +3080,8 @@ "version": "7.4.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.3.tgz", "integrity": "sha512-gxpEUhTS1sGA63EGQGuA+WESPR/6tz6ng7tSHFCmaTJK/cGK8y37cBTspX+U2xCAue2IQVvF6Z0oigmjwD8YGQ==", - "dev": true + "dev": true, + "optional": true }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.2.0", @@ -2972,6 +3095,24 @@ "@babel/plugin-syntax-async-generators": "^7.2.0" } }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-proposal-dynamic-import": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", @@ -2983,6 +3124,24 @@ "@babel/plugin-syntax-dynamic-import": "^7.2.0" } }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-proposal-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", @@ -2994,38 +3153,56 @@ "@babel/plugin-syntax-json-strings": "^7.2.0" } }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", - "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", - "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-numeric-separator": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } @@ -3053,19 +3230,38 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz", - "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } @@ -3131,6 +3327,23 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", @@ -3141,6 +3354,23 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", @@ -3151,6 +3381,23 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", @@ -3161,26 +3408,26 @@ }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } }, "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", - "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } @@ -3215,26 +3462,26 @@ }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", - "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } @@ -3669,7 +3916,69 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-transform-shorthand-properties": { + "@babel/plugin-transform-runtime": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz", + "integrity": "sha512-LFEsP+t3wkYBlis8w6/kmnd6Kb1dxTd+wGJ8MlxTGzQo//ehtqlVL4S9DNUa53+dtPSQobN2CXx4d81FqC58cw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", @@ -3680,18 +3989,19 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", - "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", - "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true } } @@ -3728,6 +4038,23 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, "@babel/plugin-transform-unicode-regex": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", @@ -3868,9 +4195,9 @@ } }, "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -3881,22 +4208,22 @@ }, "dependencies": { "@babel/types": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", - "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } } } }, "@babel/runtime": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.3.tgz", - "integrity": "sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw==", + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", + "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -3907,6 +4234,7 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.0.tgz", "integrity": "sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw==", "dev": true, + "optional": true, "requires": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.4.0", @@ -3918,6 +4246,7 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.3.tgz", "integrity": "sha512-HmA01qrtaCwwJWpSKpA948cBvU5BrmviAief/b3AVw936DtcdsTexlbyzNuDnthwhOQ37xshn7hvQaEQk7ISYQ==", "dev": true, + "optional": true, "requires": { "@babel/code-frame": "^7.0.0", "@babel/generator": "^7.4.0", @@ -3935,6 +4264,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, + "optional": true, "requires": { "ms": "^2.1.1" } @@ -3943,13 +4273,15 @@ "version": "11.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", - "dev": true + "dev": true, + "optional": true }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true + "dev": true, + "optional": true } } }, @@ -3958,6 +4290,7 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz", "integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==", "dev": true, + "optional": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.11", @@ -3968,7 +4301,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "dev": true, + "optional": true } } }, @@ -4142,6 +4476,13 @@ "requires": { "schematics-utilities": "^1.1.1", "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@datorama/akita-ng-forms-manager": { @@ -4150,6 +4491,13 @@ "integrity": "sha512-gmiGUvEzVlrIXR2rjKRFPzo2Y4oA0+ZwZOPxsYf5j+UoDB7xhcShB87OEWbJ6Pf2NQ67pOHFSqzgRl5vlgE2Kg==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@datorama/akita-ngdevtools": { @@ -4159,12 +4507,30 @@ "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@fortawesome/angular-fontawesome": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.6.1.tgz", - "integrity": "sha512-ARQjtRuT+ZskzJDJKPwuiGO3+7nS0iyNLU/uHVJHfG4LwGJxwVIGldwg1SU957sra0Z0OtWEajHMhiS4vB9LwQ==" + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.7.0.tgz", + "integrity": "sha512-U+eHYbKuVYrrm9SnIfl+z+6KTiI4Pu+S2OKh34JIi7C1jHhDcrVeDZISP/cpswHY7LWWDOPYeKE+yuWFlL4aVw==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "@fortawesome/fontawesome-common-types": { "version": "0.2.29", @@ -4216,16 +4582,16 @@ "dev": true }, "@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz", - "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", + "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", "dev": true, "requires": { "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.1", - "loader-utils": "^1.4.0", + "istanbul-lib-instrument": "^4.0.3", + "loader-utils": "^2.0.0", "merge-source-map": "^1.1.0", - "schema-utils": "^2.6.4" + "schema-utils": "^2.7.0" }, "dependencies": { "big.js": { @@ -4250,70 +4616,60 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, "@material-extended/mde": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@material-extended/mde/-/mde-2.3.1.tgz", - "integrity": "sha512-UFbeOcfgpDxn3TRIVOMLOfXuIZOfu2cwnxFj0SSCY+s+2PPt7Oz/B7Ru2iZvekLbw6YXkRlx24O0h7Fm6gUwoQ==", - "requires": { - "tslib": "^1.9.0" - } + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@material-extended/mde/-/mde-3.0.3.tgz", + "integrity": "sha512-sX/ND9JcYbgScQqH7PtfnCE1B2uZABk5XS9J/h5NY1Fqz3DuQCFnIQH/XMgP3J1iqncmCoImmOiTf/7NufsvGw==" }, "@ngtools/webpack": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.9.tgz", - "integrity": "sha512-7UzRL54JcK1m2PvgpchV26TF9OYipj/8+dygdjaidqOyQujWpHncdtq/ScbUsoJ44nHjIRJPhaGE00NLpWZvnA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.2.0.tgz", + "integrity": "sha512-W4SSFNQhIiC8JRhIn3c4mb1+fsFKiHp+THVMAUNo+wRZEt/rgzsCdnqv0EmQJJojZhnilUIyB/wVYJu2+S/Bxg==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "enhanced-resolve": "4.1.1", - "rxjs": "6.5.4", + "@angular-devkit/core": "10.2.0", + "enhanced-resolve": "4.3.0", "webpack-sources": "1.4.3" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -4323,9 +4679,9 @@ } }, "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4362,12 +4718,20 @@ } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "source-map": { @@ -4384,6 +4748,13 @@ "integrity": "sha512-oFWyYqBPOKQZBqP2ev3Xkn5UjjiWAC1dKYsCduvpDJTA3phc573NhPDpBqxMDfoeIuu72QOJogPehFWJV5991w==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "@nodelib/fs.scandir": { @@ -4430,9 +4801,9 @@ } }, "@phenomnomnominal/tsquery": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-3.0.0.tgz", - "integrity": "sha512-SW8lKitBHWJ9fAYkJ9kJivuctwNYCh3BUxLdH0+XiR1GPBiu+7qiZzh8p8jqlj1LgVC1TbvfNFroaEsmYlL8Iw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-4.1.1.tgz", + "integrity": "sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==", "dev": true, "requires": { "esquery": "^1.0.1" @@ -4448,43 +4819,44 @@ } }, "@schematics/angular": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.9.tgz", - "integrity": "sha512-c8YGZ6pDfr8IDD1qaOjlEBAkEz14KFSxDj0hCWs0xIM0py513tu5sW8+ziYxGG4bgqpsgVR/KAxuY78iBfUVag==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-10.2.0.tgz", + "integrity": "sha512-rJRTTTL8CMMFb3ebCvAVHKHxuNzRqy/HtbXhJ82l5Xo/jXcm74eV2Q0RBUrNo1yBKWFIR+FIwiXLJaGcC/R9Pw==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "@angular-devkit/schematics": "9.1.9" + "@angular-devkit/core": "10.2.0", + "@angular-devkit/schematics": "10.2.0", + "jsonc-parser": "2.3.0" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "@angular-devkit/schematics": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz", - "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.2.0.tgz", + "integrity": "sha512-TQI5NnE6iM3ChF5gZQ9qb+lZgMWa7aLoF5ksOyT3zrmOuICiQYJhA6SsjV95q7J4M55qYymwBib8KTqU/xuQww==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "ora": "4.0.3", - "rxjs": "6.5.4" + "@angular-devkit/core": "10.2.0", + "ora": "5.0.0", + "rxjs": "6.6.2" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -4512,12 +4884,20 @@ "dev": true }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "source-map": { @@ -4529,50 +4909,49 @@ } }, "@schematics/update": { - "version": "0.901.9", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.9.tgz", - "integrity": "sha512-VChX0VO/oyfCF3y+HjMTU2qN3vGgJYxEI1V+Q9aAlwl95t3GAufuaFY1CNW3YV4XkYIjD88e3yWl8d5yO4qf4w==", + "version": "0.1002.0", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1002.0.tgz", + "integrity": "sha512-g2bfJSAj3x/YL0GNhnHsDSQmO6DoxSnLxoFLqNN5+ukxK5jq7OZNDwMJGxZ3X6RcSMWKEkIKL/wlq9yhj2T/kw==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "@angular-devkit/schematics": "9.1.9", + "@angular-devkit/core": "10.2.0", + "@angular-devkit/schematics": "10.2.0", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "npm-package-arg": "^8.0.0", "pacote": "9.5.12", - "rxjs": "6.5.4", - "semver": "7.1.3", + "semver": "7.3.2", "semver-intersect": "1.4.0" }, "dependencies": { "@angular-devkit/core": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz", - "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.2.0.tgz", + "integrity": "sha512-XAszFhSF3mZw1VjoOsYGbArr5NJLcStjOvcCGjBPl1UBM2AKpuCQXHxI9XJGYKL3B93Vp5G58d8qkHvamT53OA==", "dev": true, "requires": { - "ajv": "6.12.0", + "ajv": "6.12.4", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", - "rxjs": "6.5.4", + "rxjs": "6.6.2", "source-map": "0.7.3" } }, "@angular-devkit/schematics": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz", - "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.2.0.tgz", + "integrity": "sha512-TQI5NnE6iM3ChF5gZQ9qb+lZgMWa7aLoF5ksOyT3zrmOuICiQYJhA6SsjV95q7J4M55qYymwBib8KTqU/xuQww==", "dev": true, "requires": { - "@angular-devkit/core": "9.1.9", - "ora": "4.0.3", - "rxjs": "6.5.4" + "@angular-devkit/core": "10.2.0", + "ora": "5.0.0", + "rxjs": "6.6.2" } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -4594,12 +4973,12 @@ "dev": true }, "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", + "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==", "dev": true, "requires": { - "lru-cache": "^5.1.1" + "lru-cache": "^6.0.0" } }, "json-schema-traverse": { @@ -4608,39 +4987,38 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "npm-package-arg": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", - "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", + "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", "dev": true, "requires": { - "hosted-git-info": "^3.0.2", + "hosted-git-info": "^3.0.6", "semver": "^7.0.0", "validate-npm-package-name": "^3.0.0" } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "source-map": { @@ -4648,12 +5026,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true } } }, @@ -4729,9 +5101,9 @@ "dev": true }, "@types/marked": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.4.tgz", - "integrity": "sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-1.2.1.tgz", + "integrity": "sha512-d5adCgRHB+NAme23hkiTkvpfZUDqoNtL2Sr2nZBJqSj3zyHLxsfFWsGQ2sK2z9aX6L1xkJzon2c0jTPcsEjpaQ==" }, "@types/minimatch": { "version": "3.0.3", @@ -4794,179 +5166,193 @@ } } }, + "@types/yargs": { + "version": "15.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.11.tgz", + "integrity": "sha512-jfcNBxHFYJ4nPIacsi3woz1+kvUO6s1CyeEhtnDHBjHUMNj5UlW2GynmnSgiJJEdNg9yW5C8lfoNRZrHGv5EqA==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.9.0" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, @@ -4998,6 +5384,12 @@ "through": ">=2.2.7 <3" } }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -5037,11 +5429,55 @@ "integrity": "sha512-JpuzcHQxTO6Nk8Q1Y8fVQAaxpimziAvVe/CX4h39ig0iHTtBNuySOGHUxmno8mNe4IMbjO8RJICmsrQKTdTWpQ==" }, "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, + "adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", @@ -5118,11 +5554,18 @@ "dev": true }, "angular-tag-cloud-module": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/angular-tag-cloud-module/-/angular-tag-cloud-module-3.8.1.tgz", - "integrity": "sha512-PxOk9R+QsIzOMXX35SfzOX29tVI1IPC7/+UsgV4D/1xdWG8um6/uFLka26YydC1+u111ZsbJoMrDnUd65Ms9bw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/angular-tag-cloud-module/-/angular-tag-cloud-module-5.2.0.tgz", + "integrity": "sha512-F89pvDWmpy4VHMhw1CN5kSwiGjGhBIXS4ektJZraJTBwjxCf9GsTNiw0mjcMWpuqEIxccxcaN3kIx+Z+wvoV3Q==", "requires": { - "tslib": "^1.9.0" + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } } }, "ansi-colors": { @@ -5170,20 +5613,11 @@ } }, "app-root-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", - "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", "dev": true }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -5230,6 +5664,12 @@ "commander": "^2.11.0" } }, + "arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", + "dev": true + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -5290,14 +5730,15 @@ } }, "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, "dependencies": { "bn.js": { @@ -5389,78 +5830,50 @@ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" }, "autoprefixer": { - "version": "9.7.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", - "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", "dev": true, "requires": { - "browserslist": "^4.8.3", - "caniuse-lite": "^1.0.30001020", - "chalk": "^2.4.2", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.26", - "postcss-value-parser": "^4.0.2" + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "caniuse-lite": { - "version": "1.0.30001087", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001087.tgz", - "integrity": "sha512-KAQRGtt+eGCQBSp2iZTQibdCf9oe6cNTi5lmpsW38NnxP4WMYzfU6HCRmh4kJyh6LrTM9/uyElK4xcO93kafpg==", + "version": "1.0.30001165", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", + "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", "dev": true }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "electron-to-chromium": { - "version": "1.3.481", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.481.tgz", - "integrity": "sha512-q2PeCP2PQXSYadDo9uNY+uHXjdB9PcsUpCVoGlY8TZOPHGlXdevlqW9PkKeqCxn2QBkGB8b6AcMO++gh8X82bA==", + "version": "1.3.623", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.623.tgz", + "integrity": "sha512-CgbWTyPmJ4f9pqtqR+HPL3O0ay6BRhnpFD52TqBB2K8kTAcmAar2e93Vo1q651E4vnCHuTDuZDdbj0sTMP2QQw==", "dev": true }, "node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -5490,7 +5903,6 @@ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", "dev": true, - "optional": true, "requires": { "find-cache-dir": "^2.1.0", "loader-utils": "^1.4.0", @@ -5503,22 +5915,19 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "optional": true + "dev": true }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "optional": true + "dev": true }, "find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, - "optional": true, "requires": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -5530,7 +5939,6 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, - "optional": true, "requires": { "minimist": "^1.2.0" } @@ -5540,7 +5948,6 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, - "optional": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -5626,15 +6033,15 @@ } }, "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", "dev": true }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "base64id": { @@ -5657,6 +6064,25 @@ "tweetnacl": "^0.14.3" } }, + "bent": { + "version": "7.3.12", + "resolved": "https://registry.npmjs.org/bent/-/bent-7.3.12.tgz", + "integrity": "sha512-T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==", + "dev": true, + "requires": { + "bytesish": "^0.4.1", + "caseless": "~0.12.0", + "is-stream": "^2.0.0" + }, + "dependencies": { + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + } + } + }, "better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", @@ -5699,15 +6125,15 @@ "dev": true }, "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", "dev": true }, "body-parser": { @@ -5889,34 +6315,26 @@ } }, "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", + "elliptic": "^6.5.3", "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", @@ -6032,28 +6450,34 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "bytesish": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz", + "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==", + "dev": true + }, "cacache": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz", - "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", "dev": true, "requires": { - "chownr": "^1.1.2", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "glob": "^7.1.4", "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", + "lru-cache": "^6.0.0", "minipass": "^3.1.1", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.2", "mkdirp": "^1.0.3", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", + "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", + "rimraf": "^3.0.2", "ssri": "^8.0.0", - "tar": "^6.0.1", + "tar": "^6.0.2", "unique-filename": "^1.1.1" }, "dependencies": { @@ -6071,28 +6495,19 @@ "path-is-absolute": "^1.0.0" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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": { - "glob": "^7.1.3" + "aggregate-error": "^3.0.0" } }, "ssri": { @@ -6103,12 +6518,6 @@ "requires": { "minipass": "^3.1.1" } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true } } }, @@ -6141,6 +6550,16 @@ "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -6256,25 +6675,25 @@ "dev": true }, "chokidar": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.1.1.tgz", - "integrity": "sha512-df4o16uZmMHzVQwECZRHwfguOt5ixpuQVaZHjYMvYisgKhE+JXwcj/Tcr3+3bu/XeOJQ9ycYmzu7Mv8XrGxJDQ==", - "dev": true, - "requires": { - "anymatch": "^3.1.0", - "braces": "^3.0.2", - "fsevents": "^2.0.6", - "glob-parent": "^5.0.0", - "is-binary-path": "^2.1.0", - "is-glob": "^4.0.1", - "normalize-path": "^3.0.0", - "readdirp": "^3.1.1" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" }, "dependencies": { "anymatch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz", - "integrity": "sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -6282,9 +6701,9 @@ } }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, "braces": { @@ -6306,16 +6725,16 @@ } }, "fsevents": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", - "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, "optional": true }, "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -6343,12 +6762,20 @@ "dev": true }, "readdirp": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz", - "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "requires": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + } } }, "to-regex-range": { @@ -6363,9 +6790,9 @@ } }, "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true }, "chrome-trace-event": { @@ -6375,6 +6802,14 @@ "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "ci-info": { @@ -6436,9 +6871,9 @@ } }, "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", + "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", "dev": true }, "cli-table3": { @@ -6503,9 +6938,9 @@ } }, "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "clipboard": { @@ -6570,25 +7005,6 @@ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -6642,27 +7058,50 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codelyzer": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz", - "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz", + "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==", "dev": true, "requires": { - "app-root-path": "^2.2.1", + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", "aria-query": "^3.0.0", "axobject-query": "2.0.2", "css-selector-tokenizer": "^0.7.1", "cssauron": "^1.4.0", "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", "semver-dsl": "^1.0.1", "source-map": "^0.5.7", - "sprintf-js": "^1.1.2" + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" }, "dependencies": { + "@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true + }, + "@angular/core": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", + "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", + "dev": true + }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, @@ -6676,13 +7115,13 @@ } }, "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "dev": true, "requires": { "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-string": "^1.5.4" } }, "color-convert": { @@ -6701,15 +7140,21 @@ "dev": true }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", "dev": true, "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", @@ -6743,12 +7188,6 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "compare-versions": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz", - "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==", - "dev": true - }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", @@ -6767,6 +7206,15 @@ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, + "compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", + "dev": true, + "requires": { + "arity-n": "^1.0.4" + } + }, "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -6905,6 +7353,31 @@ "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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" + } + } } }, "copy-descriptor": { @@ -6913,21 +7386,21 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.2.tgz", - "integrity": "sha512-9Gm8X0c6eXlKnmltMPFCBeGOKjtcRIyTt4VaO3k1TkNgVTe5Ov2lYsYVuyLp0kp8DItO3apewflM+1GYgh6V2Q==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz", + "integrity": "sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA==", "dev": true, "requires": { "cacache": "^15.0.4", - "fast-glob": "^3.2.2", + "fast-glob": "^3.2.4", "find-cache-dir": "^3.3.1", "glob-parent": "^5.1.1", "globby": "^11.0.1", "loader-utils": "^2.0.0", "normalize-path": "^3.0.0", - "p-limit": "^2.3.0", + "p-limit": "^3.0.1", "schema-utils": "^2.7.0", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^4.0.0", "webpack-sources": "^1.4.3" }, "dependencies": { @@ -6946,37 +7419,6 @@ "fill-range": "^7.0.1" } }, - "cacache": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", - "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -7006,20 +7448,6 @@ "to-regex-range": "^5.0.1" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-parent": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", @@ -7055,15 +7483,6 @@ "json5": "^2.1.2" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -7074,18 +7493,6 @@ "picomatch": "^2.0.5" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -7093,21 +7500,12 @@ "dev": true }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "yocto-queue": "^0.1.0" } }, "picomatch": { @@ -7116,24 +7514,6 @@ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7142,12 +7522,6 @@ "requires": { "is-number": "^7.0.0" } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true } } }, @@ -7194,13 +7568,13 @@ } }, "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "elliptic": "^6.5.3" }, "dependencies": { "bn.js": { @@ -7307,24 +7681,23 @@ } }, "css-loader": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz", - "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.2.2.tgz", + "integrity": "sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg==", "dev": true, "requires": { - "camelcase": "^5.3.1", + "camelcase": "^6.0.0", "cssesc": "^3.0.0", "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.27", + "loader-utils": "^2.0.0", + "postcss": "^7.0.32", "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-local-by-default": "^3.0.3", "postcss-modules-scope": "^2.2.0", "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.5", - "semver": "^6.3.0" + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^7.3.2" }, "dependencies": { "big.js": { @@ -7333,10 +7706,10 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, "emojis-list": { @@ -7346,42 +7719,33 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -7413,14 +7777,13 @@ "dev": true }, "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", "dev": true, "requires": { "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" + "fastparse": "^1.1.2" } }, "css-tree": { @@ -7442,9 +7805,9 @@ } }, "css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssauron": { @@ -7540,28 +7903,28 @@ "dev": true }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "source-map": { @@ -7903,6 +8266,16 @@ "popper.js": "^1.0.0" } }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, "dagre": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.4.tgz", @@ -7933,6 +8306,17 @@ } } }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, "date-fns": { "version": "1.30.1", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", @@ -8000,15 +8384,6 @@ "ip-regex": "^2.1.0" } }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - } - }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -8322,9 +8697,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", "dev": true } } @@ -8342,9 +8717,9 @@ "dev": true }, "domino": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.5.tgz", - "integrity": "sha512-vMDo7f6ogUV9PkzmxXLiXzJkJZqU09Le4C40mj+HmAGS/2FPmdetoNOQZXpu2kekn0GJKvtwKMAVoruTj60Xww==" + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", + "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" }, "dompurify": { "version": "2.2.0", @@ -8362,9 +8737,9 @@ } }, "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -8452,9 +8827,9 @@ "dev": true }, "emoji-toolkit": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-5.5.1.tgz", - "integrity": "sha512-H8E6DNTsRLgy1FVWAiyuW4nqHka0rvUkXhmJPzL28gXo4pLKvuoEi6VhodJ1RfIZOZZ7Zmxo1sENYinyytl/ww==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-6.0.1.tgz", + "integrity": "sha512-QZZq0beHg753JxcBt89UBFqzwYNuMtXhNO+jY3viSAndewmn9biTE5glaro1RA0uWJ4hKqw4k1Mboe1M6sGkMA==" }, "emojis-list": { "version": "2.1.0", @@ -8469,12 +8844,12 @@ "dev": true }, "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "^0.6.2" } }, "end-of-stream": { @@ -8510,27 +8885,27 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } }, "engine.io-client": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", - "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz", + "integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==", "dev": true, "requires": { "component-emitter": "~1.3.0", "component-inherit": "0.0.3", - "debug": "~4.1.0", + "debug": "~3.1.0", "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", + "parseqs": "0.0.6", + "parseuri": "0.0.6", "ws": "~6.1.0", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" @@ -8543,18 +8918,24 @@ "dev": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", + "dev": true + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", "dev": true }, "ws": { @@ -8569,14 +8950,14 @@ } }, "engine.io-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", - "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", "dev": true, "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", + "base64-arraybuffer": "0.1.4", "blob": "0.0.5", "has-binary2": "~1.0.2" } @@ -8599,9 +8980,9 @@ "dev": true }, "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, "err-code": { @@ -8629,20 +9010,21 @@ } }, "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", + "object.assign": "^4.1.1", "string.prototype.trimend": "^1.0.1", "string.prototype.trimstart": "^1.0.1" }, @@ -8652,6 +9034,18 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } } } }, @@ -8666,6 +9060,28 @@ "is-symbol": "^1.0.2" } }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, "es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", @@ -8681,6 +9097,22 @@ "es6-promise": "^4.0.3" } }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -8704,21 +9136,37 @@ } }, "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } } }, "estraverse": { @@ -8752,9 +9200,9 @@ "dev": true }, "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true }, "eventsource": { @@ -8920,6 +9368,23 @@ } } }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", + "dev": true + } + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -8953,6 +9418,17 @@ "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "extglob": { @@ -9226,12 +9702,6 @@ "emojis-list": "^3.0.0", "json5": "^2.1.2" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, @@ -9241,16 +9711,6 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "optional": true }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -9564,9 +10024,9 @@ "dev": true }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { @@ -9575,6 +10035,25 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + } + } + }, "get-own-enumerable-property-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", @@ -9797,53 +10276,20 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "dependencies": { "ajv": { @@ -10079,6 +10525,12 @@ "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", "dev": true }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", @@ -10190,18 +10642,18 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -10330,12 +10782,12 @@ } }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "icss-utils": { @@ -10348,9 +10800,9 @@ } }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { @@ -10471,21 +10923,21 @@ "dev": true }, "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", + "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", - "lodash": "^4.17.15", + "lodash": "^4.17.19", "mute-stream": "0.0.8", "run-async": "^2.4.0", - "rxjs": "^6.5.3", + "rxjs": "^6.6.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" @@ -10507,19 +10959,18 @@ "dev": true }, "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -10587,6 +11038,23 @@ "signal-exit": "^3.0.2" } }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -10608,9 +11076,9 @@ } }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -10676,10 +11144,13 @@ } }, "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } }, "is-arrayish": { "version": "0.2.1", @@ -10709,9 +11180,9 @@ } }, "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true }, "is-ci": { @@ -10737,6 +11208,15 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -10775,9 +11255,9 @@ "dev": true }, "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true }, "is-extendable": { @@ -10822,6 +11302,12 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -10913,9 +11399,9 @@ "dev": true }, "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, "requires": { "has-symbols": "^1.0.1" @@ -11020,80 +11506,12 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, - "istanbul-api": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz", - "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, - "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, "istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "dev": true }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, "istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", @@ -11107,34 +11525,33 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", - "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.3" + "@babel/highlight": "^7.10.4" } }, "@babel/core": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.3.tgz", - "integrity": "sha512-5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/generator": "^7.10.3", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helpers": "^7.10.1", - "@babel/parser": "^7.10.3", - "@babel/template": "^7.10.3", - "@babel/traverse": "^7.10.3", - "@babel/types": "^7.10.3", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", + "lodash": "^4.17.19", "semver": "^5.4.1", "source-map": "^0.5.0" }, @@ -11148,174 +11565,174 @@ } }, "@babel/generator": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", - "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", "dev": true, "requires": { - "@babel/types": "^7.10.3", + "@babel/types": "^7.12.10", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", - "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.3", - "@babel/template": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-get-function-arity": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", - "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.10" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz", - "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.7" } }, "@babel/helper-module-imports": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz", - "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.5" } }, "@babel/helper-module-transforms": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", - "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1", - "lodash": "^4.17.13" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz", - "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", "dev": true, "requires": { - "@babel/types": "^7.10.3" + "@babel/types": "^7.12.10" } }, "@babel/helper-replace-supers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", - "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, "@babel/helper-simple-access": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", - "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/types": "^7.12.1" } }, "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.11.0" } }, "@babel/helpers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", - "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, "@babel/highlight": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", - "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", - "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", "dev": true }, "@babel/template": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", - "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" } }, "@babel/traverse": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", - "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", + "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.3", - "@babel/generator": "^7.10.3", - "@babel/helper-function-name": "^7.10.3", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.3", - "@babel/types": "^7.10.3", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.10", + "@babel/types": "^7.12.10", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" + "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.10.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", - "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.3", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, @@ -11329,12 +11746,12 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "js-tokens": { @@ -11358,12 +11775,6 @@ "minimist": "^1.2.5" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -11379,21 +11790,45 @@ } }, "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11411,18 +11846,18 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -11463,12 +11898,13 @@ } }, "istanbul-reports": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", - "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "requires": { - "handlebars": "^4.1.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, "jasmine-core": { @@ -11478,20 +11914,29 @@ "dev": true }, "jasmine-spec-reporter": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz", - "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", "dev": true, "requires": { - "colors": "1.1.2" + "colors": "1.4.0" + }, + "dependencies": { + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + } } }, "jest-worker": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", - "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", + "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", "dev": true, "requires": { + "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" }, @@ -11503,9 +11948,9 @@ "dev": true }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -11593,6 +12038,12 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, + "jsonc-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.0.tgz", + "integrity": "sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA==", + "dev": true + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -11627,23 +12078,24 @@ } }, "karma": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/karma/-/karma-5.2.2.tgz", - "integrity": "sha512-rB3Ua5yDxmIupTj67r3Q8itz7TxJzRE6DmVcOfV20D509Uu9AoBKlVwbZhND4kcm6BqLfbHtv4DZC9QJfrUY+w==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz", + "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==", "dev": true, "requires": { "body-parser": "^1.19.0", "braces": "^3.0.2", - "chokidar": "^3.4.2", + "chokidar": "^3.0.0", "colors": "^1.4.0", "connect": "^3.7.0", "di": "^0.0.1", "dom-serialize": "^2.2.1", + "flatted": "^2.0.2", "glob": "^7.1.6", "graceful-fs": "^4.2.4", "http-proxy": "^1.18.1", "isbinaryfile": "^4.0.6", - "lodash": "^4.17.19", + "lodash": "^4.17.15", "log4js": "^6.2.1", "mime": "^2.4.5", "minimatch": "^3.0.4", @@ -11664,31 +12116,14 @@ "dev": true }, "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -11698,22 +12133,6 @@ "fill-range": "^7.0.1" } }, - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, "cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -11771,13 +12190,6 @@ "path-exists": "^4.0.0" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -11792,30 +12204,12 @@ "path-is-absolute": "^1.0.0" } }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^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", @@ -11843,12 +12237,6 @@ "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -11864,32 +12252,6 @@ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - }, - "dependencies": { - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - } - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -11986,28 +12348,39 @@ } }, "karma-coverage-istanbul-reporter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.0.tgz", - "integrity": "sha512-UH0mXPJFJyK5uiK7EkwGtQ8f30lCBAfqRResnZ4pzLJ04SOp4SPlYkmwbbZ6iVJ6sQFVzlDUXlntBEsLRdgZpg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", "dev": true, "requires": { - "istanbul-api": "^2.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", "minimatch": "^3.0.4" } }, "karma-jasmine": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", - "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", + "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", "dev": true, "requires": { - "jasmine-core": "^3.3" + "jasmine-core": "^3.6.0" + }, + "dependencies": { + "jasmine-core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", + "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", + "dev": true + } } }, "karma-jasmine-html-reporter": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.4.2.tgz", - "integrity": "sha512-7g0gPj8+9JepCNJR9WjDyQ2RkZ375jpdurYQyAYv8PorUCadepl8vrD6LmMqOGcM17cnrynBawQYZHaumgDjBw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz", + "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==", "dev": true }, "karma-source-map-support": { @@ -12029,9 +12402,9 @@ } }, "katex": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.11.1.tgz", - "integrity": "sha512-5oANDICCTX0NqYIyAiFCCwjQ7ERu3DQG2JFHLbYOf+fXaMoH8eg/zOq5WSYJsKMi/QebW+Eh3gSM+oss1H/bww==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.12.0.tgz", + "integrity": "sha512-y+8btoc/CK70XqcHqjxiGWBOeIL8upbS0peTPXTvgrh21n1RiWWcIpSWM+4uXq+IAgNh9YYQWdc7LVDPDAEEAg==", "requires": { "commander": "^2.19.0" }, @@ -12057,6 +12430,18 @@ "is-buffer": "^1.1.5" } }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, "lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", @@ -12064,19 +12449,17 @@ "dev": true }, "less": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz", - "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==", + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz", + "integrity": "sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==", "dev": true, "requires": { - "clone": "^2.1.2", "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", - "promise": "^7.1.1", - "request": "^2.83.0", + "native-request": "^1.0.5", "source-map": "~0.6.0", "tslib": "^1.10.0" }, @@ -12087,18 +12470,59 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, "less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.2.0.tgz", + "integrity": "sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg==", "dev": true, "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" + "clone": "^2.1.2", + "less": "^3.11.3", + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } } }, "leven": { @@ -12181,9 +12605,9 @@ } }, "license-webpack-plugin": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz", - "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-JK/DXrtN6UeYQSgkg5q1+pgJ8aiKPL9tnz9Wzw+Ikkf+8mJxG56x6t8O+OH/tAeF/5NREnelTEMyFtbJNkjH4w==", "dev": true, "requires": { "@types/webpack-sources": "^0.1.5", @@ -12556,6 +12980,12 @@ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -12670,9 +13100,9 @@ }, "dependencies": { "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -12687,9 +13117,9 @@ } }, "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", "dev": true }, "loose-envify": { @@ -12702,12 +13132,12 @@ } }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "yallist": "^3.0.2" + "yallist": "^4.0.0" } }, "magic-string": { @@ -12768,12 +13198,6 @@ "ssri": "^6.0.0" }, "dependencies": { - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", @@ -12797,6 +13221,12 @@ "y18n": "^4.0.0" } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -12852,12 +13282,6 @@ } } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -12872,9 +13296,9 @@ } }, "marked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.0.tgz", - "integrity": "sha512-EkE7RW6KcXfMHy2PA7Jg0YJE1l8UPEZE8k45tylzmZM30/r1M1MUXWQfJlrSbsTeh7m/XTwHbWUENvAJZpp1YA==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.6.tgz", + "integrity": "sha512-7vVuSEZ8g/HH3hK/BH/+7u/NJj7x9VY4EHzujLDcqAQLiOUeFJYAsfSAyoWtR17lKrx7b08qyIno4lffwrzTaA==" }, "material-design-icons-iconfont": { "version": "6.1.0", @@ -13020,9 +13444,9 @@ "dev": true }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", "dev": true }, "mime-types": { @@ -13049,9 +13473,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz", + "integrity": "sha512-QgKgJBjaJhxVPwrLNqqwNS0AGkuQQ31Hp4xGXEK/P7wehEg6qmNtReHKai3zRXqY60wGVWLYcOMJK2b98aGc3A==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -13119,14 +13543,6 @@ "dev": true, "requires": { "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "minipass-collect": { @@ -13148,30 +13564,22 @@ } }, "minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, "requires": { "minipass": "^3.0.0" } }, "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } } }, "mississippi": { @@ -13238,6 +13646,31 @@ "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.3" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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" + } + } } }, "ms": { @@ -13309,6 +13742,13 @@ } } }, + "native-request": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.8.tgz", + "integrity": "sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==", + "dev": true, + "optional": true + }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", @@ -13321,32 +13761,54 @@ "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "ng2-ui-auth": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/ng2-ui-auth/-/ng2-ui-auth-10.0.1.tgz", "integrity": "sha512-7LqWdH4/9Id21Ced5LCSIA9aUTPQU0DPwhtQhBMxHRCFx9P4bpCAUwTgJ0XLt2pczusdnGpmBxeDFILZnwupmA==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "ngx-clipboard": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ngx-clipboard/-/ngx-clipboard-13.0.1.tgz", - "integrity": "sha512-e7QBsw7bX5ajhVR2++NAaYZYw90hKeEBlb006TW85WDUA3kmlrXpMDwOvVJuRewU6Nh+U1QiQMJq5a0ivk0zWg==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/ngx-clipboard/-/ngx-clipboard-14.0.1.tgz", + "integrity": "sha512-y6fDrvAso1cbM+VvHgB2kJ3dcQ/EBPol33nLaqqKB1jNO/Kd3l17EHdXNW/oKY0wUKCHk7ZCuiinREgUHEYfXg==", "requires": { - "ngx-window-token": ">=3.0.0" + "ngx-window-token": ">=4.0.0", + "tslib": "^2.0.0" } }, "ngx-markdown": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.1.1.tgz", - "integrity": "sha512-dEuR1KBa/Ivb1HT+DvSW1p6wLSx79EZz8/WpgDxiEZfL1PADTQUziNLgmtwAEgBTDjsXFhZ/Af7Zq5J9dQf6KQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-10.1.1.tgz", + "integrity": "sha512-bUVgN6asb35d5U4xM5CNfo7pSpuwqJSdTgK0PhNZzLiaiyPIK2owtLF6sWGhxTThJu+LngJPjj4MQ+AFe/s8XQ==", "requires": { - "@types/marked": "^0.7.4", - "emoji-toolkit": "^5.5.0", - "katex": "^0.11.0", + "@types/marked": "^1.1.0", + "emoji-toolkit": "^6.0.1", + "katex": "^0.12.0", "marked": "^1.1.0", - "prismjs": "^1.20.0" + "prismjs": "^1.20.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } } }, "ngx-sharebuttons": { @@ -13355,12 +13817,29 @@ "integrity": "sha512-X/janRE4HBr3/ZZvsRF5go0rFDhIAquftDj1cHYzwweNa7vh2L9v2/tP+n9DzCtAUlHL7qXHPpwO9ON8+SBcIA==", "requires": { "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, "ngx-window-token": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ngx-window-token/-/ngx-window-token-3.0.0.tgz", - "integrity": "sha512-MDVIQB2SqFCbpoTqEXhO2529hsvpCYyw/iogjU6uskKqUKh79XVKWSMpRH9S1yTr0Ucgh8nFeNcpv2DnFdikJA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ngx-window-token/-/ngx-window-token-4.0.0.tgz", + "integrity": "sha512-z6tS3UQoKULdABWHpE57l1xtoxFFzlwLe1n+nu9+xzCZUdSvkGqhb5dSje4NOVhA6mMOqzR4SctSBZARwqPPuQ==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } }, "nice-try": { "version": "1.0.5", @@ -13380,9 +13859,9 @@ } }, "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-libs-browser": { @@ -13485,10 +13964,13 @@ }, "dependencies": { "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -13521,9 +14003,9 @@ } }, "npm-pick-manifest": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz", - "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", + "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", "dev": true, "requires": { "npm-install-checks": "^4.0.0", @@ -13532,45 +14014,33 @@ }, "dependencies": { "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", - "dev": true, - "requires": { - "lru-cache": "^5.1.1" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", + "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==", "dev": true, "requires": { - "yallist": "^3.0.2" + "lru-cache": "^6.0.0" } }, "npm-package-arg": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", - "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", + "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", "dev": true, "requires": { - "hosted-git-info": "^3.0.2", + "hosted-git-info": "^3.0.6", "semver": "^7.0.0", "validate-npm-package-name": "^3.0.0" } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -13608,11 +14078,26 @@ "safe-buffer": "^5.2.0" }, "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -13695,19 +14180,19 @@ } }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "object-keys": { @@ -13737,13 +14222,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -13755,14 +14241,14 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, @@ -13805,9 +14291,9 @@ } }, "open": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz", - "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.2.0.tgz", + "integrity": "sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ==", "dev": true, "requires": { "is-docker": "^2.0.0", @@ -13838,16 +14324,16 @@ } }, "ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.0.0.tgz", + "integrity": "sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw==", "dev": true, "requires": { - "chalk": "^3.0.0", + "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", + "cli-spinners": "^2.4.0", "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", + "log-symbols": "^4.0.0", "mute-stream": "0.0.8", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" @@ -13860,19 +14346,18 @@ "dev": true }, "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -13909,6 +14394,15 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -13929,9 +14423,9 @@ } }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -14073,12 +14567,6 @@ "which": "^1.3.1" }, "dependencies": { - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", @@ -14100,19 +14588,14 @@ "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" - }, - "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" - } - } } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "fs-minipass": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", @@ -14181,6 +14664,15 @@ "semver": "^5.4.1" } }, + "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" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -14235,9 +14727,9 @@ } }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { @@ -14252,14 +14744,13 @@ } }, "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3", "safe-buffer": "^5.1.1" @@ -14276,11 +14767,20 @@ } }, "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, "parseqs": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", @@ -14423,60 +14923,6 @@ "find-up": "^3.0.0" } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, "please-upgrade-node": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", @@ -14486,6 +14932,15 @@ "semver-compare": "^1.0.0" } }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, "popper.js": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", @@ -14503,18 +14958,18 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -14525,9 +14980,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -14575,9 +15030,9 @@ } }, "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "dev": true, "requires": { "postcss": "^7.0.27", @@ -14681,9 +15136,9 @@ } }, "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", @@ -14857,15 +15312,15 @@ } }, "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", "dev": true, "requires": { "icss-utils": "^4.1.1", - "postcss": "^7.0.16", + "postcss": "^7.0.32", "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" + "postcss-value-parser": "^4.1.0" } }, "postcss-modules-scope": { @@ -15103,22 +15558,15 @@ } }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "dev": true, "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "dependencies": { - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - } + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } }, "postcss-svgo": { @@ -15188,7 +15636,8 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "dev": true, + "optional": true }, "process": { "version": "0.11.10", @@ -15196,16 +15645,6 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "optional": true, - "requires": { - "asap": "~2.0.3" - } - }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -15222,6 +15661,16 @@ "retry": "^0.10.0" } }, + "prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + } + }, "protoduck": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", @@ -15359,9 +15808,9 @@ "dev": true }, "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "ramda": { @@ -15425,13 +15874,13 @@ } }, "raw-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz", - "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz", + "integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==", "dev": true, "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.5" }, "dependencies": { "big.js": { @@ -15447,30 +15896,24 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, @@ -15661,9 +16104,9 @@ } }, "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", "dev": true }, "regenerator-transform": { @@ -15685,6 +16128,12 @@ "safe-regex": "^1.1.0" } }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, "regexp.prototype.flags": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", @@ -15693,36 +16142,44 @@ "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" }, "dependencies": { - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } } } }, @@ -15956,53 +16413,180 @@ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "resolve-url-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz", + "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.21", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" }, "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } - } - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", + "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", + "dev": true + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", + "dev": true + }, + "rfdc": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", + "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", "dev": true }, "rgb-regex": { @@ -16018,12 +16602,28 @@ "dev": true }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "ripemd160": { @@ -16037,9 +16637,9 @@ } }, "rollup": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz", - "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==", + "version": "2.26.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.26.5.tgz", + "integrity": "sha512-rCyFG3ZtQdnn9YwfuAVH0l/Om34BdO5lwCA0W6Hq+bNB21dVEBbCRxhaHOmu1G7OBFDWytbzAC104u7rxHwGjA==", "dev": true, "requires": { "fsevents": "~2.1.2" @@ -16082,162 +16682,236 @@ } }, "rxjs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", - "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, - "rxjs-tslint": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/rxjs-tslint/-/rxjs-tslint-0.1.8.tgz", - "integrity": "sha512-4MNcco1pugjNyjkUkvJ9ngJSMCuwmyc1g6EkEYzlTK0PrZxm8xVaBeBz5aPLE3AzldQbYkOErOVAayUlzQkjAg==", + "rxjs-report-usage": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/rxjs-report-usage/-/rxjs-report-usage-1.0.5.tgz", + "integrity": "sha512-jZeg+TTkvP8kAv0tIQj3WOuIhYLi+Ig9mG8DCc+nJHQ1ObJr8IaeNPbJmXDRfHvH3MKQMBzboY4RbQ6jWt6cIg==", "dev": true, "requires": { - "chalk": "^2.4.0", - "tslint": "^5.9.1", - "tsutils": "^2.25.0", - "typescript": ">=2.8.3", - "yargs": "^15.3.1" + "@babel/parser": "~7.10.3", + "@babel/traverse": "~7.10.3", + "@babel/types": "~7.10.3", + "bent": "~7.3.6", + "chalk": "~4.1.0", + "glob": "~7.1.6", + "prompts": "~2.3.2" }, "dependencies": { - "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": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "@babel/highlight": "^7.10.4" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "@babel/generator": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.10.tgz", + "integrity": "sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/types": "^7.12.10", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.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 - }, - "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==", + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@babel/types": "^7.12.10" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^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 - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "@babel/types": "^7.11.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.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==", + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", + "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", "dev": true }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + }, + "dependencies": { + "@babel/parser": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.10.tgz", + "integrity": "sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==", + "dev": true + }, + "@babel/types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.10.tgz", + "integrity": "sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.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==", + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", + "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", + "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" } }, - "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==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "dependencies": { "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -16249,62 +16923,119 @@ "requires": { "color-name": "~1.1.4" } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "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 + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "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" + "ms": "2.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==", + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" } } } }, "rxjs-tslint-rules": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/rxjs-tslint-rules/-/rxjs-tslint-rules-4.17.0.tgz", - "integrity": "sha512-LDiLOSxB3+tFhXM4iXaB87izkmOPImByDjR08PsIp5NQfngx0hWW52l63+rJDBs4BFd0Ojwa+RLk09lFLz2JRA==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/rxjs-tslint-rules/-/rxjs-tslint-rules-4.34.7.tgz", + "integrity": "sha512-AF6FlEQ6tj/tF3IyP0WzMRXvmMv8xoTsdN+wS/BNGxkQhO95o0JVTQEsc3jXCPPwYPCKYDYGfx/rbDuzY9xAag==", "dev": true, "requires": { - "@phenomnomnominal/tsquery": "^3.0.0", - "decamelize": "^2.0.0", + "@phenomnomnominal/tsquery": "^4.0.0", + "decamelize": "^4.0.0", "resolve": "^1.4.0", - "tslib": "^1.8.0", - "tsutils": "^3.0.0" + "rxjs-report-usage": "^1.0.4", + "semver": "^7.0.0", + "tslib": "^2.0.0", + "tsutils": "^3.0.0", + "tsutils-etc": "^1.2.2" }, "dependencies": { "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "requires": { - "xregexp": "4.0.0" + "lru-cache": "^6.0.0" } }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + }, "tsutils": { "version": "3.17.1", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", @@ -16312,6 +17043,14 @@ "dev": true, "requires": { "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } } } @@ -16335,25 +17074,25 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz", - "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==", + "version": "1.26.10", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz", + "integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" } }, "sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.1.tgz", + "integrity": "sha512-b2PSldKVTS3JcFPHSrEXh3BeAfR7XknGiGCAO5aHruR3Pf3kqLP3Gb2ypXLglRrAzgZkloNxLZ7GXEGDX0hBUQ==", "dev": true, "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" + "klona": "^2.0.3", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^2.7.0", + "semver": "^7.3.2" }, "dependencies": { "big.js": { @@ -16369,42 +17108,39 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -16468,6 +17204,11 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==" } } }, @@ -16484,12 +17225,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", "dev": true, "requires": { - "node-forge": "0.9.0" + "node-forge": "^0.10.0" } }, "semver": { @@ -16551,9 +17292,9 @@ } }, "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -16654,23 +17395,6 @@ "safe-buffer": "^5.0.1" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -16708,6 +17432,12 @@ } } }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -16847,9 +17577,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -16882,6 +17612,12 @@ "to-array": "0.1.4" }, "dependencies": { + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -16892,22 +17628,28 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", + "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", "dev": true, "requires": { - "component-emitter": "1.2.1", + "component-emitter": "~1.3.0", "debug": "~3.1.0", "isarray": "2.0.1" }, "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -16948,9 +17690,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -16989,9 +17731,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -17007,9 +17749,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -17066,13 +17808,56 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-loader": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", - "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.0.2.tgz", + "integrity": "sha512-oX8d6ndRjN+tVyjj6PlXSyFPhDdVAPsZA30nD3/II8g4uOv8fCz0DMn5sy8KtVbDfKQxOpGwGJnK3xIW3tauDw==", "dev": true, "requires": { - "async": "^2.5.0", - "loader-utils": "^1.1.0" + "data-urls": "^2.0.0", + "iconv-lite": "^0.6.2", + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-resolve": { @@ -17186,12 +17971,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -17217,12 +18002,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -17245,9 +18030,9 @@ } }, "speed-measure-webpack-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz", - "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz", + "integrity": "sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ==", "dev": true, "requires": { "chalk": "^2.0.1" @@ -17386,9 +18171,9 @@ "dev": true }, "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -17425,23 +18210,23 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -17480,12 +18265,6 @@ "ansi-regex": "^2.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -17499,13 +18278,13 @@ "dev": true }, "style-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", - "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", + "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", "dev": true, "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.6.4" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.6" }, "dependencies": { "big.js": { @@ -17521,30 +18300,24 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" } }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true } } }, @@ -17573,18 +18346,18 @@ } }, "stylus": { - "version": "0.54.7", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", - "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", "dev": true, "requires": { "css-parse": "~2.0.0", "debug": "~3.1.0", - "glob": "^7.1.3", - "mkdirp": "~0.5.x", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", "safer-buffer": "^2.1.2", "sax": "~1.2.4", - "semver": "^6.0.0", + "semver": "^6.3.0", "source-map": "^0.7.3" }, "dependencies": { @@ -17611,6 +18384,12 @@ "path-is-absolute": "^1.0.0" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -17710,43 +18489,31 @@ "dev": true }, "tar": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", - "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", + "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^3.0.0", - "minizlib": "^2.1.0", + "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, "terser": { - "version": "4.6.10", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz", - "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.0.tgz", + "integrity": "sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg==", "dev": true, "requires": { "commander": "^2.20.0", @@ -17775,184 +18542,39 @@ "buffer-from": "^1.0.0", "source-map": "^0.6.0" } - } - } - }, - "terser-webpack-plugin": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz", - "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==", - "dev": true, - "requires": { - "cacache": "^15.0.4", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.0.0", - "p-limit": "^2.3.0", - "schema-utils": "^2.6.6", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.6.13", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "cacache": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz", - "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "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 - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-worker": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz", - "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + } + } + }, + "terser-webpack-plugin": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz", + "integrity": "sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA==", + "dev": true, + "requires": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.3.0", + "p-limit": "^3.0.2", + "schema-utils": "^2.6.6", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^5.0.0", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "yocto-queue": "^0.1.0" } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } @@ -17986,9 +18608,9 @@ "dev": true }, "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -18095,6 +18717,23 @@ } } }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -18111,7 +18750,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true + "dev": true, + "optional": true }, "ts-loader": { "version": "5.4.5", @@ -18144,15 +18784,21 @@ "yn": "^3.0.0" } }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" }, "tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -18163,11 +18809,28 @@ "glob": "^7.1.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "resolve": "^1.3.2", "semver": "^5.3.0", - "tslib": "^1.8.0", + "tslib": "^1.13.0", "tsutils": "^2.29.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } } }, "tslint-config-prettier": { @@ -18177,12 +18840,177 @@ "dev": true }, "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", "requires": { "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tsutils-etc": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/tsutils-etc/-/tsutils-etc-1.3.2.tgz", + "integrity": "sha512-hAQoELuJxKiJ7nISOuTFI+OKcwtbBTfQh47DquqG4R0bDvhfK6vXvykoKTNpBBS1n67vGvGPqEtnR9zE6dfWdg==", + "dev": true, + "requires": { + "@types/yargs": "^15.0.5", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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 + }, + "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 + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "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" + } + }, + "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" + } + } } }, "tty-browserify": { @@ -18204,6 +19032,12 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, "type-fest": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", @@ -18222,46 +19056,20 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" - }, - "ua-parser-js": { - "version": "0.7.21", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", - "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", - "dev": true - }, - "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typescript": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz", + "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", + "dev": true }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", @@ -18333,23 +19141,23 @@ } }, "universal-analytics": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", - "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", + "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", "dev": true, "requires": { - "debug": "^3.0.0", - "request": "^2.88.0", + "debug": "^4.1.1", + "request": "^2.88.2", "uuid": "^3.0.0" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -18358,6 +19166,46 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -18540,11 +19388,42 @@ "object.getownpropertydescriptors": "^2.1.0" }, "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } } } }, @@ -18618,148 +19497,21 @@ "dev": true }, "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { - "chokidar": "^3.4.0", + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true, - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - }, - "dependencies": { - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "optional": true - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } + "watchpack-chokidar2": "^2.0.1" } }, "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -18814,41 +19566,47 @@ "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, "webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", + "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", + "enhanced-resolve": "^4.3.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", "loader-utils": "^1.2.3", "memory-fs": "^0.4.1", "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "neo-async": "^2.6.1", "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.0", + "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" }, "dependencies": { "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -18863,12 +19621,6 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", @@ -18890,14 +19642,57 @@ "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + } } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "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 + }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -18929,12 +19724,6 @@ "path-is-absolute": "^1.0.0" } }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -18976,16 +19765,10 @@ "yallist": "^3.0.2" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "rimraf": { @@ -19014,6 +19797,16 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -19023,17 +19816,28 @@ "figgy-pudding": "^3.5.1" } }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, "terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", @@ -19140,12 +19944,12 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "del": { @@ -19307,9 +20111,9 @@ } }, "webpack-subresource-integrity": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz", - "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz", + "integrity": "sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw==", "dev": true, "requires": { "webpack-sources": "^1.3.0" @@ -19330,6 +20134,23 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, "when": { "version": "3.6.4", "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", @@ -19370,9 +20191,9 @@ } }, "worker-plugin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.3.tgz", - "integrity": "sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz", + "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==", "dev": true, "requires": { "loader-utils": "^1.1.0" @@ -19438,9 +20259,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", "dev": true }, "xhr2": { @@ -19454,12 +20275,6 @@ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", "dev": true }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -19473,9 +20288,9 @@ "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { @@ -19562,6 +20377,12 @@ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, "zone.js": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", diff --git a/package.json b/package.json index 2292bf8ad6..fed23b3ae4 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "test": "npx ng test", "lint": "npx ng lint", "e2e": "npx ng e2e", + "postinstall": "ngcc", "test-dev-no-auth": "npx cypress run --record --reporter junit -c baseUrl=https://dev.dockstore.net -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", "test-staging-no-auth": "npx cypress run -c baseUrl=https://staging.dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", "test-prod-no-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", @@ -28,28 +29,28 @@ }, "private": true, "dependencies": { - "@angular/animations": "^9.1.11", - "@angular/cdk": "^9.2.4", - "@angular/common": "^9.1.11", - "@angular/compiler": "^9.1.11", - "@angular/core": "^9.1.11", - "@angular/flex-layout": "^9.0.0-beta.31", - "@angular/forms": "^9.1.11", - "@angular/material": "^9.2.4", - "@angular/platform-browser": "^9.1.11", - "@angular/platform-browser-dynamic": "^9.1.11", - "@angular/platform-server": "^9.1.11", - "@angular/router": "^9.1.11", + "@angular/animations": "^10.2.3", + "@angular/cdk": "^10.2.7", + "@angular/common": "^10.2.3", + "@angular/compiler": "^10.2.3", + "@angular/core": "^10.2.3", + "@angular/flex-layout": "^10.0.0-beta.32", + "@angular/forms": "^10.2.3", + "@angular/material": "^10.2.7", + "@angular/platform-browser": "^10.2.3", + "@angular/platform-browser-dynamic": "^10.2.3", + "@angular/platform-server": "^10.2.3", + "@angular/router": "^10.2.3", "@datorama/akita": "^4.10.8", "@datorama/akita-ng-forms-manager": "^3.1.0", - "@fortawesome/angular-fontawesome": "^0.6.1", + "@fortawesome/angular-fontawesome": "^0.7.0", "@fortawesome/fontawesome-svg-core": "^1.2.29", "@fortawesome/free-brands-svg-icons": "^5.13.1", "@fortawesome/free-solid-svg-icons": "^5.13.1", - "@material-extended/mde": "^2.3.1", + "@material-extended/mde": "^3.0.3", "@ngx-lite/json-ld": "^0.6.2", "ace-builds": "^1.4.6", - "angular-tag-cloud-module": "^3.8.1", + "angular-tag-cloud-module": "^5.2.0", "bodybuilder": "^2.2.17", "bootstrap": "^3.4.1", "bootstrap-social": "^5.1.1", @@ -63,20 +64,22 @@ "jquery": "^3.5.1", "material-design-icons-iconfont": "^6.1.0", "ng2-ui-auth": "^10.0.1", - "ngx-clipboard": "^13.0.1", - "ngx-markdown": "^9.1.1", + "ngx-clipboard": "^14.0.1", + "ngx-markdown": "^10.1.1", "ngx-sharebuttons": "^8.0.0", - "rxjs": "^6.5.3", + "ngx-window-token": "^4.0.0", + "rxjs": "^6.6.3", "ts-md5": "^1.2.6", - "tslib": "^1.10.0", + "tslib": "^2.0.3", + "tsutils": "^3.17.1", "uuid": "^7.0.3", "zone.js": "~0.10.2" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.901.9", - "@angular/cli": "^9.1.9", - "@angular/compiler-cli": "^9.1.11", - "@angular/language-service": "^9.1.11", + "@angular-devkit/build-angular": "~0.1002.0", + "@angular/cli": "^10.2.0", + "@angular/compiler-cli": "^10.2.3", + "@angular/language-service": "^10.2.3", "@cypress/webpack-preprocessor": "^4.1.0", "@datorama/akita-ngdevtools": "^3.0.2", "@types/cytoscape": "^3.8.2", @@ -86,27 +89,26 @@ "@types/jasminewd2": "^2.0.6", "@types/jquery": "^3.3.31", "@types/node": "^12.11.1", - "codelyzer": "^5.1.2", + "codelyzer": "^6.0.1", "cypress": "^5.0.0", "husky": "^3.0.5", - "jasmine-core": "^3.5.0", - "jasmine-spec-reporter": "^4.2.1", - "karma": "^5.2.2", - "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-jasmine": "^2.0.1", - "karma-jasmine-html-reporter": "^1.4.2", + "jasmine-core": "~3.5.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~5.0.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.5.0", "karma-spec-reporter": "0.0.32", "license-checker": "^25.0.1", "lint-staged": "^9.4.0", "prettier": "^2.1.1", - "rxjs-tslint": "^0.1.8", - "rxjs-tslint-rules": "^4.17.0", + "rxjs-tslint-rules": "^4.34.7", "ts-loader": "^5.4.5", "ts-node": "^8.4.1", - "tslint": "^5.20.0", + "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0", - "typescript": "^3.8.3" + "typescript": "^4.0.5" }, "husky": { "hooks": { diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index f576002634..39e157bb46 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,4 +1,4 @@ -import { async, TestBed } from '@angular/core/testing'; +import { TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { RouterLinkStubDirective, RouterOutletStubComponent } from './test/router-stubs'; @@ -27,27 +27,32 @@ class TosBannerStubComponent {} class NotificationStubComponent {} describe('AppComponent', () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ - AppComponent, - NavbarStubComponent, - SponsorsStubComponent, - FooterStubComponent, - BannerStubComponent, - RouterLinkStubDirective, - RouterOutletStubComponent, - TosBannerStubComponent, - NotificationStubComponent, - ], - imports: [RouterTestingModule, MatSnackBarModule], - providers: [{ provide: TrackLoginService, useClass: TrackLoginStubService }], - }).compileComponents(); - })); - - it('should create the app', async(() => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app).toBeTruthy(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent, + NavbarStubComponent, + SponsorsStubComponent, + FooterStubComponent, + BannerStubComponent, + RouterLinkStubDirective, + RouterOutletStubComponent, + TosBannerStubComponent, + NotificationStubComponent, + ], + imports: [RouterTestingModule, MatSnackBarModule], + providers: [{ provide: TrackLoginService, useClass: TrackLoginStubService }], + }).compileComponents(); + }) + ); + + it( + 'should create the app', + waitForAsync(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + }) + ); }); diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 723e93083c..5ffa679bbf 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http'; +import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { FlexLayoutModule } from '@angular/flex-layout'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { MAT_SNACK_BAR_DEFAULT_OPTIONS, MatSnackBarConfig } from '@angular/material/snack-bar'; -import { MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipDefaultOptions } from '@angular/material/tooltip'; +import { MatSnackBarConfig, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar'; +import { MatTooltipDefaultOptions, MAT_TOOLTIP_DEFAULT_OPTIONS } from '@angular/material/tooltip'; import { BrowserModule, Title } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { AkitaNgDevtools } from '@datorama/akita-ngdevtools'; @@ -220,7 +220,6 @@ export function configurationServiceFactory(configurationService: ConfigurationS { provide: HTTP_INTERCEPTORS, useClass: WorkflowVersionsInterceptor, multi: true }, { provide: HTTP_INTERCEPTORS, useClass: CustomHeaderInterceptor, multi: true }, ], - entryComponents: [DeleteAccountDialogComponent, YoutubeComponent, ConfirmationDialogComponent], bootstrap: [AppComponent], }) export class AppModule {} diff --git a/src/app/banner/banner.component.spec.ts b/src/app/banner/banner.component.spec.ts index a3b06b9b7b..6a2b295209 100644 --- a/src/app/banner/banner.component.spec.ts +++ b/src/app/banner/banner.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MetadataService } from '../metadata/metadata.service'; import { GA4GHService } from './../shared/swagger/api/gA4GH.service'; import { GA4GHStubService } from './../test/service-stubs'; @@ -8,12 +8,14 @@ describe('BannerComponent', () => { let component: BannerComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [BannerComponent], - providers: [MetadataService, { provide: GA4GHService, useClass: GA4GHStubService }], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [BannerComponent], + providers: [MetadataService, { provide: GA4GHService, useClass: GA4GHStubService }], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(BannerComponent); diff --git a/src/app/confirmation-dialog/confirmation-dialog.component.ts b/src/app/confirmation-dialog/confirmation-dialog.component.ts index 1104f3313e..a6061504dc 100644 --- a/src/app/confirmation-dialog/confirmation-dialog.component.ts +++ b/src/app/confirmation-dialog/confirmation-dialog.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, OnInit } from '@angular/core'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; export class ConfirmationDialogData { message?: string; diff --git a/src/app/container/descriptors/descriptors.component.spec.ts b/src/app/container/descriptors/descriptors.component.spec.ts index c00fd72fd5..951cd42c97 100644 --- a/src/app/container/descriptors/descriptors.component.spec.ts +++ b/src/app/container/descriptors/descriptors.component.spec.ts @@ -15,7 +15,7 @@ */ import { HttpClientModule } from '@angular/common/http'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { ContainersStubService, ContainerStubService, EntryStubService, GA4GHV20StubService } from '../../../../src/app/test/service-stubs'; @@ -32,21 +32,23 @@ describe('DescriptorsComponent', () => { let fixture: ComponentFixture; class FileStubService {} - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DescriptorsComponent], - imports: [HttpClientModule, MatSnackBarModule], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - DescriptorService, - { provide: ContainersService, useClass: ContainersStubService }, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: FileService, useClass: FileStubService }, - { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, - { provide: EntriesService, useClass: EntryStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DescriptorsComponent], + imports: [HttpClientModule, MatSnackBarModule], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + DescriptorService, + { provide: ContainersService, useClass: ContainersStubService }, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: FileService, useClass: FileStubService }, + { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, + { provide: EntriesService, useClass: EntryStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(DescriptorsComponent); diff --git a/src/app/container/dockerfile/dockerfile.component.spec.ts b/src/app/container/dockerfile/dockerfile.component.spec.ts index 2c0d4b3ff8..3f227ee756 100644 --- a/src/app/container/dockerfile/dockerfile.component.spec.ts +++ b/src/app/container/dockerfile/dockerfile.component.spec.ts @@ -15,7 +15,7 @@ */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ContainersService } from '../../shared/swagger'; import { ContainerService } from './../../shared/container.service'; import { FileService } from './../../shared/file.service'; @@ -26,17 +26,19 @@ describe('DockerfileComponent', () => { let component: DockerfileComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DockerfileComponent], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - { provide: FileService, useClass: FileStubService }, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: ContainersService, useClass: ContainersStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DockerfileComponent], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + { provide: FileService, useClass: FileStubService }, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: ContainersService, useClass: ContainersStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(DockerfileComponent); diff --git a/src/app/container/refresh-tool-organization/refresh-tool-organization.component.spec.ts b/src/app/container/refresh-tool-organization/refresh-tool-organization.component.spec.ts index a3a7a3e416..7fbca8089a 100644 --- a/src/app/container/refresh-tool-organization/refresh-tool-organization.component.spec.ts +++ b/src/app/container/refresh-tool-organization/refresh-tool-organization.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @@ -38,19 +38,21 @@ describe('RefreshToolOrganizationComponent', () => { let component: RefreshToolOrganizationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [RefreshToolOrganizationComponent], - imports: [MatSnackBarModule, MatIconModule, MatButtonModule, MatTooltipModule], - providers: [ - { provide: UsersService, useClass: UsersStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - { provide: ContainersService, useClass: ContainersStubService }, - { provide: ProviderService, useClass: ProviderStubService }, - { provide: ExtendedDockstoreToolService, useClass: ExtendedDockstoreToolStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [RefreshToolOrganizationComponent], + imports: [MatSnackBarModule, MatIconModule, MatButtonModule, MatTooltipModule], + providers: [ + { provide: UsersService, useClass: UsersStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + { provide: ContainersService, useClass: ContainersStubService }, + { provide: ProviderService, useClass: ProviderStubService }, + { provide: ExtendedDockstoreToolService, useClass: ExtendedDockstoreToolStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(RefreshToolOrganizationComponent); diff --git a/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts b/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts index 707df82d99..de8a523ba0 100644 --- a/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts +++ b/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts @@ -1,5 +1,5 @@ import { HttpClientModule } from '@angular/common/http'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; @@ -30,40 +30,42 @@ describe('ToolFileEditorComponent', () => { let component: ToolFileEditorComponent; let fixture: ComponentFixture; class FileStubService {} - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ - ToolFileEditorComponent, - CodeEditorListComponent, - CodeEditorComponent, - PublicFileDownloadPipe, - PrivateFileDownloadPipe, - PrivateFilePathPipe, - ], - imports: [ - MatButtonModule, - MatTabsModule, - MatToolbarModule, - MatIconModule, - MatSnackBarModule, - MatInputModule, - MatFormFieldModule, - MatSelectModule, - MatTooltipModule, - MatCardModule, - BrowserAnimationsModule, - ClipboardModule, - HttpClientModule, - ], - providers: [ - { provide: HostedService, useClass: HostedStubService }, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: FileService, useClass: FileStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ + ToolFileEditorComponent, + CodeEditorListComponent, + CodeEditorComponent, + PublicFileDownloadPipe, + PrivateFileDownloadPipe, + PrivateFilePathPipe, + ], + imports: [ + MatButtonModule, + MatTabsModule, + MatToolbarModule, + MatIconModule, + MatSnackBarModule, + MatInputModule, + MatFormFieldModule, + MatSelectModule, + MatTooltipModule, + MatCardModule, + BrowserAnimationsModule, + ClipboardModule, + HttpClientModule, + ], + providers: [ + { provide: HostedService, useClass: HostedStubService }, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: FileService, useClass: FileStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(ToolFileEditorComponent); diff --git a/src/app/container/version-modal/version-modal.component.spec.ts b/src/app/container/version-modal/version-modal.component.spec.ts index 8bf0037435..b5ae0b9ae8 100644 --- a/src/app/container/version-modal/version-modal.component.spec.ts +++ b/src/app/container/version-modal/version-modal.component.spec.ts @@ -1,5 +1,5 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { ClipboardModule } from 'ngx-clipboard'; @@ -27,22 +27,24 @@ describe('VersionModalComponent', () => { let component: VersionModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - schemas: [NO_ERRORS_SCHEMA], - declarations: [VersionModalComponent], - imports: [FormsModule, ClipboardModule, MatSnackBarModule, MatDialogModule], - providers: [ - { provide: ParamfilesService, useClass: ParamFilesStubService }, - { provide: VersionModalService, useClass: VersionModalStubService }, - { provide: ListContainersService, useClass: ListContainersService }, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: ContainersService, useClass: ContainersStubService }, - { provide: ContainertagsService, useClass: ContainertagsStubService }, - { provide: DateService, useClass: DateStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + schemas: [NO_ERRORS_SCHEMA], + declarations: [VersionModalComponent], + imports: [FormsModule, ClipboardModule, MatSnackBarModule, MatDialogModule], + providers: [ + { provide: ParamfilesService, useClass: ParamFilesStubService }, + { provide: VersionModalService, useClass: VersionModalStubService }, + { provide: ListContainersService, useClass: ListContainersService }, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: ContainersService, useClass: ContainersStubService }, + { provide: ContainertagsService, useClass: ContainertagsStubService }, + { provide: DateService, useClass: DateStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(VersionModalComponent); diff --git a/src/app/docs/docs.component.spec.ts b/src/app/docs/docs.component.spec.ts index 0e43966286..9c398e7883 100644 --- a/src/app/docs/docs.component.spec.ts +++ b/src/app/docs/docs.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { async, TestBed } from '@angular/core/testing'; +import { TestBed, waitForAsync } from '@angular/core/testing'; import { HeaderModule } from './../shared/modules/header.module'; import { RouterLinkStubDirective, RouterOutletStubComponent } from './../test/router-stubs'; import { DocsComponent } from './docs.component'; @@ -25,12 +25,14 @@ import { DocsComponent } from './docs.component'; describe('DocsComponent', () => { // let component: DocsComponent; // let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DocsComponent, RouterLinkStubDirective, RouterOutletStubComponent], - imports: [HeaderModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DocsComponent, RouterLinkStubDirective, RouterOutletStubComponent], + imports: [HeaderModule], + }).compileComponents(); + }) + ); // beforeEach(() => { // fixture = TestBed.createComponent(DocsComponent); diff --git a/src/app/footer/footer.component.spec.ts b/src/app/footer/footer.component.spec.ts index 2509c3d5f8..42d997b7d7 100644 --- a/src/app/footer/footer.component.spec.ts +++ b/src/app/footer/footer.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatIconModule } from '@angular/material/icon'; import { RouterTestingModule } from '@angular/router/testing'; import { MetadataService } from '../metadata/metadata.service'; @@ -28,13 +28,15 @@ describe('FooterComponent', () => { let component: FooterComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [FooterComponent, GitTagPipe], - imports: [RouterTestingModule, MatIconModule], - providers: [MetadataService, { provide: GA4GHService, useClass: GA4GHStubService }], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [FooterComponent, GitTagPipe], + imports: [RouterTestingModule, MatIconModule], + providers: [MetadataService, { provide: GA4GHService, useClass: GA4GHStubService }], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(FooterComponent); diff --git a/src/app/funding/funding.component.spec.ts b/src/app/funding/funding.component.spec.ts index e6eb069b44..47140c1222 100644 --- a/src/app/funding/funding.component.spec.ts +++ b/src/app/funding/funding.component.spec.ts @@ -1,7 +1,5 @@ /* tslint:disable:no-unused-variable */ -import { DebugElement } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FundingComponent } from './funding.component'; @@ -9,11 +7,13 @@ describe('FundingComponent', () => { let component: FundingComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [FundingComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [FundingComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(FundingComponent); diff --git a/src/app/header/header.component.spec.ts b/src/app/header/header.component.spec.ts index 897b7eaf54..8e2eb454a6 100644 --- a/src/app/header/header.component.spec.ts +++ b/src/app/header/header.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { RouterTestingModule } from '@angular/router/testing'; @@ -24,13 +24,15 @@ describe('HeaderComponent', () => { let component: HeaderComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [RouterTestingModule], - schemas: [NO_ERRORS_SCHEMA], - declarations: [HeaderComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [RouterTestingModule], + schemas: [NO_ERRORS_SCHEMA], + declarations: [HeaderComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(HeaderComponent); diff --git a/src/app/home-page/home-logged-in/home-logged-in.component.spec.ts b/src/app/home-page/home-logged-in/home-logged-in.component.spec.ts index 261946f962..1d9205b984 100644 --- a/src/app/home-page/home-logged-in/home-logged-in.component.spec.ts +++ b/src/app/home-page/home-logged-in/home-logged-in.component.spec.ts @@ -1,6 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; import { MatIconModule } from '@angular/material/icon'; @@ -12,14 +11,16 @@ describe('HomeLoggedInComponent', () => { let component: HomeLoggedInComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [HomeLoggedInComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [RouterTestingModule, MatButtonModule, MatIconModule, MatDialogModule], - providers: [TwitterService], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [HomeLoggedInComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [RouterTestingModule, MatButtonModule, MatIconModule, MatDialogModule], + providers: [TwitterService], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(HomeLoggedInComponent); diff --git a/src/app/home-page/home-logged-out/home.component.spec.ts b/src/app/home-page/home-logged-out/home.component.spec.ts index 2d5ffec72d..2a10177f3a 100644 --- a/src/app/home-page/home-logged-out/home.component.spec.ts +++ b/src/app/home-page/home-logged-out/home.component.spec.ts @@ -15,7 +15,7 @@ */ import { HttpClientTestingModule } from '@angular/common/http/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { DescriptorLanguageService } from 'app/shared/entry/descriptor-language.service'; import { CustomMaterialModule } from 'app/shared/modules/material.module'; @@ -26,14 +26,16 @@ describe('HomeComponent', () => { let component: HomeComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [HomeComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [CustomMaterialModule, RouterTestingModule, HttpClientTestingModule], - providers: [TwitterService, DescriptorLanguageService], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [HomeComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [CustomMaterialModule, RouterTestingModule, HttpClientTestingModule], + providers: [TwitterService, DescriptorLanguageService], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(HomeComponent); diff --git a/src/app/home-page/home-page.component.spec.ts b/src/app/home-page/home-page.component.spec.ts index b8196d956a..447f02153a 100644 --- a/src/app/home-page/home-page.component.spec.ts +++ b/src/app/home-page/home-page.component.spec.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-unused-variable */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { HomePageComponent } from './home-page.component'; @@ -8,13 +8,15 @@ describe('HomePageComponent', () => { let component: HomePageComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [HomePageComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [RouterTestingModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [HomePageComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [RouterTestingModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(HomePageComponent); diff --git a/src/app/home-page/home-page.module.ts b/src/app/home-page/home-page.module.ts index fec2714d5e..67e2e8b4a8 100644 --- a/src/app/home-page/home-page.module.ts +++ b/src/app/home-page/home-page.module.ts @@ -49,7 +49,6 @@ import { RequestsComponent } from './widget/requests/requests.component'; GettingStartedComponent, EntryToDisplayNamePipe, ], - entryComponents: [], exports: [NgxJsonLdModule], }) export class HomePageModule {} diff --git a/src/app/home-page/widget/entries/entries.component.spec.ts b/src/app/home-page/widget/entries/entries.component.spec.ts index d17f14e090..071448e63a 100644 --- a/src/app/home-page/widget/entries/entries.component.spec.ts +++ b/src/app/home-page/widget/entries/entries.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { FormsModule } from '@angular/forms'; @@ -13,12 +13,14 @@ describe('EntriesComponent', () => { let component: EntriesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [EntriesComponent, LoadingComponent], - imports: [RouterTestingModule, MatFormFieldModule, FormsModule, HttpClientTestingModule, MatTooltipModule, MatProgressBarModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [EntriesComponent, LoadingComponent], + imports: [RouterTestingModule, MatFormFieldModule, FormsModule, HttpClientTestingModule, MatTooltipModule, MatProgressBarModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(EntriesComponent); diff --git a/src/app/home-page/widget/filtered-list.ts b/src/app/home-page/widget/filtered-list.ts index 6611012783..395925f069 100644 --- a/src/app/home-page/widget/filtered-list.ts +++ b/src/app/home-page/widget/filtered-list.ts @@ -1,4 +1,4 @@ -import { OnInit } from '@angular/core'; +import { Directive, OnInit } from '@angular/core'; import { Base } from 'app/shared/base'; import { UserQuery } from 'app/shared/user/user.query'; import { Observable, Subject } from 'rxjs'; @@ -8,6 +8,8 @@ import { EntriesService, OrganizationUpdateTime, UsersService } from '../../shar /** * Base class for logged in homepage widgets that have a filter list */ +@Directive() +// tslint:disable-next-line: directive-class-suffix export abstract class FilteredList extends Base implements OnInit { userId$: Observable; public hasItems = false; diff --git a/src/app/home-page/widget/getting-started/getting-started.component.spec.ts b/src/app/home-page/widget/getting-started/getting-started.component.spec.ts index 855a7e10dc..562edfdbc8 100644 --- a/src/app/home-page/widget/getting-started/getting-started.component.spec.ts +++ b/src/app/home-page/widget/getting-started/getting-started.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; @@ -9,12 +9,14 @@ describe('GettingStartedComponent', () => { let component: GettingStartedComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [GettingStartedComponent, RouterLinkStubDirective], - imports: [MatIconModule, MatButtonModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [GettingStartedComponent, RouterLinkStubDirective], + imports: [MatIconModule, MatButtonModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(GettingStartedComponent); diff --git a/src/app/home-page/widget/news-updates/news-updates.component.spec.ts b/src/app/home-page/widget/news-updates/news-updates.component.spec.ts index e3c6f46980..5c7c034d12 100644 --- a/src/app/home-page/widget/news-updates/news-updates.component.spec.ts +++ b/src/app/home-page/widget/news-updates/news-updates.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { MarkdownModule } from 'ngx-markdown'; @@ -8,12 +8,14 @@ describe('NewsUpdatesComponent', () => { let component: NewsUpdatesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [NewsUpdatesComponent], - imports: [MarkdownModule, HttpClientTestingModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [NewsUpdatesComponent], + imports: [MarkdownModule, HttpClientTestingModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(NewsUpdatesComponent); diff --git a/src/app/home-page/widget/organizations/organizations.component.spec.ts b/src/app/home-page/widget/organizations/organizations.component.spec.ts index aa0c886b9b..2dfb5c28b1 100644 --- a/src/app/home-page/widget/organizations/organizations.component.spec.ts +++ b/src/app/home-page/widget/organizations/organizations.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { FormsModule } from '@angular/forms'; @@ -13,12 +13,14 @@ describe('OrganizationsComponent', () => { let component: OrganizationsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [OrganizationsComponent, LoadingComponent], - imports: [RouterTestingModule, MatFormFieldModule, FormsModule, HttpClientTestingModule, MatTooltipModule, MatProgressBarModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [OrganizationsComponent, LoadingComponent], + imports: [RouterTestingModule, MatFormFieldModule, FormsModule, HttpClientTestingModule, MatTooltipModule, MatProgressBarModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(OrganizationsComponent); diff --git a/src/app/home-page/widget/requests/requests.component.spec.ts b/src/app/home-page/widget/requests/requests.component.spec.ts index 316247c9e4..a349c11672 100644 --- a/src/app/home-page/widget/requests/requests.component.spec.ts +++ b/src/app/home-page/widget/requests/requests.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { RouterTestingModule } from '@angular/router/testing'; @@ -11,13 +11,15 @@ describe('RequestsComponent', () => { let component: RequestsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [RequestsComponent], - imports: [RouterTestingModule, HttpClientTestingModule, CustomMaterialModule], - providers: [{ provide: UsersService, useClass: UsersStubService }], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [RequestsComponent], + imports: [RouterTestingModule, HttpClientTestingModule, CustomMaterialModule], + providers: [{ provide: UsersService, useClass: UsersStubService }], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(RequestsComponent); diff --git a/src/app/interceptors/custom-header.interceptor.spec.ts b/src/app/interceptors/custom-header.interceptor.spec.ts index cd510a0558..c8270ee312 100644 --- a/src/app/interceptors/custom-header.interceptor.spec.ts +++ b/src/app/interceptors/custom-header.interceptor.spec.ts @@ -1,4 +1,4 @@ -import { HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http'; +import { HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { inject, TestBed } from '@angular/core/testing'; import { versions } from '../footer/versions'; diff --git a/src/app/login/login.component.spec.ts b/src/app/login/login.component.spec.ts index f243e6c505..9e1a962fc8 100644 --- a/src/app/login/login.component.spec.ts +++ b/src/app/login/login.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { RegisterService } from '../register/register.service'; @@ -28,19 +28,21 @@ describe('LoginComponent', () => { let component: LoginComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LoginComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [RouterTestingModule], - providers: [ - { provide: TrackLoginService, useClass: TrackLoginStubService }, - { provide: UserService, useClass: UserStubService }, - { provide: LoginService, useClass: LoginStubService }, - { provide: RegisterService, useClass: LoginStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LoginComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [RouterTestingModule], + providers: [ + { provide: TrackLoginService, useClass: TrackLoginStubService }, + { provide: UserService, useClass: UserStubService }, + { provide: LoginService, useClass: LoginStubService }, + { provide: RegisterService, useClass: LoginStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(LoginComponent); diff --git a/src/app/loginComponents/accounts/controls/controls.component.spec.ts b/src/app/loginComponents/accounts/controls/controls.component.spec.ts index f15bfda4f0..cb9de1794a 100644 --- a/src/app/loginComponents/accounts/controls/controls.component.spec.ts +++ b/src/app/loginComponents/accounts/controls/controls.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -14,17 +14,19 @@ describe('ControlsComponent', () => { let component: ControlsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ControlsComponent, ChangeUsernameComponent], - imports: [CustomMaterialModule, BrowserAnimationsModule, ReactiveFormsModule], - providers: [ - { provide: UserService, useClass: UserStubService }, - { provide: UsersService, useClass: UsersStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ControlsComponent, ChangeUsernameComponent], + imports: [CustomMaterialModule, BrowserAnimationsModule, ReactiveFormsModule], + providers: [ + { provide: UserService, useClass: UserStubService }, + { provide: UsersService, useClass: UsersStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(ControlsComponent); diff --git a/src/app/loginComponents/accounts/controls/delete-account-dialog/delete-account-dialog.component.spec.ts b/src/app/loginComponents/accounts/controls/delete-account-dialog/delete-account-dialog.component.spec.ts index 2456ea606e..50f005d637 100644 --- a/src/app/loginComponents/accounts/controls/delete-account-dialog/delete-account-dialog.component.spec.ts +++ b/src/app/loginComponents/accounts/controls/delete-account-dialog/delete-account-dialog.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; @@ -13,23 +13,25 @@ describe('DeleteAccountDialogComponent', () => { let component: DeleteAccountDialogComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DeleteAccountDialogComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [CustomMaterialModule, ReactiveFormsModule], - providers: [ - { provide: LogoutService, useClass: LogoutStubService }, - { provide: UsersService, useClass: UsersStubService }, - { - provide: MatDialogRef, - useValue: { - close: (dialogResult: any) => {}, + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DeleteAccountDialogComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [CustomMaterialModule, ReactiveFormsModule], + providers: [ + { provide: LogoutService, useClass: LogoutStubService }, + { provide: UsersService, useClass: UsersStubService }, + { + provide: MatDialogRef, + useValue: { + close: (dialogResult: any) => {}, + }, }, - }, - ], - }).compileComponents(); - })); + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(DeleteAccountDialogComponent); diff --git a/src/app/loginComponents/accounts/internal/change-username/change-username.component.spec.ts b/src/app/loginComponents/accounts/internal/change-username/change-username.component.spec.ts index e0b3cc02ca..02cea8f739 100644 --- a/src/app/loginComponents/accounts/internal/change-username/change-username.component.spec.ts +++ b/src/app/loginComponents/accounts/internal/change-username/change-username.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; @@ -19,27 +19,29 @@ describe('ChangeUsernameComponent', () => { let component: ChangeUsernameComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ChangeUsernameComponent], - imports: [ - ReactiveFormsModule, - MatIconModule, - MatButtonModule, - MatTooltipModule, - MatProgressSpinnerModule, - MatInputModule, - MatFormFieldModule, - MatCardModule, - BrowserAnimationsModule, - ], - providers: [ - { provide: UserService, useClass: UserStubService }, - { provide: UsersService, useClass: UsersStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ChangeUsernameComponent], + imports: [ + ReactiveFormsModule, + MatIconModule, + MatButtonModule, + MatTooltipModule, + MatProgressSpinnerModule, + MatInputModule, + MatFormFieldModule, + MatCardModule, + BrowserAnimationsModule, + ], + providers: [ + { provide: UserService, useClass: UserStubService }, + { provide: UsersService, useClass: UsersStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(ChangeUsernameComponent); diff --git a/src/app/loginComponents/auth/auth.component.spec.ts b/src/app/loginComponents/auth/auth.component.spec.ts index c740d1b895..b5ff2ea4bc 100644 --- a/src/app/loginComponents/auth/auth.component.spec.ts +++ b/src/app/loginComponents/auth/auth.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @@ -11,16 +11,18 @@ describe('AuthComponent', () => { let component: AuthComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [AuthComponent], - imports: [RouterTestingModule.withRoutes([{ path: '**', component: AuthComponent }]), MatSnackBarModule], - providers: [ - { provide: UserService, useClass: UserStubService }, - { provide: TokenService, useClass: TokenStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [AuthComponent], + imports: [RouterTestingModule.withRoutes([{ path: '**', component: AuthComponent }]), MatSnackBarModule], + providers: [ + { provide: UserService, useClass: UserStubService }, + { provide: TokenService, useClass: TokenStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(AuthComponent); diff --git a/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.spec.ts b/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.spec.ts index 2833a3f150..b6e5d7de70 100644 --- a/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.spec.ts +++ b/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { AuthService } from 'ng2-ui-auth'; import { ClipboardModule } from 'ngx-clipboard'; @@ -18,25 +18,27 @@ describe('DownloadCLIClientComponent', () => { let component: DownloadCLIClientComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DownloadCLIClientComponent, RouterLinkStubDirective, RouterOutletStubComponent], - imports: [ - ClipboardModule, - MarkdownModule.forRoot(), - MatIconModule, - MatButtonModule, - HttpClientTestingModule, - MatTabsModule, - NoopAnimationsModule, - ], - providers: [ - { provide: AuthService, useClass: AuthStubService }, - { provide: GA4GHService, useClass: GA4GHStubService }, - MetadataService, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DownloadCLIClientComponent, RouterLinkStubDirective, RouterOutletStubComponent], + imports: [ + ClipboardModule, + MarkdownModule.forRoot(), + MatIconModule, + MatButtonModule, + HttpClientTestingModule, + MatTabsModule, + NoopAnimationsModule, + ], + providers: [ + { provide: AuthService, useClass: AuthStubService }, + { provide: GA4GHService, useClass: GA4GHStubService }, + MetadataService, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(DownloadCLIClientComponent); diff --git a/src/app/loginComponents/requests.module.ts b/src/app/loginComponents/requests.module.ts index 49d1bd3c83..2f5d201a6c 100644 --- a/src/app/loginComponents/requests.module.ts +++ b/src/app/loginComponents/requests.module.ts @@ -12,6 +12,5 @@ import { imports: [CommonModule, CustomMaterialModule, RouterModule, FlexLayoutModule], declarations: [RequestsComponent, OrganizationRequestConfirmDialogComponent, OrganizationInviteConfirmDialogComponent], exports: [RequestsComponent, OrganizationRequestConfirmDialogComponent, OrganizationInviteConfirmDialogComponent], - entryComponents: [OrganizationRequestConfirmDialogComponent, OrganizationInviteConfirmDialogComponent], }) export class RequestsModule {} diff --git a/src/app/loginComponents/requests/requests.component.ts b/src/app/loginComponents/requests/requests.component.ts index b6ed1d86e9..b0067ca738 100644 --- a/src/app/loginComponents/requests/requests.component.ts +++ b/src/app/loginComponents/requests/requests.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, OnInit } from '@angular/core'; -import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog'; +import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { Observable } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { ConfirmationDialogData } from '../../confirmation-dialog/confirmation-dialog.component'; diff --git a/src/app/logout/logout.component.spec.ts b/src/app/logout/logout.component.spec.ts index 197cbb6464..3d3d42f2a9 100644 --- a/src/app/logout/logout.component.spec.ts +++ b/src/app/logout/logout.component.spec.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { LogoutComponent } from './logout.component'; @@ -13,11 +13,13 @@ describe('LogoutComponent', () => { let component: LogoutComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LogoutComponent, HeaderComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LogoutComponent, HeaderComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(LogoutComponent); diff --git a/src/app/maintenance/maintenance.component.spec.ts b/src/app/maintenance/maintenance.component.spec.ts index 16a4a6bf98..6a2df51739 100644 --- a/src/app/maintenance/maintenance.component.spec.ts +++ b/src/app/maintenance/maintenance.component.spec.ts @@ -1,21 +1,21 @@ /* tslint:disable:no-unused-variable */ -import { DebugElement } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatCardModule } from '@angular/material/card'; import { MatIconModule } from '@angular/material/icon'; -import { By } from '@angular/platform-browser'; import { MaintenanceComponent } from './maintenance.component'; describe('MaintenanceComponent', () => { let component: MaintenanceComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [MaintenanceComponent], - imports: [MatCardModule, MatIconModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [MaintenanceComponent], + imports: [MatCardModule, MatIconModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(MaintenanceComponent); diff --git a/src/app/mytools/mytools.module.ts b/src/app/mytools/mytools.module.ts index 8fdbee245c..9dbfb10133 100644 --- a/src/app/mytools/mytools.module.ts +++ b/src/app/mytools/mytools.module.ts @@ -46,6 +46,5 @@ import { SidebarAccordionComponent } from './sidebar-accordion/sidebar-accordion RefreshWizardModule, ], providers: [RegisterToolService, AccountsService, MytoolsService], - entryComponents: [RegisterToolComponent], }) export class MyToolsModule {} diff --git a/src/app/mytools/sidebar-accordion/sidebar-accordion.component.spec.ts b/src/app/mytools/sidebar-accordion/sidebar-accordion.component.spec.ts index e73b79dea5..7d7d8c50ef 100644 --- a/src/app/mytools/sidebar-accordion/sidebar-accordion.component.spec.ts +++ b/src/app/mytools/sidebar-accordion/sidebar-accordion.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatExpansionModule } from '@angular/material/expansion'; import { MatIconModule } from '@angular/material/icon'; @@ -18,25 +18,27 @@ describe('SidebarAccordionComponent', () => { let component: SidebarAccordionComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SidebarAccordionComponent, RefreshToolOrganizationComponent, SelectTabPipe], - imports: [ - MatTabsModule, - MatToolbarModule, - MatIconModule, - MatButtonModule, - MatExpansionModule, - MatListModule, - MatTooltipModule, - RouterTestingModule, - ], - providers: [ - { provide: RegisterToolService, useClass: RegisterToolStubService }, - { provide: ContainerService, useClass: ContainerStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SidebarAccordionComponent, RefreshToolOrganizationComponent, SelectTabPipe], + imports: [ + MatTabsModule, + MatToolbarModule, + MatIconModule, + MatButtonModule, + MatExpansionModule, + MatListModule, + MatTooltipModule, + RouterTestingModule, + ], + providers: [ + { provide: RegisterToolService, useClass: RegisterToolStubService }, + { provide: ContainerService, useClass: ContainerStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SidebarAccordionComponent); diff --git a/src/app/myworkflows/my-workflow/my-workflow.component.spec.ts b/src/app/myworkflows/my-workflow/my-workflow.component.spec.ts index 9436f4e21d..2b2746d8d6 100644 --- a/src/app/myworkflows/my-workflow/my-workflow.component.spec.ts +++ b/src/app/myworkflows/my-workflow/my-workflow.component.spec.ts @@ -15,7 +15,7 @@ */ import { HttpClientTestingModule } from '@angular/common/http/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatDialogRef } from '@angular/material/dialog'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; @@ -54,35 +54,37 @@ describe('MyWorkflowsComponent', () => { let component: MyWorkflowComponent; let fixture: ComponentFixture; let registerWorkflowModalService: RegisterWorkflowModalService; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [MyWorkflowComponent, RouterLinkStubDirective, RouterOutletStubComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [RouterTestingModule, HttpClientTestingModule, BrowserAnimationsModule, CustomMaterialModule, MyEntriesModule], - providers: [ - UserQuery, - { provide: Configuration, useClass: ConfigurationStub }, - { provide: UsersService, useClass: UsersStubService }, - { provide: AuthService, useClass: AuthStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - { provide: RegisterWorkflowModalService, useClass: RegisterWorkflowModalStubService }, - MyWorkflowsService, - MyBioWorkflowsService, - MyServicesService, - TokenQuery, - { provide: AccountsService, useClass: AccountsStubService }, - { provide: WorkflowsService, useClass: WorkflowsStubService }, - { provide: UrlResolverService, useClass: UrlResolverStubService }, - { - provide: MatDialogRef, - useValue: { - close: (dialogResult: any) => {}, + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [MyWorkflowComponent, RouterLinkStubDirective, RouterOutletStubComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [RouterTestingModule, HttpClientTestingModule, BrowserAnimationsModule, CustomMaterialModule, MyEntriesModule], + providers: [ + UserQuery, + { provide: Configuration, useClass: ConfigurationStub }, + { provide: UsersService, useClass: UsersStubService }, + { provide: AuthService, useClass: AuthStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + { provide: RegisterWorkflowModalService, useClass: RegisterWorkflowModalStubService }, + MyWorkflowsService, + MyBioWorkflowsService, + MyServicesService, + TokenQuery, + { provide: AccountsService, useClass: AccountsStubService }, + { provide: WorkflowsService, useClass: WorkflowsStubService }, + { provide: UrlResolverService, useClass: UrlResolverStubService }, + { + provide: MatDialogRef, + useValue: { + close: (dialogResult: any) => {}, + }, }, - }, - ], - }).compileComponents(); - })); + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(MyWorkflowComponent); diff --git a/src/app/myworkflows/sidebar-accordion/github-apps-logs/github-apps-logs.module.ts b/src/app/myworkflows/sidebar-accordion/github-apps-logs/github-apps-logs.module.ts index 9700b8bc49..9f3204c648 100644 --- a/src/app/myworkflows/sidebar-accordion/github-apps-logs/github-apps-logs.module.ts +++ b/src/app/myworkflows/sidebar-accordion/github-apps-logs/github-apps-logs.module.ts @@ -25,6 +25,5 @@ import { GithubAppsLogsComponent } from './github-apps-logs.component'; @NgModule({ imports: [CustomMaterialModule, CommonModule, RefreshAlertModule, FlexLayoutModule, PipeModule], declarations: [GithubAppsLogsComponent], - entryComponents: [GithubAppsLogsComponent], }) export class GitHubAppsLogsModule {} diff --git a/src/app/myworkflows/sidebar-accordion/sidebar-accordion.component.spec.ts b/src/app/myworkflows/sidebar-accordion/sidebar-accordion.component.spec.ts index 8936fc5bc5..c7b81a019d 100644 --- a/src/app/myworkflows/sidebar-accordion/sidebar-accordion.component.spec.ts +++ b/src/app/myworkflows/sidebar-accordion/sidebar-accordion.component.spec.ts @@ -1,5 +1,5 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatDialogRef } from '@angular/material/dialog'; import { RouterTestingModule } from '@angular/router/testing'; import { CustomMaterialModule } from 'app/shared/modules/material.module'; @@ -16,29 +16,31 @@ describe('SidebarAccordionComponent', () => { let component: SidebarAccordionComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SidebarAccordionComponent, RefreshWorkflowOrganizationComponent, SelectTabPipe, GithubNameToIdPipe], - imports: [HttpClientTestingModule, CustomMaterialModule, RouterTestingModule], - providers: [ - { - provide: RegisterWorkflowModalService, - useClass: RegisterWorkflowModalStubService, - }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { - provide: MatDialogRef, - useValue: { - close: (dialogResult: any) => {}, + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SidebarAccordionComponent, RefreshWorkflowOrganizationComponent, SelectTabPipe, GithubNameToIdPipe], + imports: [HttpClientTestingModule, CustomMaterialModule, RouterTestingModule], + providers: [ + { + provide: RegisterWorkflowModalService, + useClass: RegisterWorkflowModalStubService, }, - }, - { - provide: RefreshService, - useClass: RefreshStubService, - }, - ], - }).compileComponents(); - })); + { provide: WorkflowService, useClass: WorkflowStubService }, + { + provide: MatDialogRef, + useValue: { + close: () => {}, + }, + }, + { + provide: RefreshService, + useClass: RefreshStubService, + }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SidebarAccordionComponent); diff --git a/src/app/navbar/navbar.component.spec.ts b/src/app/navbar/navbar.component.spec.ts index 01b8a5c3af..b034644ae4 100644 --- a/src/app/navbar/navbar.component.spec.ts +++ b/src/app/navbar/navbar.component.spec.ts @@ -14,14 +14,13 @@ * limitations under the License. */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatDividerModule } from '@angular/material/divider'; import { MatIconModule } from '@angular/material/icon'; import { MatMenuModule } from '@angular/material/menu'; import { MatToolbarModule } from '@angular/material/toolbar'; import { RouterTestingModule } from '@angular/router/testing'; - import { LogoutService } from '../shared/logout.service'; import { PageInfo } from '../shared/models/PageInfo'; import { PagenumberService } from '../shared/pagenumber.service'; @@ -33,18 +32,20 @@ describe('NavbarComponent', () => { let component: NavbarComponent; let fixture: ComponentFixture; let pagenumberService: PagenumberService; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [NavbarComponent], - imports: [RouterTestingModule, MatMenuModule, MatButtonModule, MatIconModule, MatDividerModule, MatToolbarModule], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - PagenumberService, - { provide: TrackLoginService, useClass: TrackLoginStubService }, - { provide: LogoutService, useClass: LogoutStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [NavbarComponent], + imports: [RouterTestingModule, MatMenuModule, MatButtonModule, MatIconModule, MatDividerModule, MatToolbarModule], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + PagenumberService, + { provide: TrackLoginService, useClass: TrackLoginStubService }, + { provide: LogoutService, useClass: LogoutStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(NavbarComponent); component = fixture.componentInstance; diff --git a/src/app/organizations/collection/add-entry.module.ts b/src/app/organizations/collection/add-entry.module.ts index 1862db71ea..76137efe2b 100644 --- a/src/app/organizations/collection/add-entry.module.ts +++ b/src/app/organizations/collection/add-entry.module.ts @@ -24,6 +24,5 @@ import { AddEntryComponent } from './add-entry/add-entry.component'; @NgModule({ imports: [CommonModule, CustomMaterialModule, CurrentCollectionsModule, FlexLayoutModule, RefreshAlertModule], declarations: [AddEntryComponent], - entryComponents: [AddEntryComponent], }) export class AddEntryModule {} diff --git a/src/app/organizations/collection/add-entry/add-entry.component.ts b/src/app/organizations/collection/add-entry/add-entry.component.ts index 255d21d946..2e5418a47a 100644 --- a/src/app/organizations/collection/add-entry/add-entry.component.ts +++ b/src/app/organizations/collection/add-entry/add-entry.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, OnInit } from '@angular/core'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { Observable } from 'rxjs'; import { Collection, OrganizationUser } from '../../../shared/swagger'; import { AddEntryQuery } from '../state/add-entry.query'; diff --git a/src/app/organizations/collection/collection.component.ts b/src/app/organizations/collection/collection.component.ts index 410eca29b6..2d56033747 100644 --- a/src/app/organizations/collection/collection.component.ts +++ b/src/app/organizations/collection/collection.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, OnInit } from '@angular/core'; -import { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog'; +import { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { Observable } from 'rxjs'; import { TagEditorMode } from '../../shared/enum/tagEditorMode.enum'; import { Collection, Organization } from '../../shared/swagger'; diff --git a/src/app/organizations/collections.module.ts b/src/app/organizations/collections.module.ts index 13bc350906..ebc6adedbc 100644 --- a/src/app/organizations/collections.module.ts +++ b/src/app/organizations/collections.module.ts @@ -28,6 +28,5 @@ import { UpdateOrganizationDescriptionModule } from './organization/update-organ ], declarations: [CollectionsComponent, CollectionComponent, CollectionRemoveEntryDialogComponent], exports: [CollectionsComponent, CollectionComponent], - entryComponents: [CollectionRemoveEntryDialogComponent], }) export class CollectionsModule {} diff --git a/src/app/organizations/collections/create-collection.module.ts b/src/app/organizations/collections/create-collection.module.ts index b97eab9e61..6e01441ee3 100644 --- a/src/app/organizations/collections/create-collection.module.ts +++ b/src/app/organizations/collections/create-collection.module.ts @@ -10,6 +10,5 @@ import { CreateCollectionComponent } from './create-collection/create-collection @NgModule({ imports: [CommonModule, FlexLayoutModule, CustomMaterialModule, ReactiveFormsModule, RefreshAlertModule], declarations: [CreateCollectionComponent], - entryComponents: [CreateCollectionComponent], }) export class CreateCollectionModule {} diff --git a/src/app/organizations/organization/organization-stargazers/organization-stargazers.component.spec.ts b/src/app/organizations/organization/organization-stargazers/organization-stargazers.component.spec.ts index 08f3a0258e..5588eeb10a 100644 --- a/src/app/organizations/organization/organization-stargazers/organization-stargazers.component.spec.ts +++ b/src/app/organizations/organization/organization-stargazers/organization-stargazers.component.spec.ts @@ -13,10 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatCardModule } from '@angular/material/card'; import { MatIconModule } from '@angular/material/icon'; - import { StarOrganizationService } from '../../../shared/star-organization.service'; import { UserService } from '../../../shared/user/user.service'; import { OrganizationStarringStubService, StarOrganizationStubService, UserStubService } from '../../../test/service-stubs'; @@ -27,17 +26,19 @@ describe('OrganizationStargazersComponent', () => { let component: OrganizationStargazersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [OrganizationStargazersComponent], - imports: [MatIconModule, MatCardModule], - providers: [ - { provide: UserService, useClass: UserStubService }, - { provide: OrganizationStarringService, useClass: OrganizationStarringStubService }, - { provide: StarOrganizationService, useClass: StarOrganizationStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [OrganizationStargazersComponent], + imports: [MatIconModule, MatCardModule], + providers: [ + { provide: UserService, useClass: UserStubService }, + { provide: OrganizationStarringService, useClass: OrganizationStarringStubService }, + { provide: StarOrganizationService, useClass: StarOrganizationStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(OrganizationStargazersComponent); diff --git a/src/app/organizations/organization/organization-starring/organization-starring.component.spec.ts b/src/app/organizations/organization/organization-starring/organization-starring.component.spec.ts index 608c7ba3c3..28b3586290 100644 --- a/src/app/organizations/organization/organization-starring/organization-starring.component.spec.ts +++ b/src/app/organizations/organization/organization-starring/organization-starring.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatIconModule } from '@angular/material/icon'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @@ -38,20 +38,22 @@ describe('OrganizationStarringComponent', () => { let component: OrganizationStarringComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [MatIconModule, MatSnackBarModule], - declarations: [OrganizationStarringComponent], - providers: [ - { provide: TrackLoginService, useClass: TrackLoginStubService }, - { provide: OrganizationStarringService, useClass: OrganizationStarringStubService }, - { provide: StarentryService, useClass: StarEntryStubService }, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: StarringService, useClass: StarringStubService }, - { provide: StarOrganizationService, useClass: StarOrganizationStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatIconModule, MatSnackBarModule], + declarations: [OrganizationStarringComponent], + providers: [ + { provide: TrackLoginService, useClass: TrackLoginStubService }, + { provide: OrganizationStarringService, useClass: OrganizationStarringStubService }, + { provide: StarentryService, useClass: StarEntryStubService }, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: StarringService, useClass: StarringStubService }, + { provide: StarOrganizationService, useClass: StarOrganizationStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(OrganizationStarringComponent); diff --git a/src/app/organizations/organization/update-organization-description.module.ts b/src/app/organizations/organization/update-organization-description.module.ts index e384d49288..dcd9f13c5d 100644 --- a/src/app/organizations/organization/update-organization-description.module.ts +++ b/src/app/organizations/organization/update-organization-description.module.ts @@ -26,7 +26,6 @@ import { UpdateOrganizationOrCollectionDescriptionComponent } from './update-org ], providers: [OrganizationStarringService, StarOrganizationService, OrgSchemaService], declarations: [UpdateOrganizationOrCollectionDescriptionComponent], - entryComponents: [UpdateOrganizationOrCollectionDescriptionComponent], exports: [NgxJsonLdModule], }) export class UpdateOrganizationDescriptionModule {} diff --git a/src/app/organizations/register-organization.module.ts b/src/app/organizations/register-organization.module.ts index 1cc5427f13..eee9701753 100644 --- a/src/app/organizations/register-organization.module.ts +++ b/src/app/organizations/register-organization.module.ts @@ -11,6 +11,5 @@ import { RegisterOrganizationComponent } from './registerOrganization/register-o imports: [CommonModule, FormsModule, CustomMaterialModule, ReactiveFormsModule, RefreshAlertModule], declarations: [RegisterOrganizationComponent], providers: [AlertService], - entryComponents: [RegisterOrganizationComponent], }) export class RegisterOrganizationModule {} diff --git a/src/app/organizations/upsert-organization-member.module.ts b/src/app/organizations/upsert-organization-member.module.ts index 89e63e2a03..6de2592f01 100644 --- a/src/app/organizations/upsert-organization-member.module.ts +++ b/src/app/organizations/upsert-organization-member.module.ts @@ -10,6 +10,5 @@ import { UpsertOrganizationMemberComponent } from './upsert-organization-member/ @NgModule({ imports: [CommonModule, FlexLayoutModule, CustomMaterialModule, ReactiveFormsModule, RefreshAlertModule], declarations: [UpsertOrganizationMemberComponent], - entryComponents: [UpsertOrganizationMemberComponent], }) export class UpsertOrganizationMemberModule {} diff --git a/src/app/search/basic-search/basic-search.component.spec.ts b/src/app/search/basic-search/basic-search.component.spec.ts index 6e5fac7c61..5b6911d9f6 100644 --- a/src/app/search/basic-search/basic-search.component.spec.ts +++ b/src/app/search/basic-search/basic-search.component.spec.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-unused-variable */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; @@ -14,14 +14,16 @@ describe('BasicSearchComponent', () => { let component: BasicSearchComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - schemas: [NO_ERRORS_SCHEMA], - imports: [MatAutocompleteModule, RouterTestingModule, BrowserAnimationsModule, CustomMaterialModule], - declarations: [BasicSearchComponent], - providers: [ProviderService, { provide: SearchService, useClass: SearchStubService }], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + schemas: [NO_ERRORS_SCHEMA], + imports: [MatAutocompleteModule, RouterTestingModule, BrowserAnimationsModule, CustomMaterialModule], + declarations: [BasicSearchComponent], + providers: [ProviderService, { provide: SearchService, useClass: SearchStubService }], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(BasicSearchComponent); diff --git a/src/app/search/query-builder.service.spec.ts b/src/app/search/query-builder.service.spec.ts index eba6449b2e..0ec27cfe3b 100644 --- a/src/app/search/query-builder.service.spec.ts +++ b/src/app/search/query-builder.service.spec.ts @@ -17,7 +17,7 @@ import { SearchStubService } from './../test/service-stubs'; /* tslint:disable:no-unused-variable */ -import { async, inject, TestBed } from '@angular/core/testing'; +import { inject, TestBed } from '@angular/core/testing'; import { QueryBuilderService } from './query-builder.service'; import { SearchService } from './state/search.service'; diff --git a/src/app/search/search-results/search-results.component.spec.ts b/src/app/search/search-results/search-results.component.spec.ts index cd5843c94b..5fc0b149a1 100644 --- a/src/app/search/search-results/search-results.component.spec.ts +++ b/src/app/search/search-results/search-results.component.spec.ts @@ -16,7 +16,7 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; /* tslint:disable:no-unused-variable */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TagCloudModule } from 'angular-tag-cloud-module'; import { QueryBuilderStubService, SearchStubService } from './../../test/service-stubs'; @@ -30,17 +30,19 @@ describe('SearchResultsComponent', () => { let component: SearchResultsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SearchResultsComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [TagCloudModule, RouterTestingModule], - providers: [ - { provide: SearchService, useClass: SearchStubService }, - { provide: QueryBuilderService, useClass: QueryBuilderStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SearchResultsComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [TagCloudModule, RouterTestingModule], + providers: [ + { provide: SearchService, useClass: SearchStubService }, + { provide: QueryBuilderService, useClass: QueryBuilderStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SearchResultsComponent); diff --git a/src/app/search/search-tool-table/search-tool-table.component.spec.ts b/src/app/search/search-tool-table/search-tool-table.component.spec.ts index 72709bcf94..b5868965f2 100644 --- a/src/app/search/search-tool-table/search-tool-table.component.spec.ts +++ b/src/app/search/search-tool-table/search-tool-table.component.spec.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-unused-variable */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; @@ -16,19 +16,21 @@ describe('SearchToolTableComponent', () => { let component: SearchToolTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SearchToolTableComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [CustomMaterialModule, BrowserAnimationsModule, RouterTestingModule], - providers: [ - { provide: DockstoreService, useClass: DockstoreStubService }, - DateService, - { provide: ListContainersService, useClass: ListContainersStubService }, - { provide: SearchService, useClass: SearchStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SearchToolTableComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [CustomMaterialModule, BrowserAnimationsModule, RouterTestingModule], + providers: [ + { provide: DockstoreService, useClass: DockstoreStubService }, + DateService, + { provide: ListContainersService, useClass: ListContainersStubService }, + { provide: SearchService, useClass: SearchStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SearchToolTableComponent); diff --git a/src/app/search/search-workflow-table/search-workflow-table.component.spec.ts b/src/app/search/search-workflow-table/search-workflow-table.component.spec.ts index 6f1a91b91a..ab661adf02 100644 --- a/src/app/search/search-workflow-table/search-workflow-table.component.spec.ts +++ b/src/app/search/search-workflow-table/search-workflow-table.component.spec.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-unused-variable */ import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -16,18 +16,20 @@ describe('SearchWorkflowTableComponent', () => { let component: SearchWorkflowTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SearchWorkflowTableComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [CustomMaterialModule, BrowserAnimationsModule, RouterTestingModule], - providers: [ - { provide: DockstoreService, useClass: DockstoreStubService }, - DateService, - { provide: SearchService, useClass: SearchStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SearchWorkflowTableComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [CustomMaterialModule, BrowserAnimationsModule, RouterTestingModule], + providers: [ + { provide: DockstoreService, useClass: DockstoreStubService }, + DateService, + { provide: SearchService, useClass: SearchStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SearchWorkflowTableComponent); diff --git a/src/app/search/search.component.spec.ts b/src/app/search/search.component.spec.ts index 9d5b5aa92d..6291c40b74 100644 --- a/src/app/search/search.component.spec.ts +++ b/src/app/search/search.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { Component } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { MdePopoverModule } from '@material-extended/mde'; @@ -53,18 +53,20 @@ describe('SearchComponent', () => { let searchQuery: jasmine.SpyObj; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SearchComponent, MapFriendlyValuesPipe, HeaderComponent, BasicSearchComponent, SearchResultsComponent], - imports: [CustomMaterialModule, ClipboardModule, FontAwesomeModule, RouterTestingModule, MdePopoverModule], - providers: [ - { provide: SearchService, useClass: SearchStubService }, - { provide: QueryBuilderService, useClass: QueryBuilderStubService }, - { provide: ProviderService, useClass: ProviderStubService }, - { provide: SearchQuery, useValue: jasmine.createSpyObj('SearchQuery', ['select', 'getValue', 'searchText']) }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SearchComponent, MapFriendlyValuesPipe, HeaderComponent, BasicSearchComponent, SearchResultsComponent], + imports: [CustomMaterialModule, ClipboardModule, FontAwesomeModule, RouterTestingModule, MdePopoverModule], + providers: [ + { provide: SearchService, useClass: SearchStubService }, + { provide: QueryBuilderService, useClass: QueryBuilderStubService }, + { provide: ProviderService, useClass: ProviderStubService }, + { provide: SearchQuery, useValue: jasmine.createSpyObj('SearchQuery', ['select', 'getValue', 'searchText']) }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SearchComponent); diff --git a/src/app/search/search.module.ts b/src/app/search/search.module.ts index 76dd1e48ad..bd2d4c203b 100644 --- a/src/app/search/search.module.ts +++ b/src/app/search/search.module.ts @@ -67,6 +67,5 @@ import { SearchService } from './state/search.service'; ], providers: [SearchService, QueryBuilderService], exports: [SearchComponent], - entryComponents: [AdvancedSearchComponent], }) export class SearchModule {} diff --git a/src/app/select/select.component.spec.ts b/src/app/select/select.component.spec.ts index dfbe1003b8..499f4c79c9 100644 --- a/src/app/select/select.component.spec.ts +++ b/src/app/select/select.component.spec.ts @@ -15,7 +15,7 @@ */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { SelectComponent } from './select.component'; @@ -23,12 +23,14 @@ describe('SelectComponent', () => { let component: SelectComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SelectComponent], - schemas: [NO_ERRORS_SCHEMA], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SelectComponent], + schemas: [NO_ERRORS_SCHEMA], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SelectComponent); diff --git a/src/app/shared-workflow-services/shared-workflow-services.module.ts b/src/app/shared-workflow-services/shared-workflow-services.module.ts index bd04d3af51..1aaf5e078d 100644 --- a/src/app/shared-workflow-services/shared-workflow-services.module.ts +++ b/src/app/shared-workflow-services/shared-workflow-services.module.ts @@ -48,6 +48,5 @@ const IMPORTS = [ imports: IMPORTS, providers: [MyWorkflowsService, MyBioWorkflowsService, MyServicesService], exports: DECLARATIONS.concat(IMPORTS), - entryComponents: [RegisterWorkflowModalComponent], }) export class SharedWorkflowServicesModule {} diff --git a/src/app/shared/alert/alert.component.spec.ts b/src/app/shared/alert/alert.component.spec.ts index 5469a88da7..da308ba4e9 100644 --- a/src/app/shared/alert/alert.component.spec.ts +++ b/src/app/shared/alert/alert.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatCardModule } from '@angular/material/card'; import { MatIconModule } from '@angular/material/icon'; import { MatProgressBarModule } from '@angular/material/progress-bar'; @@ -10,12 +10,14 @@ describe('RefreshAlertComponent', () => { let component: AlertComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [MatProgressBarModule, MatSnackBarModule, MatIconModule, MatCardModule], - declarations: [AlertComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatProgressBarModule, MatSnackBarModule, MatIconModule, MatCardModule], + declarations: [AlertComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(AlertComponent); diff --git a/src/app/shared/available-logs.module.ts b/src/app/shared/available-logs.module.ts index 1a15621352..81900304c7 100644 --- a/src/app/shared/available-logs.module.ts +++ b/src/app/shared/available-logs.module.ts @@ -27,6 +27,5 @@ import { CustomMaterialModule } from './modules/material.module'; imports: [CommonModule, CustomMaterialModule, FlexLayoutModule, RefreshAlertModule], declarations: [AvailableLogsComponent, VerifiedDisplayComponent, ToolTesterLogPipe, RemoveExtensionPipe], exports: [VerifiedDisplayComponent], - entryComponents: [AvailableLogsComponent], }) export class AvailableLogsModule {} diff --git a/src/app/shared/base.ts b/src/app/shared/base.ts index 8e7af2921d..f897798589 100644 --- a/src/app/shared/base.ts +++ b/src/app/shared/base.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { OnDestroy } from '@angular/core'; +import { Directive, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; /** @@ -26,6 +26,8 @@ import { Subject } from 'rxjs'; * @class Base * @implements {OnDestroy} */ +@Directive() +// tslint:disable-next-line: directive-class-suffix export abstract class Base implements OnDestroy { protected ngUnsubscribe: Subject<{}> = new Subject(); diff --git a/src/app/shared/code-editor-list/code-editor-list.component.spec.ts b/src/app/shared/code-editor-list/code-editor-list.component.spec.ts index 4800eb61f4..38093f2be8 100644 --- a/src/app/shared/code-editor-list/code-editor-list.component.spec.ts +++ b/src/app/shared/code-editor-list/code-editor-list.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; @@ -22,26 +22,28 @@ describe('CodeEditorListComponent', () => { let component: CodeEditorListComponent; let fixture: ComponentFixture; class FileStubService {} - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CodeEditorListComponent, CodeEditorComponent, PublicFileDownloadPipe, PrivateFileDownloadPipe, PrivateFilePathPipe], - imports: [ - MatButtonModule, - MatTabsModule, - MatToolbarModule, - MatIconModule, - MatInputModule, - MatFormFieldModule, - MatTooltipModule, - MatCardModule, - ClipboardModule, - ], - providers: [ - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: FileService, useClass: FileStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [CodeEditorListComponent, CodeEditorComponent, PublicFileDownloadPipe, PrivateFileDownloadPipe, PrivateFilePathPipe], + imports: [ + MatButtonModule, + MatTabsModule, + MatToolbarModule, + MatIconModule, + MatInputModule, + MatFormFieldModule, + MatTooltipModule, + MatCardModule, + ClipboardModule, + ], + providers: [ + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: FileService, useClass: FileStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(CodeEditorListComponent); diff --git a/src/app/shared/code-editor/code-editor.component.spec.ts b/src/app/shared/code-editor/code-editor.component.spec.ts index 3f2a05f043..1a336e2e2b 100644 --- a/src/app/shared/code-editor/code-editor.component.spec.ts +++ b/src/app/shared/code-editor/code-editor.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CodeEditorComponent } from './code-editor.component'; @@ -6,11 +6,13 @@ describe('CodeEditorComponent', () => { let component: CodeEditorComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CodeEditorComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [CodeEditorComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(CodeEditorComponent); diff --git a/src/app/shared/entry/commit-url.pipe.spec.ts b/src/app/shared/entry/commit-url.pipe.spec.ts index e5eba96719..f28f7f617b 100644 --- a/src/app/shared/entry/commit-url.pipe.spec.ts +++ b/src/app/shared/entry/commit-url.pipe.spec.ts @@ -1,6 +1,5 @@ /* tslint:disable:no-unused-variable */ -import { async, TestBed } from '@angular/core/testing'; import { CommitUrlPipe } from './commit-url.pipe'; describe('Pipe: CommitUrle', () => { diff --git a/src/app/shared/entry/entry.module.ts b/src/app/shared/entry/entry.module.ts index f70ce18b6b..5d5842dd26 100644 --- a/src/app/shared/entry/entry.module.ts +++ b/src/app/shared/entry/entry.module.ts @@ -91,7 +91,6 @@ import { VersionProviderUrlPipe } from './versionProviderUrl.pipe'; RouterModule, ReactiveFormsModule, ], - entryComponents: [RegisterCheckerWorkflowComponent], providers: [BioschemaService, EntryActionsService], }) export class EntryModule {} diff --git a/src/app/shared/entry/info-tab-checker-workflow-path/info-tab-checker-workflow-path.component.spec.ts b/src/app/shared/entry/info-tab-checker-workflow-path/info-tab-checker-workflow-path.component.spec.ts index aa5a90c159..e5762d4114 100644 --- a/src/app/shared/entry/info-tab-checker-workflow-path/info-tab-checker-workflow-path.component.spec.ts +++ b/src/app/shared/entry/info-tab-checker-workflow-path/info-tab-checker-workflow-path.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { MatDialogModule } from '@angular/material/dialog'; import { RouterTestingModule } from '@angular/router/testing'; @@ -28,17 +28,19 @@ describe('InfoTabCheckerWorkflowPathComponent', () => { let component: InfoTabCheckerWorkflowPathComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [FormsModule, RouterTestingModule, MatDialogModule, CustomMaterialModule], - providers: [ - { provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }, - { provide: RegisterCheckerWorkflowService, useClass: RegisterCheckerWorkflowStubService }, - ], - declarations: [InfoTabCheckerWorkflowPathComponent], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [FormsModule, RouterTestingModule, MatDialogModule, CustomMaterialModule], + providers: [ + { provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }, + { provide: RegisterCheckerWorkflowService, useClass: RegisterCheckerWorkflowStubService }, + ], + declarations: [InfoTabCheckerWorkflowPathComponent], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(InfoTabCheckerWorkflowPathComponent); diff --git a/src/app/shared/entry/launch-checker-workflow/launch-checker-workflow.component.spec.ts b/src/app/shared/entry/launch-checker-workflow/launch-checker-workflow.component.spec.ts index 8b0f5010bd..75c1035217 100644 --- a/src/app/shared/entry/launch-checker-workflow/launch-checker-workflow.component.spec.ts +++ b/src/app/shared/entry/launch-checker-workflow/launch-checker-workflow.component.spec.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatCardModule } from '@angular/material/card'; import { CheckerWorkflowService } from '../../state/checker-workflow.service'; @@ -23,13 +23,15 @@ describe('LaunchCheckerWorkflowComponent', () => { let component: LaunchCheckerWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LaunchCheckerWorkflowComponent], - providers: [{ provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }], - imports: [MatCardModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LaunchCheckerWorkflowComponent], + providers: [{ provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }], + imports: [MatCardModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(LaunchCheckerWorkflowComponent); diff --git a/src/app/shared/entry/register-checker-workflow/register-checker-workflow.component.spec.ts b/src/app/shared/entry/register-checker-workflow/register-checker-workflow.component.spec.ts index 4523f0d1ea..fb6a186845 100644 --- a/src/app/shared/entry/register-checker-workflow/register-checker-workflow.component.spec.ts +++ b/src/app/shared/entry/register-checker-workflow/register-checker-workflow.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { MatDialogModule } from '@angular/material/dialog'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @@ -31,19 +31,21 @@ describe('RegisterCheckerWorkflowComponent', () => { let component: RegisterCheckerWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [RegisterCheckerWorkflowComponent], - schemas: [NO_ERRORS_SCHEMA], - imports: [FormsModule, MatSnackBarModule, MatDialogModule, BrowserAnimationsModule, CustomMaterialModule], - providers: [ - { provide: RegisterCheckerWorkflowService, useClass: RegisterCheckerWorkflowStubService }, - { provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }, - DescriptorTypeCompatService, - { provide: DescriptorLanguageService, useClass: DescriptorLanguageStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [RegisterCheckerWorkflowComponent], + schemas: [NO_ERRORS_SCHEMA], + imports: [FormsModule, MatSnackBarModule, MatDialogModule, BrowserAnimationsModule, CustomMaterialModule], + providers: [ + { provide: RegisterCheckerWorkflowService, useClass: RegisterCheckerWorkflowStubService }, + { provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }, + DescriptorTypeCompatService, + { provide: DescriptorLanguageService, useClass: DescriptorLanguageStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(RegisterCheckerWorkflowComponent); diff --git a/src/app/shared/entry/verified-by/verified-by.component.spec.ts b/src/app/shared/entry/verified-by/verified-by.component.spec.ts index 2b985eed8d..287abe9746 100644 --- a/src/app/shared/entry/verified-by/verified-by.component.spec.ts +++ b/src/app/shared/entry/verified-by/verified-by.component.spec.ts @@ -1,5 +1,4 @@ -/* tslint:disable:no-unused-variable */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CustomMaterialModule } from '../../modules/material.module'; import { VerifiedByComponent } from './verified-by.component'; @@ -7,12 +6,14 @@ describe('VerifiedByComponent', () => { let component: VerifiedByComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [CustomMaterialModule], - declarations: [VerifiedByComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CustomMaterialModule], + declarations: [VerifiedByComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(VerifiedByComponent); diff --git a/src/app/shared/entry/verified-display/verified-display.component.spec.ts b/src/app/shared/entry/verified-display/verified-display.component.spec.ts index 1d06470686..81c4f23fef 100644 --- a/src/app/shared/entry/verified-display/verified-display.component.spec.ts +++ b/src/app/shared/entry/verified-display/verified-display.component.spec.ts @@ -1,5 +1,5 @@ /* tslint:disable:no-unused-variable */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { versionVerifiedPlatform } from '../../../test/mocked-objects'; @@ -10,12 +10,14 @@ describe('VerifiedDisplayComponent', () => { let component: VerifiedDisplayComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [VerifiedDisplayComponent], - imports: [CustomMaterialModule, BrowserAnimationsModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [VerifiedDisplayComponent], + imports: [CustomMaterialModule, BrowserAnimationsModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(VerifiedDisplayComponent); diff --git a/src/app/shared/entry/versionProviderUrl.pipe.spec.ts b/src/app/shared/entry/versionProviderUrl.pipe.spec.ts index cc2ba72d79..8a8cd451f7 100644 --- a/src/app/shared/entry/versionProviderUrl.pipe.spec.ts +++ b/src/app/shared/entry/versionProviderUrl.pipe.spec.ts @@ -1,6 +1,3 @@ -/* tslint:disable:no-unused-variable */ - -import { async, TestBed } from '@angular/core/testing'; import { VersionProviderUrlPipe } from './versionProviderUrl.pipe'; describe('Pipe: VersionProviderUrle', () => { diff --git a/src/app/shared/loading/loading.component.spec.ts b/src/app/shared/loading/loading.component.spec.ts index f27058a811..a02ab4b431 100644 --- a/src/app/shared/loading/loading.component.spec.ts +++ b/src/app/shared/loading/loading.component.spec.ts @@ -1,7 +1,5 @@ /* tslint:disable:no-unused-variable */ -import { DebugElement } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatProgressBarModule } from '@angular/material/progress-bar'; import { LoadingComponent } from './loading.component'; @@ -10,12 +8,14 @@ describe('LoadingComponent', () => { let component: LoadingComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [MatProgressBarModule], - declarations: [LoadingComponent], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatProgressBarModule], + declarations: [LoadingComponent], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(LoadingComponent); diff --git a/src/app/shared/markdown-wrapper/markdown-wrapper.component.spec.ts b/src/app/shared/markdown-wrapper/markdown-wrapper.component.spec.ts index 1f98413e5c..e63982f469 100644 --- a/src/app/shared/markdown-wrapper/markdown-wrapper.component.spec.ts +++ b/src/app/shared/markdown-wrapper/markdown-wrapper.component.spec.ts @@ -1,5 +1,5 @@ import { SecurityContext } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MarkdownModule, MarkdownService, SECURITY_CONTEXT } from 'ngx-markdown'; import { MarkdownWrapperComponent } from './markdown-wrapper.component'; @@ -7,13 +7,15 @@ describe('MarkdownWrapperComponent', () => { let wrapperComponent: MarkdownWrapperComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [MarkdownModule], - declarations: [MarkdownWrapperComponent], - providers: [MarkdownService, { provide: SECURITY_CONTEXT, useValue: SecurityContext.HTML }], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MarkdownModule], + declarations: [MarkdownWrapperComponent], + providers: [MarkdownService, { provide: SECURITY_CONTEXT, useValue: SecurityContext.HTML }], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(MarkdownWrapperComponent); @@ -21,58 +23,73 @@ describe('MarkdownWrapperComponent', () => { wrapperComponent = fixture.debugElement.componentInstance; }); - it('should create the app', async(() => { - expect(wrapperComponent).toBeDefined(); - })); + it( + 'should create the app', + waitForAsync(() => { + expect(wrapperComponent).toBeDefined(); + }) + ); - it('should contain h1', async(() => { - wrapperComponent.data = '# Header1'; - wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) - fixture.detectChanges(); - expect(fixture.nativeElement.innerHTML).toContain('Header1'); - })); + it( + 'should contain h1', + waitForAsync(() => { + wrapperComponent.data = '# Header1'; + wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) + fixture.detectChanges(); + expect(fixture.nativeElement.innerHTML).toContain('Header1'); + }) + ); - it('should contain h2', async(() => { - wrapperComponent.data = '## Header2'; - wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) - fixture.detectChanges(); - expect(fixture.nativeElement.innerHTML).toContain('Header2'); - })); + it( + 'should contain h2', + waitForAsync(() => { + wrapperComponent.data = '## Header2'; + wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) + fixture.detectChanges(); + expect(fixture.nativeElement.innerHTML).toContain('Header2'); + }) + ); - it('should have correctly sanitized spans', async(() => { - // first should contain just a link and no class - wrapperComponent.data = 'Fake Button!'; - wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) - fixture.detectChanges(); - expect(fixture.nativeElement.innerHTML).toContain('Fake Button!'); - expect(fixture.nativeElement.innerHTML).not.toContain('class'); + it( + 'should have correctly sanitized spans', + waitForAsync(() => { + // first should contain just a link and no class + wrapperComponent.data = 'Fake Button!'; + wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) + fixture.detectChanges(); + expect(fixture.nativeElement.innerHTML).toContain('Fake Button!'); + expect(fixture.nativeElement.innerHTML).not.toContain('class'); - // second span should have an href but no classes - wrapperComponent.data = - 'has href but no styling'; - wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) - fixture.detectChanges(); - expect(fixture.nativeElement.innerHTML).toContain('has href but no styling'); - expect(fixture.nativeElement.innerHTML).toContain('has href but no styling'); - expect(fixture.nativeElement.innerHTML).not.toContain('class'); + // second span should have an href but no classes + wrapperComponent.data = + 'has href but no styling'; + wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) + fixture.detectChanges(); + expect(fixture.nativeElement.innerHTML).toContain('has href but no styling'); + expect(fixture.nativeElement.innerHTML).toContain('has href but no styling'); + expect(fixture.nativeElement.innerHTML).not.toContain('class'); - // third span should have no href and no styling - wrapperComponent.data = - 'no href and no styling'; - wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) - fixture.detectChanges(); - expect(fixture.nativeElement.innerHTML).toContain('no href and no styling'); - expect(fixture.nativeElement.innerHTML).not.toContain('href='); - expect(fixture.nativeElement.innerHTML).not.toContain('class'); - })); + // third span should have no href and no styling + wrapperComponent.data = + 'no href and no styling'; + wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) + fixture.detectChanges(); + expect(fixture.nativeElement.innerHTML).toContain('no href and no styling'); + expect(fixture.nativeElement.innerHTML).not.toContain('href='); + expect(fixture.nativeElement.innerHTML).not.toContain('class'); + }) + ); - it('should not sanitize text ', async(() => { - wrapperComponent.data = - '`Safe!`'; - wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) - fixture.detectChanges(); - expect(fixture.nativeElement.innerHTML).toContain('class="mat-focus-indicator mat-flat-button mat-button-base mat-primary'); - expect(fixture.nativeElement.innerHTML).toContain('href="javascript:window.alert(\'mashing\')"'); - expect(fixture.nativeElement.innerHTML).toContain('Safe!'); - })); + it( + 'should not sanitize text ', + waitForAsync(() => { + wrapperComponent.data = + '`Safe!`'; + wrapperComponent.ngOnChanges(); // has to be called manually in unit tests (TestBed doesn't by default) + fixture.detectChanges(); + expect(fixture.nativeElement.innerHTML).toContain('class="mat-focus-indicator mat-flat-button mat-button-base mat-primary'); + expect(fixture.nativeElement.innerHTML).toContain('href="javascript:window.alert(\'mashing\')"'); + expect(fixture.nativeElement.innerHTML).toContain('Safe!'); + }) + ); }); diff --git a/src/app/shared/modules/container.module.ts b/src/app/shared/modules/container.module.ts index 2c935aceda..de81b2efef 100644 --- a/src/app/shared/modules/container.module.ts +++ b/src/app/shared/modules/container.module.ts @@ -104,6 +104,5 @@ import { SelectModule } from './select.module'; InfoTabService, ], exports: [ContainerComponent, CustomMaterialModule, EntryModule, ToolActionsComponent], - entryComponents: [ModalComponent, VersionModalComponent, AddTagComponent], }) export class ContainerModule {} diff --git a/src/app/shared/modules/markdown-wrapper.module.ts b/src/app/shared/modules/markdown-wrapper.module.ts index c07c2deaae..4d6fdcb47e 100644 --- a/src/app/shared/modules/markdown-wrapper.module.ts +++ b/src/app/shared/modules/markdown-wrapper.module.ts @@ -23,6 +23,5 @@ import { MarkdownWrapperComponent } from '../markdown-wrapper/markdown-wrapper.c imports: [CommonModule, MarkdownModule], providers: [], exports: [MarkdownWrapperComponent], - entryComponents: [], }) export class MarkdownWrapperModule {} diff --git a/src/app/shared/modules/workflow.module.ts b/src/app/shared/modules/workflow.module.ts index 949c784ed2..e066ad2c31 100644 --- a/src/app/shared/modules/workflow.module.ts +++ b/src/app/shared/modules/workflow.module.ts @@ -108,6 +108,5 @@ import { MarkdownWrapperModule } from './markdown-wrapper.module'; VersionModalService, ], exports: [WorkflowComponent, CustomMaterialModule, EntryModule, HeaderModule, CommonModule, WorkflowActionsComponent], - entryComponents: [VersionModalComponent], }) export class WorkflowModule {} diff --git a/src/app/shared/selectors/entry-file-selector.ts b/src/app/shared/selectors/entry-file-selector.ts index 0270ca59cc..4167612d72 100644 --- a/src/app/shared/selectors/entry-file-selector.ts +++ b/src/app/shared/selectors/entry-file-selector.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { OnDestroy } from '@angular/core'; +import { Directive, OnDestroy } from '@angular/core'; import { SafeUrl } from '@angular/platform-browser'; import { Observable, Subject } from 'rxjs'; import { finalize, takeUntil } from 'rxjs/operators'; @@ -30,6 +30,8 @@ import { FileWrapper, Tag, ToolDescriptor, ToolFile, WorkflowVersion } from '../ /** * Abstract class to be implemented by components that have select boxes for a given entry and version */ +@Directive() +// tslint:disable-next-line: directive-class-suffix export abstract class EntryFileSelector implements OnDestroy { _selectedVersion: any; id: number; diff --git a/src/app/sitemap/sitemap.component.spec.ts b/src/app/sitemap/sitemap.component.spec.ts index a1cb23af12..1b6c97fd3b 100644 --- a/src/app/sitemap/sitemap.component.spec.ts +++ b/src/app/sitemap/sitemap.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { SitemapComponent } from './sitemap.component'; @@ -6,12 +6,14 @@ describe('SitemapComponent', () => { let component: SitemapComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SitemapComponent], - imports: [RouterTestingModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SitemapComponent], + imports: [RouterTestingModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SitemapComponent); diff --git a/src/app/source-file-tabs/source-file-tabs.component.spec.ts b/src/app/source-file-tabs/source-file-tabs.component.spec.ts index 27b12476c7..56f2cc3504 100644 --- a/src/app/source-file-tabs/source-file-tabs.component.spec.ts +++ b/src/app/source-file-tabs/source-file-tabs.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; @@ -12,17 +12,19 @@ describe('SourceFileTabsComponent', () => { let component: SourceFileTabsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SourceFileTabsComponent, MapFriendlyValuesPipe], - imports: [HttpClientTestingModule], - providers: [ - { provide: SourceFileTabsService, useClass: SourceFileTabsStubService }, - { provide: FileService, useClass: FileStubService }, - ], - schemas: [NO_ERRORS_SCHEMA], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SourceFileTabsComponent, MapFriendlyValuesPipe], + imports: [HttpClientTestingModule], + providers: [ + { provide: SourceFileTabsService, useClass: SourceFileTabsStubService }, + { provide: FileService, useClass: FileStubService }, + ], + schemas: [NO_ERRORS_SCHEMA], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SourceFileTabsComponent); diff --git a/src/app/sponsors/sponsors.component.spec.ts b/src/app/sponsors/sponsors.component.spec.ts index d9fc21ebdb..0d8585d36d 100644 --- a/src/app/sponsors/sponsors.component.spec.ts +++ b/src/app/sponsors/sponsors.component.spec.ts @@ -15,7 +15,7 @@ */ import { Location } from '@angular/common'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { SponsorsComponent } from './sponsors.component'; @@ -23,13 +23,15 @@ describe('SponsorsComponent', () => { let component: SponsorsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SponsorsComponent], - providers: [Location], - imports: [RouterTestingModule], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [SponsorsComponent], + providers: [Location], + imports: [RouterTestingModule], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(SponsorsComponent); diff --git a/src/app/stargazers/stargazers.component.spec.ts b/src/app/stargazers/stargazers.component.spec.ts index a408e6a30d..2007f582d9 100644 --- a/src/app/stargazers/stargazers.component.spec.ts +++ b/src/app/stargazers/stargazers.component.spec.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatCardModule } from '@angular/material/card'; import { MatIconModule } from '@angular/material/icon'; @@ -27,17 +27,19 @@ describe('StargazersComponent', () => { let component: StargazersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [StargazersComponent], - imports: [MatIconModule, MatCardModule], - providers: [ - { provide: UserService, useClass: UserStubService }, - { provide: StarringService, useClass: StarringStubService }, - { provide: StarentryService, useClass: StarEntryStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [StargazersComponent], + imports: [MatIconModule, MatCardModule], + providers: [ + { provide: UserService, useClass: UserStubService }, + { provide: StarringService, useClass: StarringStubService }, + { provide: StarentryService, useClass: StarEntryStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(StargazersComponent); diff --git a/src/app/starredentries/starredentries.component.spec.ts b/src/app/starredentries/starredentries.component.spec.ts index e6800713ac..fc499ac53c 100644 --- a/src/app/starredentries/starredentries.component.spec.ts +++ b/src/app/starredentries/starredentries.component.spec.ts @@ -1,5 +1,5 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ImageProviderService } from '../shared/image-provider.service'; import { ProviderService } from './../shared/provider.service'; @@ -13,19 +13,21 @@ describe('StarredEntriesComponent', () => { let component: StarredEntriesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [StarredEntriesComponent], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - { provide: StarringService, useClass: StarringStubService }, - { provide: ImageProviderService, useClass: ImageProviderStubService }, - ProviderService, - { provide: StarentryService, useClass: StarEntryStubService }, - { provide: UsersService, useClass: UsersStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [StarredEntriesComponent], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + { provide: StarringService, useClass: StarringStubService }, + { provide: ImageProviderService, useClass: ImageProviderStubService }, + ProviderService, + { provide: StarentryService, useClass: StarEntryStubService }, + { provide: UsersService, useClass: UsersStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(StarredEntriesComponent); diff --git a/src/app/starring/starring.component.spec.ts b/src/app/starring/starring.component.spec.ts index 212897fa07..834844bed8 100644 --- a/src/app/starring/starring.component.spec.ts +++ b/src/app/starring/starring.component.spec.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatIconModule } from '@angular/material/icon'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @@ -35,19 +35,21 @@ describe('StarringComponent', () => { let component: StarringComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [StarringComponent], - imports: [MatIconModule, MatSnackBarModule], - providers: [ - { provide: StarringService, useClass: StarringStubService }, - { provide: TrackLoginService, useClass: TrackLoginStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: StarentryService, useClass: StarEntryStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [StarringComponent], + imports: [MatIconModule, MatSnackBarModule], + providers: [ + { provide: StarringService, useClass: StarringStubService }, + { provide: TrackLoginService, useClass: TrackLoginStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: StarentryService, useClass: StarEntryStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(StarringComponent); diff --git a/src/app/workflow/dag/cwl-viewer/cwl-viewer.component.spec.ts b/src/app/workflow/dag/cwl-viewer/cwl-viewer.component.spec.ts index 09ee263ea0..694f164b51 100644 --- a/src/app/workflow/dag/cwl-viewer/cwl-viewer.component.spec.ts +++ b/src/app/workflow/dag/cwl-viewer/cwl-viewer.component.spec.ts @@ -1,6 +1,6 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, inject, TestBed } from '@angular/core/testing'; +import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { DateService } from '../../../shared/date.service'; import { DockstoreService } from '../../../shared/dockstore.service'; @@ -13,14 +13,16 @@ describe('cwl-viewerComponent', () => { let component: CwlViewerComponent; let fixture: ComponentFixture; let workflowService: WorkflowService; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CwlViewerComponent], - imports: [HttpClientTestingModule, FormsModule], - schemas: [NO_ERRORS_SCHEMA], - providers: [DockstoreService, DateService, ProviderService, WorkflowService], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [CwlViewerComponent], + imports: [HttpClientTestingModule, FormsModule], + schemas: [NO_ERRORS_SCHEMA], + providers: [DockstoreService, DateService, ProviderService, WorkflowService], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(CwlViewerComponent); diff --git a/src/app/workflow/dag/dag.component.spec.ts b/src/app/workflow/dag/dag.component.spec.ts index 7cd3ad85a2..6f9529e69a 100644 --- a/src/app/workflow/dag/dag.component.spec.ts +++ b/src/app/workflow/dag/dag.component.spec.ts @@ -15,7 +15,7 @@ */ import { HttpClientTestingModule } from '@angular/common/http/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { WorkflowService } from '../../shared/state/workflow.service'; import { WorkflowsService } from '../../shared/swagger/api/workflows.service'; @@ -29,19 +29,21 @@ describe('DagComponent', () => { let component: DagComponent; let fixture: ComponentFixture; let dagQuery: DagQuery; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DagComponent, CwlViewerComponent], - imports: [HttpClientTestingModule, FormsModule], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - DagStore, - DagQuery, - { provide: WorkflowsService, useClass: WorkflowsStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DagComponent, CwlViewerComponent], + imports: [HttpClientTestingModule, FormsModule], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + DagStore, + DagQuery, + { provide: WorkflowsService, useClass: WorkflowsStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(DagComponent); diff --git a/src/app/workflow/dag/wdl-viewer/wdl-viewer.component.spec.ts b/src/app/workflow/dag/wdl-viewer/wdl-viewer.component.spec.ts index c0ee4393be..6a80521f3b 100644 --- a/src/app/workflow/dag/wdl-viewer/wdl-viewer.component.spec.ts +++ b/src/app/workflow/dag/wdl-viewer/wdl-viewer.component.spec.ts @@ -26,7 +26,7 @@ // let component: WdlViewerComponent; // let fixture: ComponentFixture; // -// beforeEach(async(() => { +// beforeEach(waitForAsync(() => { // TestBed.configureTestingModule({ // declarations: [WdlViewerComponent], // schemas: [CUSTOM_ELEMENTS_SCHEMA], diff --git a/src/app/workflow/descriptors/descriptors.component.spec.ts b/src/app/workflow/descriptors/descriptors.component.spec.ts index e0b312a349..e810b7848e 100644 --- a/src/app/workflow/descriptors/descriptors.component.spec.ts +++ b/src/app/workflow/descriptors/descriptors.component.spec.ts @@ -15,7 +15,7 @@ */ import { HttpClientModule } from '@angular/common/http'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { DescriptorService } from '../../shared/descriptor.service'; @@ -29,19 +29,21 @@ describe('DescriptorsWorkflowComponent', () => { let component: DescriptorsWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DescriptorsWorkflowComponent], - imports: [HttpClientModule, MatSnackBarModule], - providers: [ - { provide: DescriptorService, useClass: DescriptorsStubService }, - { provide: FileService, useClass: FileStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, - ], - schemas: [NO_ERRORS_SCHEMA], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DescriptorsWorkflowComponent], + imports: [HttpClientModule, MatSnackBarModule], + providers: [ + { provide: DescriptorService, useClass: DescriptorsStubService }, + { provide: FileService, useClass: FileStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, + ], + schemas: [NO_ERRORS_SCHEMA], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(DescriptorsWorkflowComponent); diff --git a/src/app/workflow/files/files.component.spec.ts b/src/app/workflow/files/files.component.spec.ts index 69515fa28d..539f09eba2 100644 --- a/src/app/workflow/files/files.component.spec.ts +++ b/src/app/workflow/files/files.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ParamfilesService } from '../../container/paramfiles/paramfiles.service'; import { GA4GHV20Service } from '../../shared/openapi'; @@ -25,16 +25,18 @@ describe('FilesWorkflowComponent', () => { let component: FilesWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [FilesWorkflowComponent], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - { provide: ParamfilesService, useClass: ParamFilesStubService }, - { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [FilesWorkflowComponent], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + { provide: ParamfilesService, useClass: ParamFilesStubService }, + { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(FilesWorkflowComponent); diff --git a/src/app/workflow/launch-third-party/launch-third-party.component.spec.ts b/src/app/workflow/launch-third-party/launch-third-party.component.spec.ts index 11ac2797ae..3285f4e695 100644 --- a/src/app/workflow/launch-third-party/launch-third-party.component.spec.ts +++ b/src/app/workflow/launch-third-party/launch-third-party.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HttpClientModule } from '@angular/common/http'; import { CUSTOM_ELEMENTS_SCHEMA, SimpleChange } from '@angular/core'; @@ -17,14 +17,16 @@ describe('LaunchThirdPartyComponent', () => { let component: LaunchThirdPartyComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LaunchThirdPartyComponent], - imports: [CustomMaterialModule, HttpClientModule], - providers: [GA4GHFilesService, GA4GHV20Service, GA4GHFilesStore, { provide: WorkflowsService, useClass: WorkflowsStubService }], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LaunchThirdPartyComponent], + imports: [CustomMaterialModule, HttpClientModule], + providers: [GA4GHFilesService, GA4GHV20Service, GA4GHFilesStore, { provide: WorkflowsService, useClass: WorkflowsStubService }], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }) + ); beforeEach(() => { TestBed.inject(WorkflowsService); diff --git a/src/app/workflow/launch/launch.component.spec.ts b/src/app/workflow/launch/launch.component.spec.ts index 653a282701..7edac410e6 100644 --- a/src/app/workflow/launch/launch.component.spec.ts +++ b/src/app/workflow/launch/launch.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ContainerService } from '../../shared/container.service'; import { DescriptorService } from '../../shared/descriptor.service'; @@ -35,20 +35,22 @@ describe('LaunchWorkflowComponent', () => { let component: LaunchWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LaunchWorkflowComponent], - schemas: [NO_ERRORS_SCHEMA], - providers: [ - WorkflowLaunchService, - { provide: ContainerService, useClass: ContainerStubService }, - { provide: DescriptorService, useClass: DescriptorsStubService }, - { provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LaunchWorkflowComponent], + schemas: [NO_ERRORS_SCHEMA], + providers: [ + WorkflowLaunchService, + { provide: ContainerService, useClass: ContainerStubService }, + { provide: DescriptorService, useClass: DescriptorsStubService }, + { provide: CheckerWorkflowService, useClass: CheckerWorkflowStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(LaunchWorkflowComponent); diff --git a/src/app/workflow/paramfiles/paramfiles.component.spec.ts b/src/app/workflow/paramfiles/paramfiles.component.spec.ts index 874f3e37c4..73f4e5948b 100644 --- a/src/app/workflow/paramfiles/paramfiles.component.spec.ts +++ b/src/app/workflow/paramfiles/paramfiles.component.spec.ts @@ -15,7 +15,7 @@ */ import { HttpClientModule } from '@angular/common/http'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { ParamfilesService } from '../../container/paramfiles/paramfiles.service'; @@ -29,19 +29,21 @@ describe('ParamfilesWorkflowComponent', () => { let component: ParamfilesWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ParamfilesWorkflowComponent], - imports: [HttpClientModule, MatSnackBarModule], - providers: [ - { provide: ParamfilesService, useClass: ParamFilesStubService }, - { provide: FileService, useClass: FileStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, - ], - schemas: [NO_ERRORS_SCHEMA], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ParamfilesWorkflowComponent], + imports: [HttpClientModule, MatSnackBarModule], + providers: [ + { provide: ParamfilesService, useClass: ParamFilesStubService }, + { provide: FileService, useClass: FileStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: GA4GHV20Service, useClass: GA4GHV20StubService }, + ], + schemas: [NO_ERRORS_SCHEMA], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(ParamfilesWorkflowComponent); diff --git a/src/app/workflow/permissions/permissions.component.spec.ts b/src/app/workflow/permissions/permissions.component.spec.ts index 664d77feb1..699b5f3f66 100644 --- a/src/app/workflow/permissions/permissions.component.spec.ts +++ b/src/app/workflow/permissions/permissions.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RefreshService } from '../../shared/refresh.service'; import { TokenService } from '../../shared/state/token.service'; @@ -11,17 +11,19 @@ describe('PermissionsComponent', () => { let component: PermissionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PermissionsComponent], - imports: [CustomMaterialModule], - providers: [ - { provide: WorkflowsService, useClass: WorkflowsStubService }, - { provide: TokenService, useClass: TokenStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [PermissionsComponent], + imports: [CustomMaterialModule], + providers: [ + { provide: WorkflowsService, useClass: WorkflowsStubService }, + { provide: TokenService, useClass: TokenStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(PermissionsComponent); diff --git a/src/app/workflow/refresh-workflow-organization/refresh-workflow-organization.component.spec.ts b/src/app/workflow/refresh-workflow-organization/refresh-workflow-organization.component.spec.ts index 233dc895a0..2852be1a4d 100644 --- a/src/app/workflow/refresh-workflow-organization/refresh-workflow-organization.component.spec.ts +++ b/src/app/workflow/refresh-workflow-organization/refresh-workflow-organization.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { HttpClientTestingModule } from '@angular/common/http/testing'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatSnackBarModule } from '@angular/material/snack-bar'; @@ -41,20 +41,22 @@ describe('RefreshWorkflowOrganizationComponent', () => { let component: RefreshWorkflowOrganizationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [RefreshWorkflowOrganizationComponent], - imports: [MatToolbarModule, MatIconModule, MatButtonModule, MatTooltipModule, MatSnackBarModule, HttpClientTestingModule], - providers: [ - { provide: UsersService, useClass: UsersStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - { provide: ExtendedDockstoreToolService, useClass: ExtendedDockstoreToolStubService }, - { provide: DateService, useClass: DateStubService }, - { provide: ProviderService, useClass: ProviderStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [RefreshWorkflowOrganizationComponent], + imports: [MatToolbarModule, MatIconModule, MatButtonModule, MatTooltipModule, MatSnackBarModule, HttpClientTestingModule], + providers: [ + { provide: UsersService, useClass: UsersStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + { provide: ExtendedDockstoreToolService, useClass: ExtendedDockstoreToolStubService }, + { provide: DateService, useClass: DateStubService }, + { provide: ProviderService, useClass: ProviderStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(RefreshWorkflowOrganizationComponent); diff --git a/src/app/workflow/tool-tab/tool-tab.component.spec.ts b/src/app/workflow/tool-tab/tool-tab.component.spec.ts index c59bf2583a..1a2eec6bb4 100644 --- a/src/app/workflow/tool-tab/tool-tab.component.spec.ts +++ b/src/app/workflow/tool-tab/tool-tab.component.spec.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { RefreshAlertModule } from '../../shared/alert/alert.module'; import { CustomMaterialModule } from '../../shared/modules/material.module'; @@ -26,16 +26,18 @@ describe('ToolTabComponent', () => { let component: ToolTabComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ToolTabComponent], - imports: [FormsModule, CustomMaterialModule, RefreshAlertModule], - providers: [ - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: WorkflowsService, useClass: WorkflowsStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ToolTabComponent], + imports: [FormsModule, CustomMaterialModule, RefreshAlertModule], + providers: [ + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: WorkflowsService, useClass: WorkflowsStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(ToolTabComponent); diff --git a/src/app/workflow/versions/versions.component.spec.ts b/src/app/workflow/versions/versions.component.spec.ts index c24375921d..0d02d82d36 100644 --- a/src/app/workflow/versions/versions.component.spec.ts +++ b/src/app/workflow/versions/versions.component.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { Component, Input } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; @@ -67,30 +67,32 @@ class MockVersionModalComponent { describe('VersionsWorkflowComponent', () => { let component: VersionsWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [CustomMaterialModule, FormsModule, FontAwesomeModule, BrowserAnimationsModule], - declarations: [ - VersionsWorkflowComponent, - OrderBy, - CommitUrlPipe, - VerifiedPlatformsPipe, - MockViewWorkflowComponent, - MockVersionModalComponent, - ], - providers: [ - DockstoreService, - { provide: DateService, useClass: DateStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: WorkflowsService, useClass: WorkflowsStubService }, - AlertQuery, - ProviderService, - WorkflowQuery, - { provide: ImageProviderService, useClass: ImageProviderStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CustomMaterialModule, FormsModule, FontAwesomeModule, BrowserAnimationsModule], + declarations: [ + VersionsWorkflowComponent, + OrderBy, + CommitUrlPipe, + VerifiedPlatformsPipe, + MockViewWorkflowComponent, + MockVersionModalComponent, + ], + providers: [ + DockstoreService, + { provide: DateService, useClass: DateStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: WorkflowsService, useClass: WorkflowsStubService }, + AlertQuery, + ProviderService, + WorkflowQuery, + { provide: ImageProviderService, useClass: ImageProviderStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(VersionsWorkflowComponent); diff --git a/src/app/workflow/view/view.component.spec.ts b/src/app/workflow/view/view.component.spec.ts index 425d14749f..d38b580aa5 100644 --- a/src/app/workflow/view/view.component.spec.ts +++ b/src/app/workflow/view/view.component.spec.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { AccountsService } from 'app/loginComponents/accounts/external/accounts.service'; import { CustomMaterialModule } from 'app/shared/modules/material.module'; import { RefreshService } from 'app/shared/refresh.service'; @@ -39,22 +39,24 @@ describe('ViewWorkflowComponent', () => { let component: ViewWorkflowComponent; let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [CustomMaterialModule], - declarations: [ViewWorkflowComponent], - providers: [ - { provide: ViewService }, - { provide: AccountsService, useClass: AccountsStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: VersionModalService, useClass: VersionModalStubService }, - { provide: WorkflowsService, useClass: WorkflowsStubService }, - { provide: DateService, useClass: DateStubService }, - { provide: HostedService, useClass: HostedStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CustomMaterialModule], + declarations: [ViewWorkflowComponent], + providers: [ + { provide: ViewService }, + { provide: AccountsService, useClass: AccountsStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: VersionModalService, useClass: VersionModalStubService }, + { provide: WorkflowsService, useClass: WorkflowsStubService }, + { provide: DateService, useClass: DateStubService }, + { provide: HostedService, useClass: HostedStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(ViewWorkflowComponent); diff --git a/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts b/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts index 3d9ded500b..975524f4da 100644 --- a/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts +++ b/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts @@ -1,5 +1,5 @@ import { HttpClientModule } from '@angular/common/http'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -28,39 +28,41 @@ describe('WorkflowFileEditorComponent', () => { let component: WorkflowFileEditorComponent; let fixture: ComponentFixture; class FileStubService {} - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ - WorkflowFileEditorComponent, - CodeEditorListComponent, - CodeEditorComponent, - PublicFileDownloadPipe, - PrivateFileDownloadPipe, - PrivateFilePathPipe, - ], - imports: [ - MatButtonModule, - MatTabsModule, - MatToolbarModule, - MatIconModule, - MatInputModule, - MatFormFieldModule, - MatTooltipModule, - ClipboardModule, - MatSnackBarModule, - MatCardModule, - BrowserAnimationsModule, - HttpClientModule, - ], - providers: [ - { provide: HostedService, useClass: HostedStubService }, - { provide: WorkflowService, useClass: WorkflowStubService }, - { provide: WorkflowsService, useClass: WorkflowsStubService }, - { provide: RefreshService, useClass: RefreshStubService }, - { provide: FileService, useClass: FileStubService }, - ], - }).compileComponents(); - })); + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ + WorkflowFileEditorComponent, + CodeEditorListComponent, + CodeEditorComponent, + PublicFileDownloadPipe, + PrivateFileDownloadPipe, + PrivateFilePathPipe, + ], + imports: [ + MatButtonModule, + MatTabsModule, + MatToolbarModule, + MatIconModule, + MatInputModule, + MatFormFieldModule, + MatTooltipModule, + ClipboardModule, + MatSnackBarModule, + MatCardModule, + BrowserAnimationsModule, + HttpClientModule, + ], + providers: [ + { provide: HostedService, useClass: HostedStubService }, + { provide: WorkflowService, useClass: WorkflowStubService }, + { provide: WorkflowsService, useClass: WorkflowsStubService }, + { provide: RefreshService, useClass: RefreshStubService }, + { provide: FileService, useClass: FileStubService }, + ], + }).compileComponents(); + }) + ); beforeEach(() => { fixture = TestBed.createComponent(WorkflowFileEditorComponent); diff --git a/tsconfig.json b/tsconfig.json index 54804b04fa..514f905759 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,14 +2,14 @@ "compileOnSave": false, "compilerOptions": { "downlevelIteration": true, - "module": "esnext", + "module": "es2020", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es5", + "target": "es2018", "typeRoots": [ "node_modules/@types" ], diff --git a/tslint.json b/tslint.json index fbc33d8f7e..8441262f98 100644 --- a/tslint.json +++ b/tslint.json @@ -4,19 +4,13 @@ "tslint-config-prettier" ], "rulesDirectory": [ - "node_modules/codelyzer", - "node_modules/rxjs-tslint" + "node_modules/codelyzer" ], "rules": { "ordered-imports": true, "arrow-return-shorthand": true, "callable-types": true, "class-name": true, - "no-unused-variable": true, - "rxjs-proper-imports": true, - "rxjs-no-static-observable-methods": true, - "rxjs-pipeable-operators-only": true, - "rxjs-collapse-imports": true, "comment-format": [ true, "check-space" From ba2624079743974447513dd95f28dd380cb459f0 Mon Sep 17 00:00:00 2001 From: Gary Luu Date: Tue, 22 Dec 2020 11:29:31 -0500 Subject: [PATCH 011/119] Set user to be initially undefined (#880) --- src/app/home-page/home-page.component.html | 2 +- src/app/shared/user/user.store.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/home-page/home-page.component.html b/src/app/home-page/home-page.component.html index e40de2a28d..8d90f4decc 100644 --- a/src/app/home-page/home-page.component.html +++ b/src/app/home-page/home-page.component.html @@ -1,4 +1,4 @@ - + diff --git a/src/app/shared/user/user.store.ts b/src/app/shared/user/user.store.ts index 52b5c14f77..cff2799265 100644 --- a/src/app/shared/user/user.store.ts +++ b/src/app/shared/user/user.store.ts @@ -9,7 +9,7 @@ export interface UserState { export function createInitialState(): UserState { return { - user: null, + user: undefined, extendedUserData: null, }; } From ec8ef9efce43f6cc8365e8bed5770a6235d93df4 Mon Sep 17 00:00:00 2001 From: Gary Luu Date: Mon, 4 Jan 2021 13:13:09 -0500 Subject: [PATCH 012/119] Limit memory usage (#1125) --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5429b3b16c..5b7522fe6f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -224,7 +224,7 @@ jobs: command: bash -i -c 'npm config set dockstore-ui2:webservice_version develop' - run: name: Build - command: bash -i -c 'npm run build' + command: NODE_OPTIONS="--max-old-space-size=1610" bash -i -c 'npm run build.prod' workflows: version: 2 From 49a8eddbcb3e4ef2aeb348a9df8a331549ecd41d Mon Sep 17 00:00:00 2001 From: Gary Luu Date: Mon, 4 Jan 2021 14:10:19 -0500 Subject: [PATCH 013/119] Feature/seab 2108/bodybuilder update (#1126) * npm i bodybuilder@latest * Remove elasticsearch-browser * Use Docktore endpoint --- package-lock.json | 11 +-- package.json | 3 +- src/app/search/elastic-search-client.ts | 25 ------ .../search-results.component.spec.ts | 8 +- .../search-results.component.ts | 26 +++--- src/app/search/search.component.spec.ts | 4 +- src/app/search/search.component.ts | 84 ++++++++----------- src/app/search/state/search.service.ts | 31 ++++--- src/app/test/service-stubs.ts | 8 +- 9 files changed, 84 insertions(+), 116 deletions(-) delete mode 100644 src/app/search/elastic-search-client.ts diff --git a/package-lock.json b/package-lock.json index 5491d2bde8..e069899659 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6172,9 +6172,9 @@ } }, "bodybuilder": { - "version": "2.2.17", - "resolved": "https://registry.npmjs.org/bodybuilder/-/bodybuilder-2.2.17.tgz", - "integrity": "sha512-k6em1H73zJS7LtCdcYB/88U8OIV0Z7eDh6SWBn3r7kZ/tw+hI58cK+6w6mnpCvGUcMrIDd0skf+z2bgLkx/Uug==", + "version": "2.2.25", + "resolved": "https://registry.npmjs.org/bodybuilder/-/bodybuilder-2.2.25.tgz", + "integrity": "sha512-sxnSA/lv/JapTBYChp8uTfMrlkuHMv6lxK1Z2VcTaNsmIqwguKTqVbpSF21rP5KNp8LN8sG8ABtMd3ixalgKaA==", "requires": { "lodash": "^4.17.11" } @@ -8780,11 +8780,6 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "elasticsearch-browser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/elasticsearch-browser/-/elasticsearch-browser-15.0.0.tgz", - "integrity": "sha1-EtjJtrljpuLte6qU+RJX849S0Lw=" - }, "electron-to-chromium": { "version": "1.3.263", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.263.tgz", diff --git a/package.json b/package.json index fed23b3ae4..b896e821bc 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@ngx-lite/json-ld": "^0.6.2", "ace-builds": "^1.4.6", "angular-tag-cloud-module": "^5.2.0", - "bodybuilder": "^2.2.17", + "bodybuilder": "^2.2.25", "bootstrap": "^3.4.1", "bootstrap-social": "^5.1.1", "core-js": "^3.2.1", @@ -59,7 +59,6 @@ "cytoscape-dagre": "^2.2.2", "cytoscape-popper": "^1.0.4", "dompurify": "^2.2.0", - "elasticsearch-browser": "^15.0.0", "font-awesome": "^4.7.0", "jquery": "^3.5.1", "material-design-icons-iconfont": "^6.1.0", diff --git a/src/app/search/elastic-search-client.ts b/src/app/search/elastic-search-client.ts deleted file mode 100644 index e3b1d0869b..0000000000 --- a/src/app/search/elastic-search-client.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2017 OICR - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Client } from 'elasticsearch-browser'; - -import { ga4ghExtendedPath } from './../shared/constants'; -import { Dockstore } from './../shared/dockstore.model'; - -export const ELASTIC_SEARCH_CLIENT = new Client({ - host: Dockstore.API_URI + ga4ghExtendedPath, - apiVersion: '5.6', - log: 'warning', -}); diff --git a/src/app/search/search-results/search-results.component.spec.ts b/src/app/search/search-results/search-results.component.spec.ts index 5fc0b149a1..cc2bb6f275 100644 --- a/src/app/search/search-results/search-results.component.spec.ts +++ b/src/app/search/search-results/search-results.component.spec.ts @@ -15,14 +15,13 @@ */ import { NO_ERRORS_SCHEMA } from '@angular/core'; -/* tslint:disable:no-unused-variable */ -import { async, ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { TagCloudModule } from 'angular-tag-cloud-module'; -import { QueryBuilderStubService, SearchStubService } from './../../test/service-stubs'; +import { ExtendedGA4GHStubService, QueryBuilderStubService, SearchStubService } from './../../test/service-stubs'; import { QueryBuilderService } from './../query-builder.service'; import { RouterTestingModule } from '@angular/router/testing'; +import { ExtendedGA4GHService } from 'app/shared/openapi'; import { SearchService } from '../state/search.service'; import { SearchResultsComponent } from './search-results.component'; @@ -39,6 +38,7 @@ describe('SearchResultsComponent', () => { providers: [ { provide: SearchService, useClass: SearchStubService }, { provide: QueryBuilderService, useClass: QueryBuilderStubService }, + { provide: ExtendedGA4GHService, useClass: ExtendedGA4GHStubService }, ], }).compileComponents(); }) diff --git a/src/app/search/search-results/search-results.component.ts b/src/app/search/search-results/search-results.component.ts index efc300f708..de9b760725 100644 --- a/src/app/search/search-results/search-results.component.ts +++ b/src/app/search/search-results/search-results.component.ts @@ -15,10 +15,10 @@ */ import { Component, OnInit } from '@angular/core'; import { CloudData, CloudOptions } from 'angular-tag-cloud-module'; +import { ExtendedGA4GHService } from 'app/shared/openapi'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { Base } from '../../shared/base'; -import { ELASTIC_SEARCH_CLIENT } from '../elastic-search-client'; import { QueryBuilderService } from '../query-builder.service'; import { SearchQuery } from '../state/search.query'; import { SearchService } from '../state/search.service'; @@ -43,7 +43,12 @@ export class SearchResultsComponent extends Base implements OnInit { overflow: false, }; - constructor(private searchService: SearchService, private queryBuilderService: QueryBuilderService, private searchQuery: SearchQuery) { + constructor( + private searchService: SearchService, + private queryBuilderService: QueryBuilderService, + private searchQuery: SearchQuery, + private extendedGA4GHService: ExtendedGA4GHService + ) { super(); this.activeToolTab$ = this.searchQuery.activeToolTab$; this.noWorkflowHits$ = this.searchQuery.noWorkflowHits$; @@ -71,13 +76,9 @@ export class SearchResultsComponent extends Base implements OnInit { this.searchService.setShowTagCloud(type); } - createToolTagCloud(toolQuery, type) { - ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: toolQuery, - }) - .then((hits) => { + createToolTagCloud(toolQuery: string, type) { + this.extendedGA4GHService.toolsIndexSearch(toolQuery).subscribe( + (hits: any) => { let weight = 10; let count = 0; if (hits && hits.aggregations && hits.aggregations.tagcloud) { @@ -107,8 +108,11 @@ export class SearchResultsComponent extends Base implements OnInit { count--; }); } - }) - .catch((error) => console.log(error)); + }, + (error) => { + console.log(error); + } + ); } // Tells the search service to tell the search filters to save its data diff --git a/src/app/search/search.component.spec.ts b/src/app/search/search.component.spec.ts index 6291c40b74..11a66c0152 100644 --- a/src/app/search/search.component.spec.ts +++ b/src/app/search/search.component.spec.ts @@ -18,11 +18,12 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { MdePopoverModule } from '@material-extended/mde'; +import { ExtendedGA4GHService } from 'app/shared/openapi'; import { ClipboardModule } from 'ngx-clipboard'; import { of } from 'rxjs'; import { CustomMaterialModule } from '../shared/modules/material.module'; import { ProviderService } from '../shared/provider.service'; -import { ProviderStubService, QueryBuilderStubService, SearchStubService } from './../test/service-stubs'; +import { ExtendedGA4GHStubService, ProviderStubService, QueryBuilderStubService, SearchStubService } from './../test/service-stubs'; import { MapFriendlyValuesPipe } from './map-friendly-values.pipe'; import { QueryBuilderService } from './query-builder.service'; import { SearchComponent } from './search.component'; @@ -62,6 +63,7 @@ describe('SearchComponent', () => { { provide: SearchService, useClass: SearchStubService }, { provide: QueryBuilderService, useClass: QueryBuilderStubService }, { provide: ProviderService, useClass: ProviderStubService }, + { provide: ExtendedGA4GHService, useClass: ExtendedGA4GHStubService }, { provide: SearchQuery, useValue: jasmine.createSpyObj('SearchQuery', ['select', 'getValue', 'searchText']) }, ], }).compileComponents(); diff --git a/src/app/search/search.component.ts b/src/app/search/search.component.ts index d1568fae92..71f37a4cce 100644 --- a/src/app/search/search.component.ts +++ b/src/app/search/search.component.ts @@ -17,6 +17,7 @@ import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { MatAccordion } from '@angular/material/expansion'; import { ActivatedRoute, ParamMap } from '@angular/router'; import { faSortAlphaDown, faSortAlphaUp, faSortNumericDown, faSortNumericUp } from '@fortawesome/free-solid-svg-icons'; +import { ExtendedGA4GHService } from 'app/shared/openapi'; import { SearchResponse } from 'elasticsearch'; import { forkJoin, Observable, Subject } from 'rxjs'; import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators'; @@ -25,7 +26,6 @@ import { AdvancedSearchObject, initialAdvancedSearchObject } from '../shared/mod import { CategorySort } from '../shared/models/CategorySort'; import { SubBucket } from '../shared/models/SubBucket'; import { AdvancedSearchQuery } from './advancedsearch/state/advanced-search.query'; -import { ELASTIC_SEARCH_CLIENT } from './elastic-search-client'; import { QueryBuilderService } from './query-builder.service'; import { SearchQuery } from './state/search.query'; import { Hit, SearchService } from './state/search.service'; @@ -123,7 +123,8 @@ export class SearchComponent implements OnInit, OnDestroy { public searchService: SearchService, private searchQuery: SearchQuery, private advancedSearchQuery: AdvancedSearchQuery, - private activatedRoute: ActivatedRoute + private activatedRoute: ActivatedRoute, + private extendedGA4GHService: ExtendedGA4GHService ) { this.shortUrl$ = this.searchQuery.shortUrl$; this.filterKeys$ = this.searchQuery.filterKeys$; @@ -389,16 +390,15 @@ export class SearchComponent implements OnInit, OnDestroy { } updateSideBar(value: string) { - ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: value, - }) - .then((hits) => { + this.extendedGA4GHService.toolsIndexSearch(value).subscribe( + (hits: any) => { this.setupAllBuckets(hits); this.setupOrderBuckets(); - }) - .catch((error) => console.log(error)); + }, + (error) => { + console.log(error); + } + ); } /** @@ -408,12 +408,8 @@ export class SearchComponent implements OnInit, OnDestroy { * @memberof SearchComponent */ updateResultsTable(value: string) { - ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: value, - }) - .then((hits) => { + this.extendedGA4GHService.toolsIndexSearch(value).subscribe( + (hits: any) => { this.hits = hits.hits.hits; const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); const searchText = this.searchQuery.getValue().searchText; @@ -424,8 +420,9 @@ export class SearchComponent implements OnInit, OnDestroy { if (this.searchTerm && this.hits.length === 0) { this.searchService.suggestSearchTerm(searchText); } - }) - .catch((error) => console.log(error)); + }, + (error) => console.log(error) + ); } /** @@ -438,18 +435,9 @@ export class SearchComponent implements OnInit, OnDestroy { * @memberof SearchComponent */ updateResultsTableSeparately(toolsQuery: string, workflowsQuery: string) { - const tools = ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: toolsQuery, - }).catch((error) => console.log(error)); - const workflows = ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: workflowsQuery, - }).catch((error) => console.log(error)); - - forkJoin([tools, workflows]).subscribe((results: Array) => { + const toolsObservable: Observable = this.extendedGA4GHService.toolsIndexSearch(toolsQuery); + const workflowsObservable: Observable = this.extendedGA4GHService.toolsIndexSearch(workflowsQuery); + forkJoin([toolsObservable, workflowsObservable]).subscribe((results: Array) => { const toolHits = results[0].hits.hits; const workflowHits = results[1].hits.hits; this.hits = toolHits.concat(workflowHits); @@ -481,29 +469,29 @@ export class SearchComponent implements OnInit, OnDestroy { onKey(searchText: string) { /*TODO: FOR DEMO USE, make this better later...*/ const pattern = searchText + '.*'; - ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: { - size: 0, - aggs: { - autocomplete: { - terms: { - field: 'description', - size: 4, - order: { - _count: 'desc', - }, - include: pattern, + const body = { + size: 0, + aggs: { + autocomplete: { + terms: { + field: 'description', + size: 4, + order: { + _count: 'desc', }, + include: pattern, }, }, }, - }) - .then((hits) => { + }; + this.extendedGA4GHService.toolsIndexSearch(JSON.stringify(body)).subscribe( + (hits) => { this.searchService.setAutoCompleteTerms(hits); - }) - .catch((error) => console.log(error)); + }, + (error) => { + console.log(error); + } + ); this.searchTerm = true; if (!searchText || 0 === searchText.length) { this.searchTerm = false; diff --git a/src/app/search/state/search.service.ts b/src/app/search/state/search.service.ts index 96ff93d0db..d2d0dde8d4 100644 --- a/src/app/search/state/search.service.ts +++ b/src/app/search/state/search.service.ts @@ -24,9 +24,9 @@ import { BehaviorSubject } from 'rxjs'; import { Dockstore } from '../../shared/dockstore.model'; import { ImageProviderService } from '../../shared/image-provider.service'; import { SubBucket } from '../../shared/models/SubBucket'; +import { ExtendedGA4GHService } from '../../shared/openapi/api/extendedGA4GH.service'; import { ProviderService } from '../../shared/provider.service'; import { DockstoreTool, Workflow } from '../../shared/swagger'; -import { ELASTIC_SEARCH_CLIENT } from '../elastic-search-client'; import { SearchQuery } from './search.query'; import { SearchStore } from './search.store'; @@ -75,7 +75,8 @@ export class SearchService { private searchQuery: SearchQuery, private providerService: ProviderService, private router: Router, - private imageProviderService: ImageProviderService + private imageProviderService: ImageProviderService, + private extendedGA4GHService: ExtendedGA4GHService ) {} /** @@ -235,29 +236,27 @@ export class SearchService { } suggestSearchTerm(searchText: string) { - ELASTIC_SEARCH_CLIENT.search({ - index: 'tools', - type: 'entry', - body: { - suggest: { - do_you_mean: { - text: searchText, - term: { - field: 'description', - }, + const body = { + suggest: { + do_you_mean: { + prefix: searchText, + term: { + field: 'description', }, }, }, - }) - .then((hits) => { + }; + this.extendedGA4GHService.toolsIndexSearch(JSON.stringify(body)).subscribe( + (hits) => { const suggestions: Array = hits['suggest']['do_you_mean'][0].options; if (suggestions.length > 0) { this.setSuggestTerm(suggestions[0].text); } else { this.setSuggestTerm(''); } - }) - .catch((error) => console.log(error)); + }, + (error) => console.log(error) + ); } setSuggestTerm(suggestTerm: string) { diff --git a/src/app/test/service-stubs.ts b/src/app/test/service-stubs.ts index ab1af5906b..40bfbe1b77 100644 --- a/src/app/test/service-stubs.ts +++ b/src/app/test/service-stubs.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { EntryType } from 'app/shared/enum/entry-type'; -import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; +import { BehaviorSubject, EMPTY, Observable, of as observableOf } from 'rxjs'; import { SearchFields } from '../search/state/search.service'; import { TagEditorMode } from '../shared/enum/tagEditorMode.enum'; import { Dockstore } from './../shared/dockstore.model'; @@ -133,6 +133,12 @@ export class GA4GHStubService { } } +export class ExtendedGA4GHStubService { + toolsIndexSearch(): Observable { + return EMPTY; + } +} + export class GA4GHV20StubService {} export class SearchStubService { From c267fd52e183d105c5cf3250166a6d8409cc594d Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Thu, 7 Jan 2021 14:02:55 -0500 Subject: [PATCH 014/119] Update README.md (#1128) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c8fc07e55..23a2cf7342 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Build Status](https://travis-ci.org/dockstore/dockstore-ui2.svg?branch=develop)](https://travis-ci.org/dockstore/dockstore-ui2) [![codecov](https://codecov.io/gh/dockstore/dockstore-ui2/branch/develop/graph/badge.svg)](https://codecov.io/gh/dockstore/dockstore-ui2) -Please file issues for this repository and Web site at [the ga4gh/dockstore repository](https://github.com/ga4gh/dockstore/issues)! +Please file issues for this repository and Web site at [the dockstore/dockstore repository](https://github.com/dockstore/dockstore/issues)! Table of Contents ================= From df3f26eb7bb771600841d7e16cf813552375b18d Mon Sep 17 00:00:00 2001 From: Gregory F J Hogue Date: Thu, 14 Jan 2021 13:47:42 -0500 Subject: [PATCH 015/119] Have sample code when creating new descriptor files for hosted tool/workflow (#1129) * initialize hosted CWL/WDL/NF descriptors with sample code * try fixing TS lint issue * only select-all for sample code * add http to test * use sample code from our docs; different CWL code for Tool/Workflow * proper entityType type; fix non-editing cursor pos; event should catch initial state * try adding small delay for sample code to load * use HttpClientTestingModule for test * nextflow in comment * change "helloworld" names --- cypress/integration/group1/hostedWorkflows.ts | 1 + .../code-editor-list.component.html | 7 ++- .../code-editor/code-editor.component.spec.ts | 2 + .../code-editor/code-editor.component.ts | 47 +++++++++++++--- src/assets/text/nextflow.config | 15 +++++ src/assets/text/sample-tool.cwl | 54 ++++++++++++++++++ src/assets/text/sample-workflow.cwl | 56 +++++++++++++++++++ src/assets/text/sample.nf | 16 ++++++ src/assets/text/sample.wdl | 35 ++++++++++++ 9 files changed, 225 insertions(+), 8 deletions(-) create mode 100644 src/assets/text/nextflow.config create mode 100644 src/assets/text/sample-tool.cwl create mode 100644 src/assets/text/sample-workflow.cwl create mode 100644 src/assets/text/sample.nf create mode 100644 src/assets/text/sample.wdl diff --git a/cypress/integration/group1/hostedWorkflows.ts b/cypress/integration/group1/hostedWorkflows.ts index 6e78fe0d60..2a52db423e 100644 --- a/cypress/integration/group1/hostedWorkflows.ts +++ b/cypress/integration/group1/hostedWorkflows.ts @@ -59,6 +59,7 @@ describe('Dockstore hosted workflows', () => { goToTab('Files'); cy.get('#editFilesButton').click(); cy.contains('Add File').click(); + cy.wait(100); cy.window().then(function (window: any) { cy.document().then((doc) => { const editors = doc.getElementsByClassName('ace_editor'); diff --git a/src/app/shared/code-editor-list/code-editor-list.component.html b/src/app/shared/code-editor-list/code-editor-list.component.html index b556c187ee..4825d66aa4 100644 --- a/src/app/shared/code-editor-list/code-editor-list.component.html +++ b/src/app/shared/code-editor-list/code-editor-list.component.html @@ -71,7 +71,12 @@ - +
diff --git a/src/app/container/dockerfile/dockerfile.component.html b/src/app/container/dockerfile/dockerfile.component.html index 1a1d6e8b27..66a7828759 100644 --- a/src/app/container/dockerfile/dockerfile.component.html +++ b/src/app/container/dockerfile/dockerfile.component.html @@ -44,7 +44,7 @@ > save_alt - diff --git a/src/app/container/info-tab/info-tab.component.html b/src/app/container/info-tab/info-tab.component.html index f9bb3ad4e8..e4b80eb36e 100644 --- a/src/app/container/info-tab/info-tab.component.html +++ b/src/app/container/info-tab/info-tab.component.html @@ -51,7 +51,7 @@ {{ tool?.tool_path }} - @@ -60,7 +60,7 @@ {{ tool?.tool_path }} - diff --git a/src/app/container/paramfiles/paramfiles.component.html b/src/app/container/paramfiles/paramfiles.component.html index 9a47d83eb9..5859c573bd 100644 --- a/src/app/container/paramfiles/paramfiles.component.html +++ b/src/app/container/paramfiles/paramfiles.component.html @@ -82,7 +82,7 @@ save_alt - diff --git a/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts b/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts index de8a523ba0..8049d816c0 100644 --- a/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts +++ b/src/app/container/tool-file-editor/tool-file-editor.component.spec.ts @@ -1,6 +1,7 @@ import { HttpClientModule } from '@angular/common/http'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { ClipboardModule } from '@angular/cdk/clipboard'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -12,7 +13,7 @@ import { MatTabsModule } from '@angular/material/tabs'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatTooltipModule } from '@angular/material/tooltip'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { ClipboardModule } from 'ngx-clipboard'; + import { WorkflowService } from '../../shared/state/workflow.service'; import { CodeEditorListComponent } from './../../shared/code-editor-list/code-editor-list.component'; import { CodeEditorComponent } from './../../shared/code-editor/code-editor.component'; diff --git a/src/app/container/version-modal/version-modal.component.html b/src/app/container/version-modal/version-modal.component.html index 11d3617609..eb96fa0fe8 100644 --- a/src/app/container/version-modal/version-modal.component.html +++ b/src/app/container/version-modal/version-modal.component.html @@ -393,7 +393,7 @@

{{ TagEditorMode[mode] }} Version Tag

disabled /> - diff --git a/src/app/container/version-modal/version-modal.component.spec.ts b/src/app/container/version-modal/version-modal.component.spec.ts index b5ae0b9ae8..0795aeb3e8 100644 --- a/src/app/container/version-modal/version-modal.component.spec.ts +++ b/src/app/container/version-modal/version-modal.component.spec.ts @@ -1,7 +1,7 @@ +import { ClipboardModule } from '@angular/cdk/clipboard'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { ClipboardModule } from 'ngx-clipboard'; import { MatDialogModule } from '@angular/material/dialog'; import { MatSnackBarModule } from '@angular/material/snack-bar'; diff --git a/src/app/entry/entry-file-tab/entry-file-tab.component.html b/src/app/entry/entry-file-tab/entry-file-tab.component.html index a1f7658b70..ba82cb89a4 100644 --- a/src/app/entry/entry-file-tab/entry-file-tab.component.html +++ b/src/app/entry/entry-file-tab/entry-file-tab.component.html @@ -48,7 +48,7 @@ save_alt - diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index 30e892e690..006e792a48 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -85,7 +85,7 @@
  • diff --git a/src/app/loginComponents/accounts/external/accounts.component.html b/src/app/loginComponents/accounts/external/accounts.component.html index eb2fc69a34..352e64185c 100644 --- a/src/app/loginComponents/accounts/external/accounts.component.html +++ b/src/app/loginComponents/accounts/external/accounts.component.html @@ -35,8 +35,7 @@

    Dockstore Account

    diff --git a/src/app/shared/code-editor-list/code-editor-list.component.spec.ts b/src/app/shared/code-editor-list/code-editor-list.component.spec.ts index 38093f2be8..7041e068fc 100644 --- a/src/app/shared/code-editor-list/code-editor-list.component.spec.ts +++ b/src/app/shared/code-editor-list/code-editor-list.component.spec.ts @@ -1,5 +1,6 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { ClipboardModule } from '@angular/cdk/clipboard'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -8,7 +9,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatTabsModule } from '@angular/material/tabs'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatTooltipModule } from '@angular/material/tooltip'; -import { ClipboardModule } from 'ngx-clipboard'; + import { WorkflowService } from '../state/workflow.service'; import { PrivateFileDownloadPipe } from './../../shared/entry/private-file-download.pipe'; import { PrivateFilePathPipe } from './../../shared/entry/private-file-path.pipe'; diff --git a/src/app/shared/entry/entry.module.ts b/src/app/shared/entry/entry.module.ts index 5d5842dd26..598a764829 100644 --- a/src/app/shared/entry/entry.module.ts +++ b/src/app/shared/entry/entry.module.ts @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { ClipboardModule } from '@angular/cdk/clipboard'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FlexLayoutModule } from '@angular/flex-layout'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { NgxJsonLdModule } from '@ngx-lite/json-ld'; -import { ClipboardModule } from 'ngx-clipboard'; + import { ShareButtonsModule } from 'ngx-sharebuttons/buttons'; import { ShareIconsModule } from 'ngx-sharebuttons/icons'; import { RefreshAlertModule } from '../alert/alert.module'; diff --git a/src/app/shared/modules/container.module.ts b/src/app/shared/modules/container.module.ts index de81b2efef..b2e5543137 100644 --- a/src/app/shared/modules/container.module.ts +++ b/src/app/shared/modules/container.module.ts @@ -13,11 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { ClipboardModule } from '@angular/cdk/clipboard'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FlexLayoutModule } from '@angular/flex-layout'; import { FormsModule } from '@angular/forms'; -import { ClipboardModule } from 'ngx-clipboard'; + import { MarkdownModule } from 'ngx-markdown'; import { ContainerComponent } from '../../container/container.component'; import { DescriptorsComponent } from '../../container/descriptors/descriptors.component'; diff --git a/src/app/shared/modules/list-containers.module.ts b/src/app/shared/modules/list-containers.module.ts index 0415552647..fd13cf9fad 100644 --- a/src/app/shared/modules/list-containers.module.ts +++ b/src/app/shared/modules/list-containers.module.ts @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { ClipboardModule } from '@angular/cdk/clipboard'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { ClipboardModule } from 'ngx-clipboard'; + import { ListContainersComponent } from '../../containers/list/list.component'; import { ListContainersService } from '../../containers/list/list.service'; import { PublishedToolsDataSource } from '../../containers/list/published-tools.datasource'; diff --git a/src/app/shared/modules/workflow.module.ts b/src/app/shared/modules/workflow.module.ts index e066ad2c31..8819953dfa 100644 --- a/src/app/shared/modules/workflow.module.ts +++ b/src/app/shared/modules/workflow.module.ts @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { ClipboardModule } from '@angular/cdk/clipboard'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FlexLayoutModule } from '@angular/flex-layout'; import { FormsModule } from '@angular/forms'; import { EntryFileTabComponent } from 'app/entry/entry-file-tab/entry-file-tab.component'; -import { ClipboardModule } from 'ngx-clipboard'; + import { MarkdownModule } from 'ngx-markdown'; import { ParamfilesService } from '../../container/paramfiles/paramfiles.service'; import { CurrentCollectionsModule } from '../../entry/current-collections.module'; diff --git a/src/app/source-file-tabs/source-file-tabs.component.html b/src/app/source-file-tabs/source-file-tabs.component.html index 46a4028d84..5dc535bf84 100644 --- a/src/app/source-file-tabs/source-file-tabs.component.html +++ b/src/app/source-file-tabs/source-file-tabs.component.html @@ -41,7 +41,7 @@ > save_alt - diff --git a/src/app/workflow/descriptors/descriptors.component.html b/src/app/workflow/descriptors/descriptors.component.html index fa73db3d66..d9abfc3973 100644 --- a/src/app/workflow/descriptors/descriptors.component.html +++ b/src/app/workflow/descriptors/descriptors.component.html @@ -56,7 +56,7 @@ save_alt - diff --git a/src/app/workflow/info-tab/info-tab.component.html b/src/app/workflow/info-tab/info-tab.component.html index bceba16977..aff61cf010 100644 --- a/src/app/workflow/info-tab/info-tab.component.html +++ b/src/app/workflow/info-tab/info-tab.component.html @@ -54,7 +54,7 @@
  • TRS: #{{ entryType$ | async }}/{{ workflow?.full_workflow_path }} -
  • diff --git a/src/app/workflow/paramfiles/paramfiles.component.html b/src/app/workflow/paramfiles/paramfiles.component.html index 007bbbd3a9..0b2a84fa68 100644 --- a/src/app/workflow/paramfiles/paramfiles.component.html +++ b/src/app/workflow/paramfiles/paramfiles.component.html @@ -64,7 +64,7 @@ save_alt - diff --git a/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts b/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts index 975524f4da..2bf7bdbe75 100644 --- a/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts +++ b/src/app/workflow/workflow-file-editor/workflow-file-editor.component.spec.ts @@ -1,3 +1,4 @@ +import { ClipboardModule } from '@angular/cdk/clipboard'; import { HttpClientModule } from '@angular/common/http'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatButtonModule } from '@angular/material/button'; @@ -10,7 +11,7 @@ import { MatTabsModule } from '@angular/material/tabs'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatTooltipModule } from '@angular/material/tooltip'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { ClipboardModule } from 'ngx-clipboard'; + import { WorkflowService } from '../../shared/state/workflow.service'; import { CodeEditorListComponent } from './../../shared/code-editor-list/code-editor-list.component'; import { CodeEditorComponent } from './../../shared/code-editor/code-editor.component'; From 13b3c457e2f7da238e4149b4e36701e03ce85ea4 Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Thu, 28 Jan 2021 13:52:19 -0500 Subject: [PATCH 019/119] language labels display styling (#1138) * language labels display styling * typo fixed * cypress added wait 5 seconds * Update checkerWorkflowFromTools.ts * cy.wait(250) --- cypress/integration/group1/checkerWorkflowFromTools.ts | 2 ++ .../search-tool-table/search-tool-table.component.html | 2 +- .../search-workflow-table.component.html | 2 +- src/styles.scss | 7 +++++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/cypress/integration/group1/checkerWorkflowFromTools.ts b/cypress/integration/group1/checkerWorkflowFromTools.ts index 87aba7e404..4791e7330a 100644 --- a/cypress/integration/group1/checkerWorkflowFromTools.ts +++ b/cypress/integration/group1/checkerWorkflowFromTools.ts @@ -99,6 +99,7 @@ describe('Checker workflow test from my-tools', () => { // cy.url().should('eq','/my-tools/quay.io/A2/b3') cy.get('#publishToolButton').should('be.visible').should('contain', 'Unpublish').click(); cy.get('#publishToolButton').should('be.visible').should('contain', 'Publish'); + cy.wait(250); cy.get('#viewCheckerWorkflowButton').should('be.visible').click(); // In the checker workflow right now @@ -112,6 +113,7 @@ describe('Checker workflow test from my-tools', () => { cy.url().should('eq', Cypress.config().baseUrl + '/my-tools/quay.io/A2/b3'); cy.get('#publishToolButton').should('be.visible').should('contain', 'Publish').click(); cy.get('#publishToolButton').should('be.visible').should('contain', 'Unpublish'); + cy.wait(250); cy.get('#viewCheckerWorkflowButton').should('be.visible').click(); // in the checker workflow right now diff --git a/src/app/search/search-tool-table/search-tool-table.component.html b/src/app/search/search-tool-table/search-tool-table.component.html index 55bc02fcb7..6a3f4e8ce0 100644 --- a/src/app/search/search-tool-table/search-tool-table.component.html +++ b/src/app/search/search-tool-table/search-tool-table.component.html @@ -51,7 +51,7 @@ Format - +
    {{ language ? (language.toString() | uppercase) : '' }} diff --git a/src/app/search/search-workflow-table/search-workflow-table.component.html b/src/app/search/search-workflow-table/search-workflow-table.component.html index d944a475e9..0959247d3f 100644 --- a/src/app/search/search-workflow-table/search-workflow-table.component.html +++ b/src/app/search/search-workflow-table/search-workflow-table.component.html @@ -42,7 +42,7 @@ Project Links - + diff --git a/src/styles.scss b/src/styles.scss index 7bcd7efdb1..1abd2b481a 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1273,6 +1273,7 @@ mat-tab-group.no-pagination { // Styling from design mockups // These badges are not clickable, thus different from Material Design Chips .nonclick-badge { + display: inline-flex; border-radius: 8px; background-color: #dfe0e2; padding: 5px 8px; @@ -1280,3 +1281,9 @@ mat-tab-group.no-pagination { font-size: 1.3rem; font-weight: 500; } + +@media only screen and (max-width: 1200px) { + .align-languages { + flex-direction: column; + } +} From 5bf0eefa2117b1c781b3ea0c4ea9bdeea7d98e67 Mon Sep 17 00:00:00 2001 From: Gregory F J Hogue Date: Thu, 28 Jan 2021 14:06:56 -0500 Subject: [PATCH 020/119] Fix sample descriptor code URLs for CDN path substitution (#1139) --- src/app/shared/code-editor/code-editor.component.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/shared/code-editor/code-editor.component.ts b/src/app/shared/code-editor/code-editor.component.ts index 0d4b5649a2..76daf9b0e0 100644 --- a/src/app/shared/code-editor/code-editor.component.ts +++ b/src/app/shared/code-editor/code-editor.component.ts @@ -80,16 +80,16 @@ export class CodeEditorComponent implements AfterViewInit { if (!this.editorContent) { if (this.mode === 'cwl') { if (this.entryType === 'tool') { - sampleCodeUrl = 'assets/text/sample-tool.cwl'; + sampleCodeUrl = '../assets/text/sample-tool.cwl'; } else if (this.entryType === 'workflow') { - sampleCodeUrl = 'assets/text/sample-workflow.cwl'; + sampleCodeUrl = '../assets/text/sample-workflow.cwl'; } } else if (this.mode === 'wdl') { - sampleCodeUrl = 'assets/text/sample.wdl'; + sampleCodeUrl = '../assets/text/sample.wdl'; } else if (this.mode === 'nfl') { - sampleCodeUrl = 'assets/text/sample.nf'; + sampleCodeUrl = '../assets/text/sample.nf'; } else if (this.editorFilepath === '/nextflow.config') { - sampleCodeUrl = 'assets/text/nextflow.config'; + sampleCodeUrl = '../assets/text/nextflow.config'; } } if (sampleCodeUrl) { From 45bac73d1f0f17a7ab039aa98cc1f9ca4bbcbd1d Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Thu, 28 Jan 2021 17:53:14 -0500 Subject: [PATCH 021/119] Feature/3942/private tool status bar text (#1134) * Fixed private tool "Request Access" status bar text. Used observable to pass data from containter.component.ts to email.service.ts Added one more parameter to two functions in email.service.ts * Async pipe for displaying and passing registry name(imgProvider) string And also made some private functions static * Cleaned up some code * Cleaned up some functions' parameters * spec file modification * Update getRequestEmailBody * Update email.service.spec.ts * getRequestEmailBody return statement contains only one string --- src/app/container/container.component.html | 2 +- src/app/container/container.component.ts | 10 ++- src/app/container/email.service.spec.ts | 2 +- src/app/container/email.service.ts | 80 +++++++++++----------- 4 files changed, 50 insertions(+), 44 deletions(-) diff --git a/src/app/container/container.component.html b/src/app/container/container.component.html index 34402d661e..9ab0ce3887 100644 --- a/src/app/container/container.component.html +++ b/src/app/container/container.component.html @@ -80,7 +80,7 @@

    >

    Contact Author diff --git a/src/app/container/container.component.ts b/src/app/container/container.component.ts index 51d469d7b9..26729f6ab4 100644 --- a/src/app/container/container.component.ts +++ b/src/app/container/container.component.ts @@ -21,7 +21,7 @@ import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute, Router } from '@angular/router'; import { AlertService } from 'app/shared/alert/state/alert.service'; import { Observable } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { map, takeUntil } from 'rxjs/operators'; import { ListContainersService } from '../containers/list/list.service'; import { AlertQuery } from '../shared/alert/state/alert.query'; import { BioschemaService, BioschemaTool } from '../shared/bioschema.service'; @@ -59,7 +59,7 @@ export class ContainerComponent extends Entry implements AfterViewInit { containerEditData: any; thisisValid = true; ModeEnum = DockstoreTool.ModeEnum; - public requestAccessHREF: string; + public requestAccessHREF$: Observable; public contactAuthorHREF: string; public missingWarning: boolean; public tool: DockstoreTool; @@ -197,8 +197,12 @@ export class ContainerComponent extends Entry implements AfterViewInit { if (tool) { this.tool = tool; this.initTool(); + this.requestAccessHREF$ = this.extendedTool$.pipe( + map((extendedTool) => { + return this.emailService.composeRequestAccessEmail(extendedTool); + }) + ); this.contactAuthorHREF = this.emailService.composeContactAuthorEmail(this.tool); - this.requestAccessHREF = this.emailService.composeRequestAccessEmail(this.tool); this.sortedVersions = this.getSortedTags(this.tool.workflowVersions, this.defaultVersion); this.updateVerifiedPlatforms(this.tool.id); } diff --git a/src/app/container/email.service.spec.ts b/src/app/container/email.service.spec.ts index d9acb9f62d..593d5b2c2b 100644 --- a/src/app/container/email.service.spec.ts +++ b/src/app/container/email.service.spec.ts @@ -29,7 +29,7 @@ describe('Service: Email', () => { 'mailto:fake@maintainer.email.ca' + '?subject=Dockstore%20Request%20for%20Access%20to%20registry.hub.docker.com/postgres/postgres' + '&body=I%20would%20like%20to%20request%20access%20to%20your%20Docker%20image%20registry.hub.docker.com/postgres/postgres.%20' + - 'My%20user%20name%20on%20Docker%20Hub%20is%20%3Cusername%3E' + 'My%20username%20on%20Docker%20Hub%20is%20%3Cinput%20username%20here%3E' ); })); diff --git a/src/app/container/email.service.ts b/src/app/container/email.service.ts index bdfa0de2a7..2275db31cd 100644 --- a/src/app/container/email.service.ts +++ b/src/app/container/email.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; +import { DockstoreTool } from '../shared/swagger/model/dockstoreTool'; import { DockstoreService } from './../shared/dockstore.service'; import { ExtendedDockstoreTool } from './../shared/models/ExtendedDockstoreTool'; @@ -11,47 +12,15 @@ export class EmailService { * @param subject The subject of the email * @param body The body of the the email */ - private composeEmail(email: string, subject: string, body: string): string { + private static composeEmail(email: string, subject: string, body: string): string { return `mailto:${email}?subject=${subject}&body=${body}`; } - /** - * Composes the href for the Request Access email - * @param tool The tool to request access for - */ - public composeRequestAccessEmail(tool: ExtendedDockstoreTool): string { - const email = this.getRequestEmailMailTo(tool.tool_maintainer_email, tool.email); - const subject = this.getRequestEmailSubject(tool.tool_path); - const body = this.getRequestEmailBody(tool.tool_path, tool.imgProvider); - return this.composeEmail(email, subject, body); - } - - /** - * Composes the href for the Contact Author email - * @param tool The tool to contact author for - */ - public composeContactAuthorEmail(tool: ExtendedDockstoreTool): string { - const email = this.getInquiryEmailMailTo(tool.email); - const subject = this.getInquiryEmailSubject(tool.tool_path); - const body = this.getInquiryEmailBody(); - return this.composeEmail(email, subject, body); - } - - // Request Access button methods - /** - * This gets the mailto address when the Request Access button is clicked - * @param maintainerEmail The maintainer email - * @param email The tool author's email address - */ - private getRequestEmailMailTo(maintainerEmail: string, email: string): string { - return this.dockstoreService.getRequestAccessEmail(maintainerEmail, email); - } - /** * This gets the email subject when the Request Access button is clicked * @param path The path of the tool whose access is being requested */ - private getRequestEmailSubject(path: string): string { + private static getRequestEmailSubject(path: string): string { return encodeURI(`Dockstore Request for Access to ${path}`); } @@ -60,8 +29,9 @@ export class EmailService { * @param path The path of the tool whose access is being requested * @param toolRegistry The tool registry (Quay.io, GitLab, etc) of the tool whose access is being requested */ - private getRequestEmailBody(path: string, toolRegistry: string): string { - return encodeURI(`I would like to request access to your Docker image ${path}. ` + `My user name on ${toolRegistry} is `); + private static getRequestEmailBody(path: string, toolRegistry: string): string { + const imgProvider: string = toolRegistry ? toolRegistry : 'undefined'; + return encodeURI(`I would like to request access to your Docker image ${path}. My username on ${imgProvider} is `); } // Contact Author button methods @@ -70,7 +40,7 @@ export class EmailService { * This method is mostly redundant, but keeping it to mirror the Request Access button methods and in case modifications are needed * @param email The tool author's email address */ - private getInquiryEmailMailTo(email: string): string { + private static getInquiryEmailMailTo(email: string): string { return email; } @@ -78,7 +48,7 @@ export class EmailService { * This gets the email subject when the Contact Author button is clicked * @param path The path of the tool whose access is being requested */ - private getInquiryEmailSubject(path: string): string { + private static getInquiryEmailSubject(path: string): string { return encodeURI(`Dockstore ${path} inquiry`); } @@ -86,7 +56,39 @@ export class EmailService { * This gets the email body when the Contact Author button is clicked * This method is mostly redundant, but keeping it to mirror the Request Access button methods and in case modifications are needed */ - private getInquiryEmailBody(): string { + private static getInquiryEmailBody(): string { return ''; } + + /** + * Composes the href for the Request Access email + * @param tool The tool to request access for + */ + public composeRequestAccessEmail(tool: ExtendedDockstoreTool): string { + const email = this.getRequestEmailMailTo(tool.tool_maintainer_email, tool.email); + const subject = EmailService.getRequestEmailSubject(tool.tool_path); + const body = EmailService.getRequestEmailBody(tool.tool_path, tool.imgProvider); + return EmailService.composeEmail(email, subject, body); + } + + /** + * Composes the href for the Contact Author email + * @param tool The tool to contact author for + */ + public composeContactAuthorEmail(tool: DockstoreTool): string { + const email = EmailService.getInquiryEmailMailTo(tool.email); + const subject = EmailService.getInquiryEmailSubject(tool.tool_path); + const body = EmailService.getInquiryEmailBody(); + return EmailService.composeEmail(email, subject, body); + } + + // Request Access button methods + /** + * This gets the mailto address when the Request Access button is clicked + * @param maintainerEmail The maintainer email + * @param email The tool author's email address + */ + private getRequestEmailMailTo(maintainerEmail: string, email: string): string { + return this.dockstoreService.getRequestAccessEmail(maintainerEmail, email); + } } From ae571a1fb5cc3c7b176db2771d4f1e3e72711ef1 Mon Sep 17 00:00:00 2001 From: StefanijaO Date: Sat, 30 Jan 2021 00:30:58 +0100 Subject: [PATCH 022/119] Add Cavatica button for CWL workflows (#1140) * Add Cavatica button for CWL workflows * Update launch-third-party.component.html Add missing bracket for img Co-authored-by: stefanijaorbovic Co-authored-by: Charles Overbeck --- src/app/shared/dockstore.model.ts | 1 + .../launch-third-party.component.html | 12 ++++++++++++ .../launch-third-party.component.ts | 4 ++++ src/assets/images/thirdparty/cavatica.png | Bin 0 -> 5062 bytes 4 files changed, 17 insertions(+) create mode 100644 src/assets/images/thirdparty/cavatica.png diff --git a/src/app/shared/dockstore.model.ts b/src/app/shared/dockstore.model.ts index c8dfed7773..5e52b59d48 100644 --- a/src/app/shared/dockstore.model.ts +++ b/src/app/shared/dockstore.model.ts @@ -36,6 +36,7 @@ export class Dockstore { static ANVIL_IMPORT_URL = 'https://anvil.terra.bio/#import-tool/dockstore'; static BD_CATALYST_SEVEN_BRIDGES_IMPORT_URL = 'https://sb.biodatacatalyst.nhlbi.nih.gov/integration/trs/import'; static BD_CATALYST_TERRA_IMPORT_URL = 'https://terra.biodatacatalyst.nhlbi.nih.gov/#import-tool/dockstore'; + static CAVATICA_IMPORT_URL = 'https://cavatica.sbgenomics.com/integration/trs/import'; static GITHUB_CLIENT_ID = 'will be filled in by configuration.service'; static GITHUB_AUTH_URL = 'https://github.com/login/oauth/authorize'; diff --git a/src/app/workflow/launch-third-party/launch-third-party.component.html b/src/app/workflow/launch-third-party/launch-third-party.component.html index 40f9262a83..4453086842 100644 --- a/src/app/workflow/launch-third-party/launch-third-party.component.html +++ b/src/app/workflow/launch-third-party/launch-third-party.component.html @@ -95,6 +95,18 @@

    Launch with

    >NHLBI BioData Catalyst
    +

    diff --git a/src/app/workflow/launch-third-party/launch-third-party.component.ts b/src/app/workflow/launch-third-party/launch-third-party.component.ts index dfbbe3ef0a..84fac0b5e4 100644 --- a/src/app/workflow/launch-third-party/launch-third-party.component.ts +++ b/src/app/workflow/launch-third-party/launch-third-party.component.ts @@ -179,6 +179,10 @@ export class LaunchThirdPartyComponent extends Base implements OnChanges, OnInit map(([hasContent, hasFileImports]) => !hasContent || (hasFileImports && !this.isGitHubWorkflow())) ); + cavaticaTooltip$: Observable = combineLatest([this.hasContent$, this.hasHttpImports$]).pipe( + map(([hasContent, hasHttpImports]) => this.sevenBridgesTooltip(hasContent, hasHttpImports, 'Cavatica')) + ); + constructor( private workflowsService: WorkflowsService, private descriptorTypeCompatService: DescriptorTypeCompatService, diff --git a/src/assets/images/thirdparty/cavatica.png b/src/assets/images/thirdparty/cavatica.png new file mode 100644 index 0000000000000000000000000000000000000000..be0a9be945e292d0e3bc30c97e7edc93e11845b3 GIT binary patch literal 5062 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 literal 0 HcmV?d00001 From ed17a4ab7e4c777912662e7321af8c09b05aabe4 Mon Sep 17 00:00:00 2001 From: NatalieEO Date: Wed, 3 Feb 2021 15:19:31 -0800 Subject: [PATCH 023/119] Hotfix/2.7.3 (#1147) * Add Cavatica button for CWL workflows (#1140) (#1141) * Add Cavatica button for CWL workflows * Update launch-third-party.component.html Add missing bracket for img Co-authored-by: stefanijaorbovic Co-authored-by: Charles Overbeck (cherry picked from commit ae571a1fb5cc3c7b176db2771d4f1e3e72711ef1) Co-authored-by: StefanijaO * merge branch hotfix/2.7.2 * Add Cavatica button for CWL workflows * Update launch-third-party.component.html Add missing bracket for img Co-authored-by: stefanijaorbovic Co-authored-by: Charles Overbeck (cherry picked from commit ae571a1fb5cc3c7b176db2771d4f1e3e72711ef1) Co-authored-by: StefanijaO Co-authored-by: Charles Overbeck Co-authored-by: StefanijaO * fix license checker script (#1144) * fix license checker script/circleci test. Now circleci will run create its own license file and compare it to the checked in one. If they don't match, and the test fails. Devs will need to run "npm run license" to update the license file and have test passing. Co-authored-by: Charles Overbeck Co-authored-by: StefanijaO --- .circleci/config.yml | 34 +- THIRD-PARTY-LICENSES.csv | 779 ++++++++++++++----------- package.json | 3 +- scripts/detect-package-json-changes.sh | 11 +- 4 files changed, 467 insertions(+), 360 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5b7522fe6f..0a61e3a79a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -60,7 +60,7 @@ jobs: fail_only: true failure_message: Nightly auth tests failed! webhook: $SLACK_WEBHOOK - lint_unit_test_coverage: + lint_license_unit_test_coverage: working_directory: ~/repo docker: - image: circleci/buildpack-deps:18.04-browsers @@ -103,6 +103,11 @@ jobs: - run: name: Lint command: bash -i -c 'npm run lint' + - run: + name: License Test + command: | + bash -i -c 'npm run circle-ci-license-test-file' + bash scripts/detect-package-json-changes.sh - run: name: Build command: NODE_OPTIONS="--max-old-space-size=1610" bash -i -c 'npm run build.prod' @@ -119,16 +124,6 @@ jobs: root: . paths: - . - licenses_test: - working_directory: ~/repo - docker: - - image: circleci/buildpack-deps:18.04-browsers - auth: - username: dockstoretestuser - password: $DOCKERHUB_PASSWORD - steps: - - checkout - - run: bash scripts/detect-package-json-changes.sh integration_test_1: executor: integration_test_exec working_directory: ~/repo @@ -231,13 +226,7 @@ workflows: everything: jobs: # # Add the tags filter to all jobs so they will run before upload_to_s3 - - lint_unit_test_coverage: - filters: - tags: - only: /.*/ - context: - - dockerhub - - licenses_test: + - lint_license_unit_test_coverage: filters: tags: only: /.*/ @@ -248,8 +237,7 @@ workflows: tags: only: /.*/ requires: - - lint_unit_test_coverage - - licenses_test + - lint_license_unit_test_coverage context: - dockerhub - integration_test_2: @@ -257,8 +245,7 @@ workflows: tags: only: /.*/ requires: - - lint_unit_test_coverage - - licenses_test + - lint_license_unit_test_coverage context: - dockerhub - integration_test_3: @@ -266,8 +253,7 @@ workflows: tags: only: /.*/ requires: - - lint_unit_test_coverage - - licenses_test + - lint_license_unit_test_coverage context: - dockerhub # Upload builds for tags and branches to s3. diff --git a/THIRD-PARTY-LICENSES.csv b/THIRD-PARTY-LICENSES.csv index bff58825ec..d5cfad7032 100644 --- a/THIRD-PARTY-LICENSES.csv +++ b/THIRD-PARTY-LICENSES.csv @@ -1,101 +1,103 @@ "module name","license","repository" -"@angular-devkit/architect@0.803.25","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/build-angular@0.803.25","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/build-optimizer@0.803.25","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/build-webpack@0.803.25","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/architect@0.901.9","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/build-angular@0.901.9","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/build-optimizer@0.901.9","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/build-webpack@0.901.9","MIT","https://github.com/angular/angular-cli" "@angular-devkit/core@7.3.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/core@8.3.25","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/core@9.1.9","MIT","https://github.com/angular/angular-cli" "@angular-devkit/schematics@7.3.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/schematics@8.3.25","MIT","https://github.com/angular/angular-cli" -"@angular/animations@8.2.8","MIT","https://github.com/angular/angular" -"@angular/cdk@8.1.1","MIT","https://github.com/angular/components" -"@angular/cli@8.3.25","MIT","https://github.com/angular/angular-cli" -"@angular/common@8.2.8","MIT","https://github.com/angular/angular" -"@angular/compiler-cli@8.2.8","MIT","https://github.com/angular/angular" -"@angular/compiler@8.2.8","MIT","https://github.com/angular/angular" -"@angular/core@8.2.8","MIT","https://github.com/angular/angular" -"@angular/flex-layout@8.0.0-beta.27","MIT","https://github.com/angular/flex-layout" -"@angular/forms@8.2.8","MIT","https://github.com/angular/angular" -"@angular/language-service@8.2.8","MIT","https://github.com/angular/angular" -"@angular/material@8.1.1","MIT","https://github.com/angular/components" -"@angular/platform-browser-dynamic@8.2.8","MIT","https://github.com/angular/angular" -"@angular/platform-browser@8.2.8","MIT","https://github.com/angular/angular" -"@angular/platform-server@8.2.8","MIT","https://github.com/angular/angular" -"@angular/router@8.2.8","MIT","https://github.com/angular/angular" +"@angular-devkit/schematics@9.1.9","MIT","https://github.com/angular/angular-cli" +"@angular/animations@9.1.11","MIT","https://github.com/angular/angular" +"@angular/cdk@9.2.4","MIT","https://github.com/angular/components" +"@angular/cli@9.1.9","MIT","https://github.com/angular/angular-cli" +"@angular/common@9.1.11","MIT","https://github.com/angular/angular" +"@angular/compiler-cli@9.1.11","MIT","https://github.com/angular/angular" +"@angular/compiler@9.1.11","MIT","https://github.com/angular/angular" +"@angular/core@9.1.11","MIT","https://github.com/angular/angular" +"@angular/flex-layout@9.0.0-beta.31","MIT","https://github.com/angular/flex-layout" +"@angular/forms@9.1.11","MIT","https://github.com/angular/angular" +"@angular/language-service@9.1.11","MIT","https://github.com/angular/angular" +"@angular/material@9.2.4","MIT","https://github.com/angular/components" +"@angular/platform-browser-dynamic@9.1.11","MIT","https://github.com/angular/angular" +"@angular/platform-browser@9.1.11","MIT","https://github.com/angular/angular" +"@angular/platform-server@9.1.11","MIT","https://github.com/angular/angular" +"@angular/router@9.1.11","MIT","https://github.com/angular/angular" "@babel/code-frame@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-code-frame" +"@babel/code-frame@7.10.3","MIT","https://github.com/babel/babel" "@babel/code-frame@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-code-frame" -"@babel/code-frame@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-code-frame" -"@babel/compat-data@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-compat-data" +"@babel/compat-data@7.10.3","MIT","https://github.com/babel/babel" +"@babel/core@7.10.3","MIT","https://github.com/babel/babel" "@babel/core@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-core" -"@babel/core@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-core" -"@babel/core@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-core" +"@babel/core@7.9.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-core" +"@babel/generator@7.10.3","MIT","https://github.com/babel/babel" "@babel/generator@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" "@babel/generator@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" -"@babel/generator@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" +"@babel/generator@7.9.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" "@babel/helper-annotate-as-pure@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure" -"@babel/helper-annotate-as-pure@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure" +"@babel/helper-annotate-as-pure@7.10.1","MIT","https://github.com/babel/babel" "@babel/helper-builder-binary-assignment-operator-visitor@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor" -"@babel/helper-builder-binary-assignment-operator-visitor@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor" +"@babel/helper-builder-binary-assignment-operator-visitor@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-call-delegate@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate" -"@babel/helper-call-delegate@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate" -"@babel/helper-compilation-targets@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-compilation-targets" -"@babel/helper-create-regexp-features-plugin@7.8.6","MIT","https://github.com/babel/babel" +"@babel/helper-compilation-targets@7.10.2","MIT","https://github.com/babel/babel" +"@babel/helper-create-regexp-features-plugin@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-define-map@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-define-map@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-define-map" -"@babel/helper-define-map@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-define-map" "@babel/helper-explode-assignable-expression@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression" -"@babel/helper-explode-assignable-expression@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression" +"@babel/helper-explode-assignable-expression@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-function-name@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-function-name" -"@babel/helper-function-name@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-function-name" +"@babel/helper-function-name@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-get-function-arity@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity" -"@babel/helper-get-function-arity@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity" +"@babel/helper-get-function-arity@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-hoist-variables@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-hoist-variables@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables" -"@babel/helper-hoist-variables@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables" +"@babel/helper-member-expression-to-functions@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-member-expression-to-functions@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-member-expression-to-functions" -"@babel/helper-member-expression-to-functions@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-member-expression-to-functions" "@babel/helper-module-imports@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-imports" -"@babel/helper-module-imports@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-imports" +"@babel/helper-module-imports@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-module-transforms@7.10.1","MIT","https://github.com/babel/babel" "@babel/helper-module-transforms@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms" "@babel/helper-module-transforms@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms" -"@babel/helper-module-transforms@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms" "@babel/helper-optimise-call-expression@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression" -"@babel/helper-optimise-call-expression@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression" +"@babel/helper-optimise-call-expression@7.10.3","MIT","https://github.com/babel/babel" "@babel/helper-plugin-utils@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-utils" -"@babel/helper-plugin-utils@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-utils" +"@babel/helper-plugin-utils@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-regex@7.10.1","MIT","https://github.com/babel/babel" "@babel/helper-regex@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-regex" "@babel/helper-regex@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-regex" -"@babel/helper-regex@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-regex" "@babel/helper-remap-async-to-generator@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator" -"@babel/helper-remap-async-to-generator@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator" +"@babel/helper-remap-async-to-generator@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-replace-supers@7.10.1","MIT","https://github.com/babel/babel" "@babel/helper-replace-supers@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers" -"@babel/helper-replace-supers@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers" "@babel/helper-simple-access@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access" -"@babel/helper-simple-access@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access" +"@babel/helper-simple-access@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-split-export-declaration@7.10.1","MIT","https://github.com/babel/babel" "@babel/helper-split-export-declaration@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration" "@babel/helper-split-export-declaration@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration" -"@babel/helper-split-export-declaration@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration" +"@babel/helper-validator-identifier@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-wrap-function@7.10.1","MIT","https://github.com/babel/babel" "@babel/helper-wrap-function@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function" -"@babel/helper-wrap-function@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function" +"@babel/helpers@7.10.1","MIT","https://github.com/babel/babel" "@babel/helpers@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-helpers" -"@babel/helpers@7.8.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helpers" "@babel/highlight@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-highlight" -"@babel/highlight@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-highlight" +"@babel/highlight@7.10.3","MIT","https://github.com/babel/babel" +"@babel/parser@7.10.3","MIT","https://github.com/babel/babel" "@babel/parser@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-parser" "@babel/parser@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-parser" -"@babel/parser@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-parser" +"@babel/plugin-proposal-async-generator-functions@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-async-generator-functions@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-async-generator-functions" -"@babel/plugin-proposal-async-generator-functions@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-async-generator-functions" +"@babel/plugin-proposal-dynamic-import@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-dynamic-import@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import" -"@babel/plugin-proposal-dynamic-import@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import" +"@babel/plugin-proposal-json-strings@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-json-strings@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-json-strings" -"@babel/plugin-proposal-json-strings@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-json-strings" -"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-nullish-coalescing-operator" +"@babel/plugin-proposal-nullish-coalescing-operator@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-numeric-separator@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-object-rest-spread@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-object-rest-spread@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread" -"@babel/plugin-proposal-object-rest-spread@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread" +"@babel/plugin-proposal-optional-catch-binding@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-optional-catch-binding@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-catch-binding" -"@babel/plugin-proposal-optional-catch-binding@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-catch-binding" -"@babel/plugin-proposal-optional-chaining@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-chaining" +"@babel/plugin-proposal-optional-chaining@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-unicode-property-regex@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-unicode-property-regex@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex" -"@babel/plugin-proposal-unicode-property-regex@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex" "@babel/plugin-syntax-async-generators@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators" "@babel/plugin-syntax-async-generators@7.8.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators" "@babel/plugin-syntax-dynamic-import@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import" @@ -103,110 +105,114 @@ "@babel/plugin-syntax-json-strings@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings" "@babel/plugin-syntax-json-strings@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings" "@babel/plugin-syntax-nullish-coalescing-operator@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator" +"@babel/plugin-syntax-numeric-separator@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-syntax-object-rest-spread@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread" "@babel/plugin-syntax-object-rest-spread@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread" "@babel/plugin-syntax-optional-catch-binding@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding" "@babel/plugin-syntax-optional-catch-binding@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding" "@babel/plugin-syntax-optional-chaining@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining" -"@babel/plugin-syntax-top-level-await@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-top-level-await" +"@babel/plugin-syntax-top-level-await@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-arrow-functions@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-arrow-functions@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-arrow-functions" -"@babel/plugin-transform-arrow-functions@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-arrow-functions" +"@babel/plugin-transform-async-to-generator@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-async-to-generator@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator" -"@babel/plugin-transform-async-to-generator@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator" +"@babel/plugin-transform-block-scoped-functions@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-block-scoped-functions@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoped-functions" -"@babel/plugin-transform-block-scoped-functions@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoped-functions" +"@babel/plugin-transform-block-scoping@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-block-scoping@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping" -"@babel/plugin-transform-block-scoping@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping" +"@babel/plugin-transform-classes@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-transform-classes@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes" -"@babel/plugin-transform-classes@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes" +"@babel/plugin-transform-computed-properties@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-transform-computed-properties@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-computed-properties" -"@babel/plugin-transform-computed-properties@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-computed-properties" +"@babel/plugin-transform-destructuring@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-destructuring@7.6.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring" -"@babel/plugin-transform-destructuring@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring" +"@babel/plugin-transform-dotall-regex@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-dotall-regex@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-dotall-regex" -"@babel/plugin-transform-dotall-regex@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-dotall-regex" +"@babel/plugin-transform-duplicate-keys@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-duplicate-keys@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-duplicate-keys" -"@babel/plugin-transform-duplicate-keys@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-duplicate-keys" +"@babel/plugin-transform-exponentiation-operator@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-exponentiation-operator@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator" -"@babel/plugin-transform-exponentiation-operator@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator" +"@babel/plugin-transform-for-of@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-for-of@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-for-of" -"@babel/plugin-transform-for-of@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-for-of" +"@babel/plugin-transform-function-name@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-function-name@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-function-name" -"@babel/plugin-transform-function-name@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-function-name" +"@babel/plugin-transform-literals@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-literals@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-literals" -"@babel/plugin-transform-literals@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-literals" +"@babel/plugin-transform-member-expression-literals@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-member-expression-literals@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-member-expression-literals" -"@babel/plugin-transform-member-expression-literals@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-member-expression-literals" +"@babel/plugin-transform-modules-amd@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-amd@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-amd" -"@babel/plugin-transform-modules-amd@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-amd" +"@babel/plugin-transform-modules-commonjs@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-commonjs@7.6.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs" -"@babel/plugin-transform-modules-commonjs@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs" +"@babel/plugin-transform-modules-systemjs@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-systemjs@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-systemjs" -"@babel/plugin-transform-modules-systemjs@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-systemjs" +"@babel/plugin-transform-modules-umd@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-umd@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-umd" -"@babel/plugin-transform-modules-umd@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-umd" +"@babel/plugin-transform-named-capturing-groups-regex@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-transform-named-capturing-groups-regex@7.6.2","MIT","https://github.com/babel/babel" -"@babel/plugin-transform-named-capturing-groups-regex@7.8.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-new-target@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-new-target@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-new-target" -"@babel/plugin-transform-new-target@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-new-target" +"@babel/plugin-transform-object-super@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-object-super@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-super" -"@babel/plugin-transform-object-super@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-super" +"@babel/plugin-transform-parameters@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-parameters@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters" -"@babel/plugin-transform-parameters@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters" +"@babel/plugin-transform-property-literals@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-property-literals@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-literals" -"@babel/plugin-transform-property-literals@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-literals" +"@babel/plugin-transform-regenerator@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-transform-regenerator@7.4.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator" -"@babel/plugin-transform-regenerator@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator" +"@babel/plugin-transform-reserved-words@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-reserved-words@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-reserved-words" -"@babel/plugin-transform-reserved-words@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-reserved-words" +"@babel/plugin-transform-shorthand-properties@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-shorthand-properties@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-shorthand-properties" -"@babel/plugin-transform-shorthand-properties@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-shorthand-properties" +"@babel/plugin-transform-spread@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-spread@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread" -"@babel/plugin-transform-spread@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread" +"@babel/plugin-transform-sticky-regex@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-sticky-regex@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-sticky-regex" -"@babel/plugin-transform-sticky-regex@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-sticky-regex" +"@babel/plugin-transform-template-literals@7.10.3","MIT","https://github.com/babel/babel" "@babel/plugin-transform-template-literals@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-template-literals" -"@babel/plugin-transform-template-literals@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-template-literals" +"@babel/plugin-transform-typeof-symbol@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-typeof-symbol@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typeof-symbol" -"@babel/plugin-transform-typeof-symbol@7.8.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typeof-symbol" +"@babel/plugin-transform-unicode-regex@7.10.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-unicode-regex@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex" -"@babel/plugin-transform-unicode-regex@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex" "@babel/preset-env@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-preset-env" -"@babel/preset-env@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-preset-env" -"@babel/runtime@7.8.7","MIT","https://github.com/babel/babel" +"@babel/preset-env@7.9.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-preset-env" +"@babel/preset-modules@0.1.3","MIT","" +"@babel/runtime@7.10.3","MIT","https://github.com/babel/babel" +"@babel/template@7.10.3","MIT","https://github.com/babel/babel" "@babel/template@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-template" "@babel/template@7.6.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-template" "@babel/template@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-template" +"@babel/traverse@7.10.3","MIT","https://github.com/babel/babel" "@babel/traverse@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-traverse" "@babel/traverse@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-traverse" -"@babel/traverse@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-traverse" +"@babel/types@7.10.3","MIT","https://github.com/babel/babel" "@babel/types@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-types" "@babel/types@7.6.1","MIT","https://github.com/babel/babel/tree/master/packages/babel-types" -"@babel/types@7.8.7","MIT","https://github.com/babel/babel/tree/master/packages/babel-types" "@cypress/listr-verbose-renderer@0.4.1","MIT","https://github.com/SamVerschueren/listr-verbose-renderer" +"@cypress/request@2.88.5","Apache-2.0","https://github.com/cypress-io/request" "@cypress/webpack-preprocessor@4.1.0","MIT","https://github.com/cypress-io/cypress-webpack-preprocessor" "@cypress/xvfb@1.2.4","MIT","https://github.com/cypress-io/xvfb" "@datorama/akita-ng-forms-manager@3.1.0","Apache*","https://github.com/NetanelBasal/akita-ng-forms-manager" "@datorama/akita-ngdevtools@3.0.2","Apache*","" "@datorama/akita@4.10.8","Apache*","https://github.com/datorama/akita" -"@fortawesome/angular-fontawesome@0.5.0","MIT","https://github.com/FortAwesome/angular-fontawesome" -"@fortawesome/fontawesome-common-types@0.2.25","MIT","https://github.com/FortAwesome/Font-Awesome" -"@fortawesome/fontawesome-svg-core@1.2.25","MIT","https://github.com/FortAwesome/Font-Awesome" -"@fortawesome/free-brands-svg-icons@5.11.2","(CC-BY-4.0 AND MIT)","https://github.com/FortAwesome/Font-Awesome" -"@fortawesome/free-solid-svg-icons@5.11.2","(CC-BY-4.0 AND MIT)","https://github.com/FortAwesome/Font-Awesome" +"@fortawesome/angular-fontawesome@0.6.1","MIT","https://github.com/FortAwesome/angular-fontawesome" +"@fortawesome/fontawesome-common-types@0.2.29","MIT","https://github.com/FortAwesome/Font-Awesome" +"@fortawesome/fontawesome-svg-core@1.2.29","MIT","https://github.com/FortAwesome/Font-Awesome" +"@fortawesome/free-brands-svg-icons@5.13.1","(CC-BY-4.0 AND MIT)","https://github.com/FortAwesome/Font-Awesome" +"@fortawesome/free-solid-svg-icons@5.13.1","(CC-BY-4.0 AND MIT)","https://github.com/FortAwesome/Font-Awesome" "@istanbuljs/schema@0.1.2","MIT","https://github.com/istanbuljs/schema" -"@ngtools/webpack@8.3.25","MIT","https://github.com/angular/angular-cli" +"@jsdevtools/coverage-istanbul-loader@3.0.3","MIT","https://github.com/JS-DevTools/coverage-istanbul-loader" +"@material-extended/mde@2.3.1","MIT","https://github.com/material-extended/popover" +"@ngtools/webpack@9.1.9","MIT","https://github.com/angular/angular-cli" "@ngx-lite/json-ld@0.6.2","MIT","https://github.com/coryrylan/ngx-json-ld" -"@ngx-share/button@7.1.4","MIT","https://github.com/murhafsousli/ngx-sharebuttons" -"@ngx-share/buttons@7.1.4","MIT","https://github.com/murhafsousli/ngx-sharebuttons" -"@ngx-share/core@7.1.4","MIT","https://github.com/murhafsousli/ngx-sharebuttons" "@nodelib/fs.scandir@2.1.2","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir" "@nodelib/fs.stat@2.0.2","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat" "@nodelib/fs.walk@1.2.3","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk" +"@npmcli/move-file@1.0.1","MIT","https://github.com/npm/move-file" "@phenomnomnominal/tsquery@3.0.0","MIT","https://github.com/phenomnomnominal/tsquery" "@samverschueren/stream-to-observable@0.3.0","MIT","https://github.com/SamVerschueren/stream-to-observable" -"@schematics/angular@8.3.25","MIT","https://github.com/angular/angular-cli" -"@schematics/update@0.803.25","MIT","https://github.com/angular/angular-cli" +"@schematics/angular@9.1.9","MIT","https://github.com/angular/angular-cli" +"@schematics/update@0.901.9","MIT","https://github.com/angular/angular-cli" "@types/color-name@1.1.1","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/cytoscape@3.8.2","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/elastic.js@1.2.8","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" @@ -216,13 +222,16 @@ "@types/jasmine@3.4.0","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/jasminewd2@2.0.6","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/jquery@3.3.31","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" -"@types/marked@0.6.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/json-schema@7.0.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/marked@0.7.4","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/minimatch@3.0.3","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" -"@types/node@10.14.19","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/node@12.12.47","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/normalize-package-data@2.4.0","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" +"@types/q@1.5.4","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/sinonjs__fake-timers@6.0.1","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/sizzle@2.3.2","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/source-list-map@0.1.2","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" -"@types/webpack-sources@0.1.6","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/webpack-sources@0.1.8","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@webassemblyjs/ast@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" "@webassemblyjs/floating-point-hex-parser@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" "@webassemblyjs/helper-api-error@1.8.5","MIT","" @@ -256,12 +265,13 @@ "agentkeepalive@3.5.2","MIT","https://github.com/node-modules/agentkeepalive" "aggregate-error@3.0.0","MIT","https://github.com/sindresorhus/aggregate-error" "ajv-errors@1.0.1","MIT","https://github.com/epoberezkin/ajv-errors" -"ajv-keywords@3.4.1","MIT","https://github.com/epoberezkin/ajv-keywords" +"ajv-keywords@3.5.0","MIT","https://github.com/epoberezkin/ajv-keywords" "ajv@5.5.2","MIT","https://github.com/epoberezkin/ajv" -"ajv@6.10.2","MIT","https://github.com/epoberezkin/ajv" "ajv@6.12.0","MIT","https://github.com/epoberezkin/ajv" +"ajv@6.12.2","MIT","https://github.com/epoberezkin/ajv" +"ajv@6.12.4","MIT","https://github.com/ajv-validator/ajv" "ajv@6.9.1","MIT","https://github.com/epoberezkin/ajv" -"amdefine@1.0.1","BSD-3-Clause OR MIT","https://github.com/jrburke/amdefine" +"alphanum-sort@1.0.2","MIT","https://github.com/TrySound/alphanum-sort" "angular-tag-cloud-module@3.8.1","MIT*","" "ansi-colors@3.2.4","MIT","https://github.com/doowb/ansi-colors" "ansi-colors@4.1.1","MIT","https://github.com/doowb/ansi-colors" @@ -279,10 +289,11 @@ "any-observable@0.3.0","MIT","https://github.com/sindresorhus/any-observable" "anymatch@2.0.0","ISC","https://github.com/micromatch/anymatch" "anymatch@3.1.0","ISC","https://github.com/micromatch/anymatch" +"anymatch@3.1.1","ISC","https://github.com/micromatch/anymatch" "app-root-path@2.2.1","MIT","https://github.com/inxilpro/node-app-root-path" "append-transform@1.0.0","MIT","https://github.com/istanbuljs/append-transform" "aproba@1.2.0","ISC","https://github.com/iarna/aproba" -"arch@2.1.1","MIT","https://github.com/feross/arch" +"arch@2.1.2","MIT","https://github.com/feross/arch" "are-we-there-yet@1.1.5","ISC","https://github.com/iarna/are-we-there-yet" "arg@4.1.1","MIT","https://github.com/zeit/arg" "argparse@1.0.10","MIT","https://github.com/nodeca/argparse" @@ -310,18 +321,22 @@ "async@2.6.3","MIT","https://github.com/caolan/async" "async@3.2.0","MIT","https://github.com/caolan/async" "asynckit@0.4.0","MIT","https://github.com/alexindigo/asynckit" +"at-least-node@1.0.0","ISC","https://github.com/RyanZim/at-least-node" "atob@2.1.1","(MIT OR Apache-2.0)","git://git.coolaj86.com/coolaj86/atob.js" -"autoprefixer@9.6.1","MIT","https://github.com/postcss/autoprefixer" +"autoprefixer@9.7.4","MIT","https://github.com/postcss/autoprefixer" "aws-sign2@0.7.0","Apache-2.0","https://github.com/mikeal/aws-sign" +"aws4@1.10.1","MIT","https://github.com/mhart/aws4" "aws4@1.8.0","MIT","https://github.com/mhart/aws4" "axobject-query@2.0.2","Apache-2.0","https://github.com/A11yance/axobject-query" "babel-loader@8.0.6","MIT","https://github.com/babel/babel-loader" +"babel-loader@8.1.0","MIT","https://github.com/babel/babel-loader" "babel-plugin-dynamic-import-node@2.3.0","MIT","https://github.com/airbnb/babel-plugin-dynamic-import-node" +"babel-plugin-dynamic-import-node@2.3.3","MIT","https://github.com/airbnb/babel-plugin-dynamic-import-node" "backo2@1.0.2","MIT","https://github.com/mokesmokes/backo" "balanced-match@1.0.0","MIT","https://github.com/juliangruber/balanced-match" "base64-arraybuffer@0.1.5","MIT","https://github.com/niklasvh/base64-arraybuffer" "base64-js@1.3.1","MIT","https://github.com/beatgammit/base64-js" -"base64id@1.0.0","MIT","https://github.com/faeldt/base64id" +"base64id@2.0.0","MIT","https://github.com/faeldt/base64id" "base@0.11.2","MIT","https://github.com/node-base/base" "batch@0.6.1","MIT","https://github.com/visionmedia/batch" "bcrypt-pbkdf@1.0.2","BSD-3-Clause","https://github.com/joyent/node-bcrypt-pbkdf" @@ -330,18 +345,21 @@ "big.js@5.2.2","MIT","https://github.com/MikeMcl/big.js" "binary-extensions@1.11.0","MIT","https://github.com/sindresorhus/binary-extensions" "binary-extensions@2.0.0","MIT","https://github.com/sindresorhus/binary-extensions" +"binary-extensions@2.1.0","MIT","https://github.com/sindresorhus/binary-extensions" +"bindings@1.5.0","MIT","https://github.com/TooTallNate/node-bindings" +"blob-util@2.0.2","Apache-2.0","https://github.com/nolanlawson/blob-util" "blob@0.0.5","MIT","https://github.com/webmodules/blob" "bluebird@3.5.0","MIT","https://github.com/petkaantonov/bluebird" "bluebird@3.5.1","MIT","https://github.com/petkaantonov/bluebird" -"bluebird@3.5.5","MIT","https://github.com/petkaantonov/bluebird" "bluebird@3.7.2","MIT","https://github.com/petkaantonov/bluebird" -"bn.js@4.11.8","MIT","https://github.com/indutny/bn.js" +"bn.js@4.11.9","MIT","https://github.com/indutny/bn.js" +"bn.js@5.1.2","MIT","https://github.com/indutny/bn.js" "body-parser@1.19.0","MIT","https://github.com/expressjs/body-parser" "bodybuilder@2.2.17","MIT","https://github.com/danpaz/bodybuilder" "bonjour@3.5.0","MIT","https://github.com/watson/bonjour" +"boolbase@1.0.0","ISC","https://github.com/fb55/boolbase" "bootstrap-social@5.1.1","MIT","https://github.com/lipis/bootstrap-social" "bootstrap@3.4.1","MIT","https://github.com/twbs/bootstrap" -"brace-expansion@1.1.11","MIT","https://github.com/juliangruber/brace-expansion" "brace-expansion@1.1.8","MIT","https://github.com/juliangruber/brace-expansion" "braces@2.3.2","MIT","https://github.com/micromatch/braces" "braces@3.0.2","MIT","https://github.com/micromatch/braces" @@ -350,15 +368,11 @@ "browserify-cipher@1.0.1","MIT","https://github.com/crypto-browserify/browserify-cipher" "browserify-des@1.0.2","MIT","https://github.com/crypto-browserify/browserify-des" "browserify-rsa@4.0.1","MIT","https://github.com/crypto-browserify/browserify-rsa" -"browserify-sign@4.0.4","ISC","https://github.com/crypto-browserify/browserify-sign" +"browserify-sign@4.2.0","ISC","https://github.com/crypto-browserify/browserify-sign" "browserify-zlib@0.2.0","MIT","https://github.com/devongovett/browserify-zlib" +"browserslist@4.12.0","MIT","https://github.com/browserslist/browserslist" "browserslist@4.7.0","MIT","https://github.com/browserslist/browserslist" -"browserslist@4.8.6","MIT","https://github.com/browserslist/browserslist" -"browserslist@4.9.1","MIT","https://github.com/browserslist/browserslist" -"buffer-alloc-unsafe@1.1.0","MIT","https://github.com/LinusU/buffer-alloc-unsafe" -"buffer-alloc@1.2.0","MIT","https://github.com/LinusU/buffer-alloc" "buffer-crc32@0.2.13","MIT","https://github.com/brianloveswords/buffer-crc32" -"buffer-fill@1.0.0","MIT","https://github.com/LinusU/buffer-fill" "buffer-from@1.0.0","MIT","https://github.com/LinusU/buffer-from" "buffer-indexof@1.1.1","MIT","https://github.com/soldair/node-buffer-indexof" "buffer-xor@1.0.3","MIT","https://github.com/crypto-browserify/buffer-xor" @@ -368,8 +382,9 @@ "builtins@1.0.3","MIT","https://github.com/juliangruber/builtins" "bytes@3.0.0","MIT","https://github.com/visionmedia/bytes.js" "bytes@3.1.0","MIT","https://github.com/visionmedia/bytes.js" -"cacache@12.0.2","ISC","https://github.com/npm/cacache" -"cacache@12.0.3","ISC","https://github.com/npm/cacache" +"cacache@12.0.4","ISC","https://github.com/npm/cacache" +"cacache@15.0.0","ISC","https://github.com/npm/cacache" +"cacache@15.0.4","ISC","https://github.com/npm/cacache" "cache-base@1.0.1","MIT","https://github.com/jonschlinkert/cache-base" "cachedir@2.3.0","MIT","https://github.com/LinusU/node-cachedir" "caller-callsite@2.0.0","MIT","https://github.com/sindresorhus/caller-callsite" @@ -377,57 +392,69 @@ "callsite@1.0.0","MIT*","" "callsites@2.0.0","MIT","https://github.com/sindresorhus/callsites" "camelcase@5.3.1","MIT","https://github.com/sindresorhus/camelcase" +"caniuse-api@3.0.0","MIT","https://github.com/nyalab/caniuse-api" "caniuse-lite@1.0.30000989","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" -"caniuse-lite@1.0.30001024","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" -"caniuse-lite@1.0.30001032","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" +"caniuse-lite@1.0.30001087","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" "canonical-path@1.0.0","MIT","https://github.com/petebacondarwin/node-canonical-path" "caseless@0.12.0","Apache-2.0","https://github.com/mikeal/caseless" "chalk@1.1.3","MIT","https://github.com/chalk/chalk" "chalk@2.3.0","MIT","https://github.com/chalk/chalk" "chalk@2.4.2","MIT","https://github.com/chalk/chalk" "chalk@3.0.0","MIT","https://github.com/chalk/chalk" +"chalk@4.1.0","MIT","https://github.com/chalk/chalk" "chardet@0.7.0","MIT","https://github.com/runk/node-chardet" "check-more-types@2.24.0","MIT","https://github.com/kensho/check-more-types" "chokidar@2.0.4","MIT","https://github.com/paulmillr/chokidar" "chokidar@2.1.8","MIT","https://github.com/paulmillr/chokidar" "chokidar@3.1.1","MIT","https://github.com/paulmillr/chokidar" -"chownr@1.1.1","ISC","https://github.com/isaacs/chownr" -"chownr@1.1.3","ISC","https://github.com/isaacs/chownr" +"chokidar@3.4.0","MIT","https://github.com/paulmillr/chokidar" +"chokidar@3.4.2","MIT","https://github.com/paulmillr/chokidar" +"chownr@1.1.4","ISC","https://github.com/isaacs/chownr" +"chownr@2.0.0","ISC","https://github.com/isaacs/chownr" "chrome-trace-event@1.0.2","MIT","github.com:samccone/chrome-trace-event" "ci-info@2.0.0","MIT","https://github.com/watson/ci-info" "cipher-base@1.0.4","MIT","https://github.com/crypto-browserify/cipher-base" "circular-dependency-plugin@5.2.0","ISC","https://github.com/aackerman/circular-dependency-plugin" "class-utils@0.3.6","MIT","https://github.com/jonschlinkert/class-utils" -"clean-css@4.2.1","MIT","https://github.com/jakubpawlowicz/clean-css" "clean-stack@2.2.0","MIT","https://github.com/sindresorhus/clean-stack" "cli-cursor@1.0.2","MIT","https://github.com/sindresorhus/cli-cursor" "cli-cursor@2.1.0","MIT","https://github.com/sindresorhus/cli-cursor" "cli-cursor@3.1.0","MIT","https://github.com/sindresorhus/cli-cursor" +"cli-spinners@2.3.0","MIT","https://github.com/sindresorhus/cli-spinners" +"cli-table3@0.6.0","MIT","https://github.com/cli-table/cli-table3" "cli-truncate@0.2.1","MIT","https://github.com/sindresorhus/cli-truncate" -"cli-width@2.2.0","ISC","https://github.com/knownasilya/cli-width" -"clipboard@2.0.4","MIT","https://github.com/zenorocha/clipboard.js" -"cliui@4.1.0","ISC","https://github.com/yargs/cliui" +"cli-width@2.2.1","ISC","https://github.com/knownasilya/cli-width" +"clipboard@2.0.6","MIT","https://github.com/zenorocha/clipboard.js" +"cliui@5.0.0","ISC","https://github.com/yargs/cliui" +"cliui@6.0.0","ISC","https://github.com/yargs/cliui" "clone-deep@4.0.1","MIT","https://github.com/jonschlinkert/clone-deep" +"clone@1.0.4","MIT","https://github.com/pvorb/node-clone" "clone@2.1.2","MIT","https://github.com/pvorb/node-clone" "co@4.6.0","MIT","https://github.com/tj/co" +"coa@2.0.2","MIT","https://github.com/veged/coa" "code-point-at@1.1.0","MIT","https://github.com/sindresorhus/code-point-at" -"codelyzer@5.1.1","MIT","https://github.com/mgechev/codelyzer" +"codelyzer@5.2.2","MIT","https://github.com/mgechev/codelyzer" "collection-visit@1.0.0","MIT","https://github.com/jonschlinkert/collection-visit" "color-convert@1.9.1","MIT","https://github.com/Qix-/color-convert" "color-convert@2.0.1","MIT","https://github.com/Qix-/color-convert" "color-name@1.1.3","MIT","https://github.com/dfcreative/color-name" "color-name@1.1.4","MIT","https://github.com/colorjs/color-name" +"color-string@1.5.3","MIT","https://github.com/Qix-/color-string" +"color@3.1.2","MIT","https://github.com/Qix-/color" "colors@1.1.2","MIT","https://github.com/Marak/colors.js" +"colors@1.4.0","MIT","https://github.com/Marak/colors.js" "combined-stream@1.0.7","MIT","https://github.com/felixge/node-combined-stream" +"combined-stream@1.0.8","MIT","https://github.com/felixge/node-combined-stream" "commander@2.12.2","MIT","https://github.com/tj/commander.js" "commander@2.20.0","MIT","https://github.com/tj/commander.js" "commander@2.20.3","MIT","https://github.com/tj/commander.js" -"commander@4.1.0","MIT","https://github.com/tj/commander.js" +"commander@4.1.1","MIT","https://github.com/tj/commander.js" "common-tags@1.8.0","MIT","https://github.com/declandewet/common-tags" "commondir@1.0.1","MIT","https://github.com/substack/node-commondir" "compare-versions@3.5.1","MIT","https://github.com/omichelsen/compare-versions" "component-bind@1.0.0","MIT*","https://github.com/component/bind" "component-emitter@1.2.1","MIT","https://github.com/component/emitter" +"component-emitter@1.3.0","MIT","https://github.com/component/emitter" "component-inherit@0.0.3","MIT*","https://github.com/component/inherit" "compressible@2.0.18","MIT","https://github.com/jshttp/compressible" "compression@1.7.4","MIT","https://github.com/expressjs/compression" @@ -447,48 +474,65 @@ "cookie@0.4.0","MIT","https://github.com/jshttp/cookie" "copy-concurrently@1.0.5","ISC","https://github.com/npm/copy-concurrently" "copy-descriptor@0.1.1","MIT","https://github.com/jonschlinkert/copy-descriptor" -"copy-webpack-plugin@5.1.1","MIT","https://github.com/webpack-contrib/copy-webpack-plugin" +"copy-webpack-plugin@6.0.2","MIT","https://github.com/webpack-contrib/copy-webpack-plugin" "core-js-compat@3.2.1","MIT","https://github.com/zloirock/core-js" -"core-js-compat@3.6.4","MIT","https://github.com/zloirock/core-js" +"core-js-compat@3.6.5","MIT","https://github.com/zloirock/core-js" "core-js@3.2.1","MIT","https://github.com/zloirock/core-js" "core-js@3.6.4","MIT","https://github.com/zloirock/core-js" "core-util-is@1.0.2","MIT","https://github.com/isaacs/core-util-is" "cosmiconfig@5.2.1","MIT","https://github.com/davidtheclark/cosmiconfig" -"coverage-istanbul-loader@2.0.3","MIT","https://github.com/JS-DevTools/coverage-istanbul-loader" "create-ecdh@4.0.3","MIT","https://github.com/crypto-browserify/createECDH" "create-hash@1.2.0","MIT","https://github.com/crypto-browserify/createHash" "create-hmac@1.1.7","MIT","https://github.com/crypto-browserify/createHmac" "cross-spawn@6.0.5","MIT","https://github.com/moxystudio/node-cross-spawn" -"cross-spawn@7.0.1","MIT","https://github.com/moxystudio/node-cross-spawn" +"cross-spawn@7.0.3","MIT","https://github.com/moxystudio/node-cross-spawn" "crypto-browserify@3.12.0","MIT","https://github.com/crypto-browserify/crypto-browserify" -"css-parse@1.7.0","MIT","https://github.com/visionmedia/css-parse" -"css-selector-tokenizer@0.7.1","MIT","https://github.com/css-modules/css-selector-tokenizer" +"css-color-names@0.0.4","MIT","https://github.com/bahamas10/css-color-names" +"css-declaration-sorter@4.0.1","MIT","https://github.com/Siilwyn/css-declaration-sorter" +"css-loader@3.5.1","MIT","https://github.com/webpack-contrib/css-loader" +"css-parse@2.0.0","MIT","https://github.com/reworkcss/css-parse" +"css-select-base-adapter@0.1.1","MIT","https://github.com/nrkn/css-select-base-adapter" +"css-select@2.1.0","BSD-2-Clause","https://github.com/fb55/css-select" +"css-selector-tokenizer@0.7.2","MIT","https://github.com/css-modules/css-selector-tokenizer" +"css-tree@1.0.0-alpha.37","MIT","https://github.com/csstree/csstree" +"css-tree@1.0.0-alpha.39","MIT","https://github.com/csstree/csstree" +"css-what@3.3.0","BSD-2-Clause","https://github.com/fb55/css-what" +"css@2.2.4","MIT","https://github.com/reworkcss/css" "cssauron@1.4.0","MIT","https://github.com/chrisdickinson/cssauron" -"cssesc@0.1.0","MIT","https://github.com/mathiasbynens/cssesc" +"cssesc@3.0.0","MIT","https://github.com/mathiasbynens/cssesc" +"cssnano-preset-default@4.0.7","MIT","https://github.com/cssnano/cssnano" +"cssnano-util-get-arguments@4.0.0","MIT","https://github.com/cssnano/cssnano" +"cssnano-util-get-match@4.0.0","MIT","https://github.com/cssnano/cssnano" +"cssnano-util-raw-cache@4.0.1","MIT","https://github.com/cssnano/cssnano" +"cssnano-util-same-parent@4.0.1","MIT","https://github.com/cssnano/cssnano" +"cssnano@4.1.10","MIT","https://github.com/cssnano/cssnano" +"csso@4.0.3","MIT","https://github.com/css/csso" "custom-event@1.0.1","MIT","https://github.com/webmodules/custom-event" "cyclist@1.0.1","MIT","https://github.com/mafintosh/cyclist" -"cypress@4.0.1","MIT","https://github.com/cypress-io/cypress" +"cypress@5.0.0","MIT","https://github.com/cypress-io/cypress" "cytoscape-dagre@2.2.2","MIT","https://github.com/cytoscape/cytoscape.js-dagre" "cytoscape-popper@1.0.4","MIT","https://github.com/cytoscape/cytoscape.js-popper" "cytoscape@3.10.1","MIT","https://github.com/cytoscape/cytoscape.js" "dagre@0.8.4","MIT","https://github.com/dagrejs/dagre" -"damerau-levenshtein@1.0.5","BSD-2-Clause","https://github.com/tad-lispy/node-damerau-levenshtein" +"damerau-levenshtein@1.0.6","BSD-2-Clause","https://github.com/tad-lispy/node-damerau-levenshtein" "dashdash@1.14.1","MIT","https://github.com/trentm/node-dashdash" "date-fns@1.30.1","MIT","https://github.com/date-fns/date-fns" "date-format@2.1.0","MIT","https://github.com/nomiddlename/date-format" +"date-format@3.0.0","MIT","https://github.com/nomiddlename/date-format" "debug@2.6.9","MIT","https://github.com/visionmedia/debug" "debug@3.1.0","MIT","https://github.com/visionmedia/debug" "debug@3.2.6","MIT","https://github.com/visionmedia/debug" "debug@4.1.1","MIT","https://github.com/visionmedia/debug" +"debug@4.2.0","MIT","https://github.com/visionmedia/debug" "debuglog@1.0.1","MIT","https://github.com/sam-github/node-debuglog" "decamelize@1.2.0","MIT","https://github.com/sindresorhus/decamelize" "decamelize@2.0.0","MIT","https://github.com/sindresorhus/decamelize" "decode-uri-component@0.2.0","MIT","https://github.com/SamVerschueren/decode-uri-component" "dedent@0.7.0","MIT","https://github.com/dmnd/dedent" "deep-equal@1.1.1","MIT","https://github.com/substack/node-deep-equal" -"deep-extend@0.6.0","MIT","https://github.com/unclechu/node-deep-extend" "default-gateway@4.2.0","BSD-2-Clause","https://github.com/silverwind/default-gateway" "default-require-extensions@2.0.0","MIT","https://github.com/avajs/default-require-extensions" +"defaults@1.0.3","MIT","https://github.com/tmpvar/defaults" "define-properties@1.1.3","MIT","https://github.com/ljharb/define-properties" "define-property@0.2.5","MIT","https://github.com/jonschlinkert/define-property" "define-property@1.0.0","MIT","https://github.com/jonschlinkert/define-property" @@ -502,44 +546,51 @@ "dependency-graph@0.7.2","MIT","https://github.com/jriecken/dependency-graph" "des.js@1.0.1","MIT","https://github.com/indutny/des.js" "destroy@1.0.4","MIT","https://github.com/stream-utils/destroy" -"detect-libc@1.0.3","Apache-2.0","https://github.com/lovell/detect-libc" "detect-node@2.0.4","ISC","https://github.com/iliakan/detect-node" "dezalgo@1.0.3","ISC","https://github.com/npm/dezalgo" "di@0.0.1","MIT","https://github.com/vojtajina/node-di" "diff@4.0.1","BSD-3-Clause","https://github.com/kpdecker/jsdiff" "diffie-hellman@5.0.3","MIT","https://github.com/crypto-browserify/diffie-hellman" -"dir-glob@2.2.2","MIT","https://github.com/kevva/dir-glob" "dir-glob@3.0.1","MIT","https://github.com/kevva/dir-glob" "dns-equal@1.0.0","MIT","https://github.com/watson/dns-equal" "dns-packet@1.3.1","MIT","https://github.com/mafintosh/dns-packet" "dns-txt@2.0.2","MIT","https://github.com/watson/dns-txt" "dom-serialize@2.2.1","MIT","https://github.com/webmodules/dom-serialize" +"dom-serializer@0.2.2","MIT","https://github.com/cheeriojs/dom-renderer" "domain-browser@1.2.0","MIT","https://github.com/bevry/domain-browser" -"domino@2.1.3","BSD-2-Clause","https://github.com/fgnass/domino" +"domelementtype@1.3.1","BSD-2-Clause","https://github.com/fb55/domelementtype" +"domelementtype@2.0.1","BSD-2-Clause","https://github.com/fb55/domelementtype" +"domino@2.1.5","BSD-2-Clause","https://github.com/fgnass/domino" +"dompurify@2.2.0","MPL-2.0 OR Apache-2.0","https://github.com/cure53/DOMPurify" +"domutils@1.7.0","BSD-2-Clause","https://github.com/FB55/domutils" +"dot-prop@5.2.0","MIT","https://github.com/sindresorhus/dot-prop" "duplexify@3.7.1","MIT","https://github.com/mafintosh/duplexify" "ecc-jsbn@0.1.2","MIT","https://github.com/quartzjer/ecc-jsbn" "ee-first@1.1.1","MIT","https://github.com/jonathanong/ee-first" "elasticsearch-browser@15.0.0","Apache-2.0","https://github.com/elasticsearch/bower-elasticsearch-js" "electron-to-chromium@1.3.263","ISC","https://github.com/kilian/electron-to-chromium" -"electron-to-chromium@1.3.368","ISC","https://github.com/kilian/electron-to-chromium" +"electron-to-chromium@1.3.481","ISC","https://github.com/kilian/electron-to-chromium" "elegant-spinner@1.0.1","MIT","https://github.com/sindresorhus/elegant-spinner" -"elliptic@6.5.2","MIT","https://github.com/indutny/elliptic" +"elliptic@6.5.3","MIT","https://github.com/indutny/elliptic" "emoji-regex@7.0.3","MIT","https://github.com/mathiasbynens/emoji-regex" "emoji-regex@8.0.0","MIT","https://github.com/mathiasbynens/emoji-regex" +"emoji-toolkit@5.5.1","(MIT)","https://github.com/joypixels/emoji-toolkit" "emojis-list@2.1.0","MIT","https://github.com/kikobeats/emojis-list" "emojis-list@3.0.0","MIT","https://github.com/kikobeats/emojis-list" "encodeurl@1.0.2","MIT","https://github.com/pillarjs/encodeurl" "encoding@0.1.12","MIT","https://github.com/andris9/encoding" "end-of-stream@1.4.1","MIT","https://github.com/mafintosh/end-of-stream" -"engine.io-client@3.2.1","MIT","https://github.com/socketio/engine.io-client" -"engine.io-parser@2.1.3","MIT","https://github.com/socketio/engine.io-parser" -"engine.io@3.2.1","MIT","https://github.com/socketio/engine.io" +"engine.io-client@3.4.3","MIT","https://github.com/socketio/engine.io-client" +"engine.io-parser@2.2.0","MIT","https://github.com/socketio/engine.io-parser" +"engine.io@3.4.2","MIT","https://github.com/socketio/engine.io" "enhanced-resolve@4.1.0","MIT","https://github.com/webpack/enhanced-resolve" +"enhanced-resolve@4.1.1","MIT","https://github.com/webpack/enhanced-resolve" "ent@2.2.0","MIT","https://github.com/substack/node-ent" +"entities@2.0.3","BSD-2-Clause","https://github.com/fb55/entities" "err-code@1.1.2","MIT","https://github.com/IndigoUnited/js-err-code" "errno@0.1.7","MIT","https://github.com/rvagg/node-errno" "error-ex@1.3.1","MIT","https://github.com/qix-/node-error-ex" -"es-abstract@1.17.4","MIT","https://github.com/ljharb/es-abstract" +"es-abstract@1.17.6","MIT","https://github.com/ljharb/es-abstract" "es-to-primitive@1.2.1","MIT","https://github.com/ljharb/es-to-primitive" "es6-promise@4.2.8","MIT","https://github.com/stefanpenner/es6-promise" "es6-promisify@5.0.0","MIT","https://github.com/digitaldesignlabs/es6-promisify" @@ -552,14 +603,14 @@ "estraverse@4.3.0","BSD-2-Clause","https://github.com/estools/estraverse" "esutils@2.0.2","BSD","https://github.com/estools/esutils" "etag@1.8.1","MIT","https://github.com/jshttp/etag" -"eventemitter2@4.1.2","MIT","https://github.com/hij1nx/EventEmitter2" +"eventemitter2@6.4.3","MIT","https://github.com/hij1nx/EventEmitter2" "eventemitter3@4.0.0","MIT","https://github.com/primus/eventemitter3" "events@3.1.0","MIT","https://github.com/Gozala/events" "eventsource@1.0.7","MIT","https://github.com/EventSource/eventsource" "evp_bytestokey@1.0.3","MIT","https://github.com/crypto-browserify/EVP_BytesToKey" "execa@1.0.0","MIT","https://github.com/sindresorhus/execa" "execa@2.0.4","MIT","https://github.com/sindresorhus/execa" -"execa@3.3.0","MIT","https://github.com/sindresorhus/execa" +"execa@4.0.3","MIT","https://github.com/sindresorhus/execa" "executable@4.1.1","MIT","https://github.com/kevva/executable" "exit-hook@1.1.1","MIT","https://github.com/sindresorhus/exit-hook" "expand-brackets@2.1.4","MIT","https://github.com/jonschlinkert/expand-brackets" @@ -569,33 +620,36 @@ "extend@3.0.2","MIT","https://github.com/justmoon/node-extend" "external-editor@3.1.0","MIT","https://github.com/mrkmg/node-external-editor" "extglob@2.0.4","MIT","https://github.com/micromatch/extglob" -"extract-zip@1.6.7","BSD-2-Clause","https://github.com/maxogden/extract-zip" +"extract-zip@1.7.0","BSD-2-Clause","https://github.com/maxogden/extract-zip" "extsprintf@1.3.0","MIT","https://github.com/davepacheco/node-extsprintf" "fast-deep-equal@1.1.0","MIT","https://github.com/epoberezkin/fast-deep-equal" "fast-deep-equal@2.0.1","MIT","https://github.com/epoberezkin/fast-deep-equal" -"fast-deep-equal@3.1.1","MIT","https://github.com/epoberezkin/fast-deep-equal" +"fast-deep-equal@3.1.3","MIT","https://github.com/epoberezkin/fast-deep-equal" "fast-glob@3.0.4","MIT","https://github.com/mrmlnc/fast-glob" +"fast-glob@3.2.4","MIT","https://github.com/mrmlnc/fast-glob" "fast-json-stable-stringify@2.0.0","MIT","https://github.com/epoberezkin/fast-json-stable-stringify" +"fast-json-stable-stringify@2.1.0","MIT","https://github.com/epoberezkin/fast-json-stable-stringify" "fastparse@1.1.2","MIT","https://github.com/webpack/fastparse" "fastq@1.6.0","ISC","https://github.com/mcollina/fastq" "faye-websocket@0.10.0","MIT","https://github.com/faye/faye-websocket-node" "faye-websocket@0.11.3","Apache-2.0","https://github.com/faye/faye-websocket-node" -"fd-slicer@1.0.1","MIT","https://github.com/andrewrk/node-fd-slicer" "fd-slicer@1.1.0","MIT","https://github.com/andrewrk/node-fd-slicer" -"figgy-pudding@3.5.1","ISC","https://github.com/zkat/figgy-pudding" +"figgy-pudding@3.5.2","ISC","https://github.com/npm/figgy-pudding" "figures@1.7.0","MIT","https://github.com/sindresorhus/figures" "figures@2.0.0","MIT","https://github.com/sindresorhus/figures" "figures@3.2.0","MIT","https://github.com/sindresorhus/figures" -"file-loader@4.2.0","MIT","https://github.com/webpack-contrib/file-loader" +"file-loader@6.0.0","MIT","https://github.com/webpack-contrib/file-loader" +"file-uri-to-path@1.0.0","MIT","https://github.com/TooTallNate/file-uri-to-path" "fileset@2.0.3","MIT","https://github.com/mklabs/node-fileset" "fill-range@4.0.0","MIT","https://github.com/jonschlinkert/fill-range" "fill-range@7.0.1","MIT","https://github.com/jonschlinkert/fill-range" "finalhandler@1.1.2","MIT","https://github.com/pillarjs/finalhandler" "find-cache-dir@2.1.0","MIT","https://github.com/avajs/find-cache-dir" -"find-cache-dir@3.0.0","MIT","https://github.com/avajs/find-cache-dir" +"find-cache-dir@3.3.1","MIT","https://github.com/avajs/find-cache-dir" +"find-up@2.1.0","MIT","https://github.com/sindresorhus/find-up" "find-up@3.0.0","MIT","https://github.com/sindresorhus/find-up" "find-up@4.1.0","MIT","https://github.com/sindresorhus/find-up" -"flatted@2.0.1","ISC","https://github.com/WebReflection/flatted" +"flatted@2.0.2","ISC","https://github.com/WebReflection/flatted" "flush-write-stream@1.1.1","MIT","https://github.com/mafintosh/flush-write-stream" "follow-redirects@1.9.0","MIT","https://github.com/follow-redirects/follow-redirects" "font-awesome@4.7.0","(OFL-1.1 AND MIT)","https://github.com/FortAwesome/Font-Awesome" @@ -606,49 +660,51 @@ "fragment-cache@0.2.1","MIT","https://github.com/jonschlinkert/fragment-cache" "fresh@0.5.2","MIT","https://github.com/jshttp/fresh" "from2@2.3.0","MIT","https://github.com/hughsk/from2" -"fs-extra@7.0.1","MIT","https://github.com/jprichardson/node-fs-extra" +"fs-extra@4.0.2","MIT","https://github.com/jprichardson/node-fs-extra" "fs-extra@8.1.0","MIT","https://github.com/jprichardson/node-fs-extra" -"fs-minipass@1.2.5","ISC","https://github.com/npm/fs-minipass" +"fs-extra@9.0.1","MIT","https://github.com/jprichardson/node-fs-extra" "fs-minipass@1.2.7","ISC","https://github.com/npm/fs-minipass" +"fs-minipass@2.1.0","ISC","https://github.com/npm/fs-minipass" "fs-write-stream-atomic@1.0.10","ISC","https://github.com/npm/fs-write-stream-atomic" "fs.realpath@1.0.0","ISC","https://github.com/isaacs/fs.realpath" -"fsevents@1.2.7","MIT","https://github.com/strongloop/fsevents" +"fsevents@1.2.13","MIT","https://github.com/strongloop/fsevents" "fsevents@2.0.7","MIT","https://github.com/fsevents/fsevents" +"fsevents@2.1.3","MIT","https://github.com/fsevents/fsevents" "function-bind@1.1.1","MIT","https://github.com/Raynos/function-bind" "gauge@2.7.4","ISC","https://github.com/iarna/gauge" "genfun@5.0.0","MIT","https://github.com/zkat/genfun" "gensync@1.0.0-beta.1","MIT","" -"get-caller-file@1.0.3","ISC","https://github.com/stefanpenner/get-caller-file" "get-caller-file@2.0.5","ISC","https://github.com/stefanpenner/get-caller-file" "get-own-enumerable-property-symbols@3.0.0","ISC","https://github.com/mightyiam/get-own-enumerable-property-symbols" "get-stdin@7.0.0","MIT","https://github.com/sindresorhus/get-stdin" "get-stream@4.1.0","MIT","https://github.com/sindresorhus/get-stream" "get-stream@5.1.0","MIT","https://github.com/sindresorhus/get-stream" +"get-stream@5.2.0","MIT","https://github.com/sindresorhus/get-stream" "get-value@2.0.6","MIT","https://github.com/jonschlinkert/get-value" -"getos@3.1.4","MIT","https://github.com/retrohacker/getos" +"getos@3.2.1","MIT","https://github.com/retrohacker/getos" "getpass@0.1.7","MIT","https://github.com/arekinath/node-getpass" "glob-parent@3.1.0","ISC","https://github.com/es128/glob-parent" "glob-parent@5.1.0","ISC","https://github.com/gulpjs/glob-parent" -"glob@7.0.6","ISC","https://github.com/isaacs/node-glob" +"glob-parent@5.1.1","ISC","https://github.com/gulpjs/glob-parent" "glob@7.1.2","ISC","https://github.com/isaacs/node-glob" -"glob@7.1.3","ISC","https://github.com/isaacs/node-glob" "glob@7.1.4","ISC","https://github.com/isaacs/node-glob" "glob@7.1.6","ISC","https://github.com/isaacs/node-glob" -"global-dirs@0.1.1","MIT","https://github.com/sindresorhus/global-dirs" +"global-dirs@2.0.1","MIT","https://github.com/sindresorhus/global-dirs" "globals@11.11.0","MIT","https://github.com/sindresorhus/globals" "globals@11.12.0","MIT","https://github.com/sindresorhus/globals" "globby@10.0.1","MIT","https://github.com/sindresorhus/globby" +"globby@11.0.1","MIT","https://github.com/sindresorhus/globby" "globby@6.1.0","MIT","https://github.com/sindresorhus/globby" -"globby@7.1.1","MIT","https://github.com/sindresorhus/globby" "good-listener@1.2.2","MIT","https://github.com/zenorocha/good-listener" "graceful-fs@4.1.11","ISC","https://github.com/isaacs/node-graceful-fs" "graceful-fs@4.2.2","ISC","https://github.com/isaacs/node-graceful-fs" -"graceful-fs@4.2.3","ISC","https://github.com/isaacs/node-graceful-fs" +"graceful-fs@4.2.4","ISC","https://github.com/isaacs/node-graceful-fs" "graphlib@2.1.7","MIT","https://github.com/dagrejs/graphlib" -"handle-thing@2.0.0","MIT","https://github.com/indutny/handle-thing" -"handlebars@4.3.1","MIT","https://github.com/wycats/handlebars.js" +"handle-thing@2.0.1","MIT","https://github.com/indutny/handle-thing" +"handlebars@4.7.6","MIT","https://github.com/wycats/handlebars.js" "har-schema@2.0.0","ISC","https://github.com/ahmadnassri/har-schema" "har-validator@5.1.0","ISC","https://github.com/ahmadnassri/har-validator" +"har-validator@5.1.5","MIT","https://github.com/ahmadnassri/node-har-validator" "has-ansi@2.0.0","MIT","https://github.com/sindresorhus/has-ansi" "has-binary2@1.0.3","MIT","" "has-cors@1.1.0","MIT","https://github.com/component/has-cors" @@ -663,21 +719,25 @@ "has-values@0.1.4","MIT","https://github.com/jonschlinkert/has-values" "has-values@1.0.0","MIT","https://github.com/jonschlinkert/has-values" "has@1.0.3","MIT","https://github.com/tarruda/has" -"hash-base@3.0.4","MIT","https://github.com/crypto-browserify/hash-base" +"hash-base@3.1.0","MIT","https://github.com/crypto-browserify/hash-base" "hash.js@1.1.7","MIT","https://github.com/indutny/hash.js" "heap@0.2.6","PSF","https://github.com/qiao/heap.js" +"hex-color-regex@1.1.0","MIT","https://github.com/regexps/hex-color-regex" "hmac-drbg@1.0.1","MIT","https://github.com/indutny/hmac-drbg" "hosted-git-info@2.6.0","ISC","https://github.com/npm/hosted-git-info" +"hosted-git-info@3.0.4","ISC","https://github.com/npm/hosted-git-info" "hpack.js@2.1.6","MIT","https://github.com/indutny/hpack.js" -"html-entities@1.2.1","MIT","https://github.com/mdevils/node-html-entities" +"hsl-regex@1.0.0","MIT","https://github.com/regexps/hsl-regex" +"hsla-regex@1.0.0","MIT","https://github.com/regexps/hsla-regex" +"html-comment-regex@1.1.2","MIT","https://github.com/stevemao/html-comment-regex" +"html-entities@1.3.1","MIT","https://github.com/mdevils/node-html-entities" "http-cache-semantics@3.8.1","BSD-2-Clause","https://github.com/pornel/http-cache-semantics" "http-deceiver@1.2.7","MIT","https://github.com/indutny/http-deceiver" "http-errors@1.6.3","MIT","https://github.com/jshttp/http-errors" "http-errors@1.7.2","MIT","https://github.com/jshttp/http-errors" -"http-parser-js@0.4.10","MIT","https://github.com/creationix/http-parser-js" "http-proxy-agent@2.1.0","MIT","https://github.com/TooTallNate/node-http-proxy-agent" "http-proxy-middleware@0.19.1","MIT","https://github.com/chimurai/http-proxy-middleware" -"http-proxy@1.18.0","MIT","https://github.com/http-party/node-http-proxy" +"http-proxy@1.18.1","MIT","https://github.com/http-party/node-http-proxy" "http-signature@1.2.0","MIT","https://github.com/joyent/node-http-signature" "https-browserify@1.0.0","MIT","https://github.com/substack/https-browserify" "https-proxy-agent@2.2.4","MIT","https://github.com/TooTallNate/node-https-proxy-agent" @@ -685,52 +745,55 @@ "humanize-ms@1.2.1","MIT","https://github.com/node-modules/humanize-ms" "husky@3.0.5","MIT","https://github.com/typicode/husky" "iconv-lite@0.4.24","MIT","https://github.com/ashtuchkin/iconv-lite" +"icss-utils@4.1.1","ISC","https://github.com/css-modules/icss-utils" "ieee754@1.1.13","BSD-3-Clause","https://github.com/feross/ieee754" "iferr@0.1.5","MIT","https://github.com/shesek/iferr" -"ignore-walk@3.0.1","ISC","https://github.com/isaacs/ignore-walk" "ignore-walk@3.0.3","ISC","https://github.com/isaacs/ignore-walk" -"ignore@3.3.10","MIT","https://github.com/kaelzhang/node-ignore" "ignore@5.1.4","MIT","https://github.com/kaelzhang/node-ignore" +"ignore@5.1.8","MIT","https://github.com/kaelzhang/node-ignore" "image-size@0.5.5","MIT","https://github.com/image-size/image-size" -"immediate@3.0.6","MIT","https://github.com/calvinmetcalf/immediate" "import-cwd@2.1.0","MIT","https://github.com/sindresorhus/import-cwd" "import-fresh@2.0.0","MIT","https://github.com/sindresorhus/import-fresh" "import-from@2.1.0","MIT","https://github.com/sindresorhus/import-from" "import-local@2.0.0","MIT","https://github.com/sindresorhus/import-local" "imurmurhash@0.1.4","MIT","https://github.com/jensyt/imurmurhash-js" "indent-string@3.2.0","MIT","https://github.com/sindresorhus/indent-string" +"indexes-of@1.0.1","MIT","https://github.com/dominictarr/indexes-of" "indexof@0.0.1","MIT*","" "infer-owner@1.0.4","ISC","https://github.com/npm/infer-owner" "inflight@1.0.6","ISC","https://github.com/npm/inflight" "inherits@2.0.1","ISC","https://github.com/isaacs/inherits" "inherits@2.0.3","ISC","https://github.com/isaacs/inherits" +"inherits@2.0.4","ISC","https://github.com/isaacs/inherits" "ini@1.3.5","ISC","https://github.com/isaacs/ini" -"inquirer@6.5.1","MIT","https://github.com/SBoudrias/Inquirer.js" +"inquirer@7.1.0","MIT","https://github.com/SBoudrias/Inquirer.js" "internal-ip@4.3.0","MIT","https://github.com/sindresorhus/internal-ip" "invariant@2.2.2","BSD-3-Clause","https://github.com/zertosh/invariant" "invariant@2.2.4","MIT","https://github.com/zertosh/invariant" -"invert-kv@2.0.0","MIT","https://github.com/sindresorhus/invert-kv" "ip-regex@2.1.0","MIT","https://github.com/sindresorhus/ip-regex" "ip@1.1.5","MIT","https://github.com/indutny/node-ip" "ipaddr.js@1.9.1","MIT","https://github.com/whitequark/ipaddr.js" +"is-absolute-url@2.1.0","MIT","https://github.com/sindresorhus/is-absolute-url" "is-absolute-url@3.0.3","MIT","https://github.com/sindresorhus/is-absolute-url" "is-accessor-descriptor@0.1.6","MIT","https://github.com/jonschlinkert/is-accessor-descriptor" "is-accessor-descriptor@1.0.0","MIT","https://github.com/jonschlinkert/is-accessor-descriptor" "is-arguments@1.0.4","MIT","https://github.com/ljharb/is-arguments" "is-arrayish@0.2.1","MIT","https://github.com/qix-/node-is-arrayish" +"is-arrayish@0.3.2","MIT","https://github.com/qix-/node-is-arrayish" "is-binary-path@1.0.1","MIT","https://github.com/sindresorhus/is-binary-path" "is-binary-path@2.1.0","MIT","https://github.com/sindresorhus/is-binary-path" "is-buffer@1.1.6","MIT","https://github.com/feross/is-buffer" "is-builtin-module@1.0.0","MIT","https://github.com/sindresorhus/is-builtin-module" -"is-callable@1.1.4","MIT","https://github.com/ljharb/is-callable" -"is-callable@1.1.5","MIT","https://github.com/ljharb/is-callable" +"is-callable@1.2.0","MIT","https://github.com/ljharb/is-callable" "is-ci@2.0.0","MIT","https://github.com/watson/is-ci" +"is-color-stop@1.1.0","MIT","https://github.com/pigcan/is-color-stop" "is-data-descriptor@0.1.4","MIT","https://github.com/jonschlinkert/is-data-descriptor" "is-data-descriptor@1.0.0","MIT","https://github.com/jonschlinkert/is-data-descriptor" -"is-date-object@1.0.1","MIT","https://github.com/ljharb/is-date-object" +"is-date-object@1.0.2","MIT","https://github.com/ljharb/is-date-object" "is-descriptor@0.1.6","MIT","https://github.com/jonschlinkert/is-descriptor" "is-descriptor@1.0.2","MIT","https://github.com/jonschlinkert/is-descriptor" "is-directory@0.3.1","MIT","https://github.com/jonschlinkert/is-directory" +"is-docker@2.0.0","MIT","https://github.com/sindresorhus/is-docker" "is-extendable@0.1.1","MIT","https://github.com/jonschlinkert/is-extendable" "is-extendable@1.0.1","MIT","https://github.com/jonschlinkert/is-extendable" "is-extglob@2.1.1","MIT","https://github.com/jonschlinkert/is-extglob" @@ -739,32 +802,36 @@ "is-fullwidth-code-point@3.0.0","MIT","https://github.com/sindresorhus/is-fullwidth-code-point" "is-glob@3.1.0","MIT","https://github.com/jonschlinkert/is-glob" "is-glob@4.0.1","MIT","https://github.com/micromatch/is-glob" -"is-installed-globally@0.1.0","MIT","https://github.com/sindresorhus/is-installed-globally" +"is-installed-globally@0.3.2","MIT","https://github.com/sindresorhus/is-installed-globally" +"is-interactive@1.0.0","MIT","https://github.com/sindresorhus/is-interactive" "is-number@3.0.0","MIT","https://github.com/jonschlinkert/is-number" "is-number@4.0.0","MIT","https://github.com/jonschlinkert/is-number" "is-number@7.0.0","MIT","https://github.com/jonschlinkert/is-number" "is-obj@1.0.1","MIT","https://github.com/sindresorhus/is-obj" +"is-obj@2.0.0","MIT","https://github.com/sindresorhus/is-obj" "is-observable@1.1.0","MIT","https://github.com/sindresorhus/is-observable" "is-odd@2.0.0","MIT","https://github.com/jonschlinkert/is-odd" "is-path-cwd@2.2.0","MIT","https://github.com/sindresorhus/is-path-cwd" "is-path-in-cwd@2.1.0","MIT","https://github.com/sindresorhus/is-path-in-cwd" -"is-path-inside@1.0.1","MIT","https://github.com/sindresorhus/is-path-inside" "is-path-inside@2.1.0","MIT","https://github.com/sindresorhus/is-path-inside" "is-path-inside@3.0.1","MIT","https://github.com/sindresorhus/is-path-inside" "is-plain-obj@1.1.0","MIT","https://github.com/sindresorhus/is-plain-obj" "is-plain-object@2.0.4","MIT","https://github.com/jonschlinkert/is-plain-object" "is-promise@2.1.0","MIT","https://github.com/then/is-promise" -"is-regex@1.0.5","MIT","https://github.com/ljharb/is-regex" +"is-regex@1.1.0","MIT","https://github.com/ljharb/is-regex" "is-regexp@1.0.0","MIT","https://github.com/sindresorhus/is-regexp" +"is-resolvable@1.1.0","ISC","https://github.com/shinnn/is-resolvable" "is-stream@1.1.0","MIT","https://github.com/sindresorhus/is-stream" "is-stream@2.0.0","MIT","https://github.com/sindresorhus/is-stream" -"is-symbol@1.0.2","MIT","https://github.com/ljharb/is-symbol" +"is-svg@3.0.0","MIT","https://github.com/sindresorhus/is-svg" +"is-symbol@1.0.3","MIT","https://github.com/inspect-js/is-symbol" "is-typedarray@1.0.0","MIT","https://github.com/hughsk/is-typedarray" "is-windows@1.0.2","MIT","https://github.com/jonschlinkert/is-windows" "is-wsl@1.1.0","MIT","https://github.com/sindresorhus/is-wsl" +"is-wsl@2.2.0","MIT","https://github.com/sindresorhus/is-wsl" "isarray@1.0.0","MIT","https://github.com/juliangruber/isarray" "isarray@2.0.1","MIT","https://github.com/juliangruber/isarray" -"isbinaryfile@3.0.3","MIT","https://github.com/gjtorikian/isBinaryFile" +"isbinaryfile@4.0.6","MIT","https://github.com/gjtorikian/isBinaryFile" "isexe@2.0.0","ISC","https://github.com/isaacs/isexe" "isobject@2.1.0","MIT","https://github.com/jonschlinkert/isobject" "isobject@3.0.1","MIT","https://github.com/jonschlinkert/isobject" @@ -774,14 +841,15 @@ "istanbul-lib-coverage@3.0.0","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-hook@2.0.7","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-instrument@3.3.0","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" -"istanbul-lib-instrument@4.0.1","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" +"istanbul-lib-instrument@4.0.3","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-report@2.0.8","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-source-maps@3.0.6","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-reports@2.2.6","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "jasmine-core@3.5.0","MIT","https://github.com/jasmine/jasmine" "jasmine-spec-reporter@4.2.1","Apache-2.0","https://github.com/bcaudan/jasmine-spec-reporter" -"jest-worker@24.9.0","MIT","https://github.com/facebook/jest" -"jquery@3.4.0","MIT","https://github.com/jquery/jquery" +"jest-worker@25.1.0","MIT","https://github.com/facebook/jest" +"jest-worker@26.1.0","MIT","https://github.com/facebook/jest" +"jquery@3.5.1","MIT","https://github.com/jquery/jquery" "js-levenshtein@1.1.6","MIT","https://github.com/gustf/js-levenshtein" "js-tokens@3.0.2","MIT","https://github.com/lydell/js-tokens" "js-tokens@4.0.0","MIT","https://github.com/lydell/js-tokens" @@ -798,18 +866,19 @@ "json5@0.5.1","MIT","https://github.com/aseemk/json5" "json5@1.0.1","MIT","https://github.com/json5/json5" "json5@2.1.0","MIT","https://github.com/json5/json5" -"json5@2.1.1","MIT","https://github.com/json5/json5" +"json5@2.1.3","MIT","https://github.com/json5/json5" "jsonfile@4.0.0","MIT","https://github.com/jprichardson/node-jsonfile" +"jsonfile@6.0.1","MIT","https://github.com/jprichardson/node-jsonfile" "jsonparse@1.3.1","MIT","https://github.com/creationix/jsonparse" "jsprim@1.4.1","MIT","https://github.com/joyent/node-jsprim" -"jszip@3.2.2","(MIT OR GPL-3.0)","https://github.com/Stuk/jszip" "karma-chrome-launcher@3.1.0","MIT","https://github.com/karma-runner/karma-chrome-launcher" "karma-coverage-istanbul-reporter@2.1.0","MIT","https://github.com/mattlewis92/karma-coverage-istanbul-reporter" "karma-jasmine-html-reporter@1.4.2","MIT","https://github.com/dfederm/karma-jasmine-html-reporter" "karma-jasmine@2.0.1","MIT","https://github.com/karma-runner/karma-jasmine" "karma-source-map-support@1.4.0","MIT","https://github.com/tschaub/karma-source-map-support" "karma-spec-reporter@0.0.32","MIT","https://github.com/mlex/karma-spec-reporter" -"karma@4.4.1","MIT","https://github.com/karma-runner/karma" +"karma@5.2.2","MIT","https://github.com/karma-runner/karma" +"katex@0.11.1","MIT","https://github.com/KaTeX/KaTeX" "killable@1.0.1","ISC","https://github.com/marten-de-vries/killable" "kind-of@3.2.2","MIT","https://github.com/jonschlinkert/kind-of" "kind-of@4.0.0","MIT","https://github.com/jonschlinkert/kind-of" @@ -817,14 +886,12 @@ "kind-of@6.0.2","MIT","https://github.com/jonschlinkert/kind-of" "kind-of@6.0.3","MIT","https://github.com/jonschlinkert/kind-of" "lazy-ass@1.6.0","MIT","https://github.com/bahmutov/lazy-ass" -"lcid@2.0.0","MIT","https://github.com/sindresorhus/lcid" "less-loader@5.0.0","MIT","https://github.com/webpack-contrib/less-loader" -"less@3.9.0","Apache-2.0","https://github.com/less/less.js" +"less@3.11.3","Apache-2.0","https://github.com/less/less.js" "leven@3.1.0","MIT","https://github.com/sindresorhus/leven" "levenary@1.1.1","MIT","https://github.com/tanhauhau/levenary" "license-checker@25.0.1","BSD-3-Clause","https://github.com/davglass/license-checker" -"license-webpack-plugin@2.1.2","ISC","https://github.com/xz64/license-webpack-plugin" -"lie@3.3.0","MIT","https://github.com/calvinmetcalf/lie" +"license-webpack-plugin@2.1.4","ISC","https://github.com/xz64/license-webpack-plugin" "lines-and-columns@1.1.6","MIT","https://github.com/eventualbuddha/lines-and-columns" "lint-staged@9.4.0","MIT","https://github.com/okonet/lint-staged" "listr-silent-renderer@1.1.1","MIT","https://github.com/SamVerschueren/listr-silent-renderer" @@ -833,37 +900,41 @@ "listr@0.14.3","MIT","https://github.com/SamVerschueren/listr" "loader-runner@2.4.0","MIT","https://github.com/webpack/loader-runner" "loader-utils@1.1.0","MIT","https://github.com/webpack/loader-utils" -"loader-utils@1.2.3","MIT","https://github.com/webpack/loader-utils" "loader-utils@1.4.0","MIT","https://github.com/webpack/loader-utils" +"loader-utils@2.0.0","MIT","https://github.com/webpack/loader-utils" +"locate-path@2.0.0","MIT","https://github.com/sindresorhus/locate-path" "locate-path@3.0.0","MIT","https://github.com/sindresorhus/locate-path" "locate-path@5.0.0","MIT","https://github.com/sindresorhus/locate-path" "lodash.clonedeep@4.5.0","MIT","https://github.com/lodash/lodash" "lodash.debounce@4.0.8","MIT","https://github.com/lodash/lodash" +"lodash.memoize@4.1.2","MIT","https://github.com/lodash/lodash" "lodash.once@4.1.1","MIT","https://github.com/lodash/lodash" -"lodash@3.10.1","MIT","https://github.com/lodash/lodash" -"lodash@4.17.15","MIT","https://github.com/lodash/lodash" +"lodash.uniq@4.5.0","MIT","https://github.com/lodash/lodash" +"lodash@4.17.20","MIT","https://github.com/lodash/lodash" "log-symbols@1.0.2","MIT","https://github.com/sindresorhus/log-symbols" "log-symbols@3.0.0","MIT","https://github.com/sindresorhus/log-symbols" +"log-symbols@4.0.0","MIT","https://github.com/sindresorhus/log-symbols" "log-update@2.3.0","MIT","https://github.com/sindresorhus/log-update" -"log4js@4.5.1","Apache-2.0","https://github.com/log4js-node/log4js-node" -"loglevel@1.6.7","MIT","https://github.com/pimterry/loglevel" +"log4js@6.3.0","Apache-2.0","https://github.com/log4js-node/log4js-node" +"loglevel@1.6.8","MIT","https://github.com/pimterry/loglevel" "loose-envify@1.3.1","MIT","https://github.com/zertosh/loose-envify" -"lru-cache@4.1.5","ISC","https://github.com/isaacs/node-lru-cache" "lru-cache@5.1.1","ISC","https://github.com/isaacs/node-lru-cache" -"magic-string@0.25.3","MIT","https://github.com/rich-harris/magic-string" +"magic-string@0.25.7","MIT","https://github.com/rich-harris/magic-string" "make-dir@2.1.0","MIT","https://github.com/sindresorhus/make-dir" -"make-dir@3.0.2","MIT","https://github.com/sindresorhus/make-dir" +"make-dir@3.1.0","MIT","https://github.com/sindresorhus/make-dir" "make-error@1.3.5","ISC","https://github.com/JsCommunity/make-error" "make-fetch-happen@5.0.2","ISC","https://github.com/zkat/make-fetch-happen" "mamacro@0.0.3","MIT","" -"map-age-cleaner@0.1.3","MIT","https://github.com/SamVerschueren/map-age-cleaner" "map-cache@0.2.2","MIT","https://github.com/jonschlinkert/map-cache" "map-visit@1.0.0","MIT","https://github.com/jonschlinkert/map-visit" -"marked@0.7.0","MIT","https://github.com/markedjs/marked" +"marked@1.1.0","MIT","https://github.com/markedjs/marked" +"material-design-icons-iconfont@6.1.0","Apache-2.0","https://github.com/jossef/material-design-icons-iconfont" "md5.js@1.3.5","MIT","https://github.com/crypto-browserify/md5.js" +"mdn-data@2.0.4","CC0-1.0","https://github.com/mdn/data" +"mdn-data@2.0.6","CC0-1.0","https://github.com/mdn/data" "media-typer@0.3.0","MIT","https://github.com/jshttp/media-typer" -"mem@4.3.0","MIT","https://github.com/sindresorhus/mem" "memory-fs@0.4.1","MIT","https://github.com/webpack/memory-fs" +"memory-fs@0.5.0","MIT","https://github.com/webpack/memory-fs" "merge-descriptors@1.0.1","MIT","https://github.com/component/merge-descriptors" "merge-source-map@1.1.0","MIT","https://github.com/keik/merge-source-map" "merge-stream@2.0.0","MIT","https://github.com/grncdr/merge-stream" @@ -875,28 +946,31 @@ "mime-db@1.33.0","MIT","https://github.com/jshttp/mime-db" "mime-db@1.37.0","MIT","https://github.com/jshttp/mime-db" "mime-db@1.40.0","MIT","https://github.com/jshttp/mime-db" -"mime-db@1.43.0","MIT","https://github.com/jshttp/mime-db" +"mime-db@1.44.0","MIT","https://github.com/jshttp/mime-db" "mime-types@2.1.18","MIT","https://github.com/jshttp/mime-types" "mime-types@2.1.21","MIT","https://github.com/jshttp/mime-types" "mime-types@2.1.24","MIT","https://github.com/jshttp/mime-types" "mime@1.6.0","MIT","https://github.com/broofa/node-mime" -"mime@2.4.4","MIT","https://github.com/broofa/node-mime" +"mime@2.4.6","MIT","https://github.com/broofa/mime" "mimic-fn@1.2.0","MIT","https://github.com/sindresorhus/mimic-fn" "mimic-fn@2.1.0","MIT","https://github.com/sindresorhus/mimic-fn" -"mini-css-extract-plugin@0.8.0","MIT","https://github.com/webpack-contrib/mini-css-extract-plugin" +"mini-css-extract-plugin@0.9.0","MIT","https://github.com/webpack-contrib/mini-css-extract-plugin" "minimalistic-assert@1.0.1","ISC","https://github.com/calvinmetcalf/minimalistic-assert" "minimalistic-crypto-utils@1.0.1","MIT","https://github.com/indutny/minimalistic-crypto-utils" "minimatch@3.0.4","ISC","https://github.com/isaacs/minimatch" -"minimist@0.0.8","MIT","https://github.com/substack/minimist" -"minimist@1.2.0","MIT","https://github.com/substack/minimist" -"minipass@2.3.5","ISC","https://github.com/isaacs/minipass" +"minimist@1.2.5","MIT","https://github.com/substack/minimist" +"minipass-collect@1.0.2","ISC","" +"minipass-flush@1.0.5","ISC","https://github.com/isaacs/minipass-flush" +"minipass-pipeline@1.2.3","ISC","" "minipass@2.9.0","ISC","https://github.com/isaacs/minipass" -"minizlib@1.2.1","MIT","https://github.com/isaacs/minizlib" +"minipass@3.1.3","ISC","https://github.com/isaacs/minipass" "minizlib@1.3.3","MIT","https://github.com/isaacs/minizlib" +"minizlib@2.1.0","MIT","https://github.com/isaacs/minizlib" "mississippi@3.0.0","BSD-2-Clause","https://github.com/maxogden/mississippi" "mixin-deep@1.3.2","MIT","https://github.com/jonschlinkert/mixin-deep" -"mkdirp@0.5.1","MIT","https://github.com/substack/node-mkdirp" -"moment@2.24.0","MIT","https://github.com/moment/moment" +"mkdirp@0.5.5","MIT","https://github.com/substack/node-mkdirp" +"mkdirp@1.0.4","MIT","https://github.com/isaacs/node-mkdirp" +"moment@2.27.0","MIT","https://github.com/moment/moment" "move-concurrently@1.0.1","ISC","https://github.com/npm/move-concurrently" "ms@2.0.0","MIT","https://github.com/zeit/ms" "ms@2.1.1","MIT","https://github.com/zeit/ms" @@ -904,26 +978,23 @@ "multicast-dns-service-types@1.1.0","MIT","https://github.com/mafintosh/multicast-dns-service-types" "multicast-dns@6.2.3","MIT","https://github.com/mafintosh/multicast-dns" "mute-stream@0.0.8","ISC","https://github.com/isaacs/mute-stream" -"nan@2.13.2","MIT","https://github.com/nodejs/nan" +"nan@2.14.1","MIT","https://github.com/nodejs/nan" "nanomatch@1.2.9","MIT","https://github.com/micromatch/nanomatch" -"needle@2.2.4","MIT","https://github.com/tomas/needle" "negotiator@0.6.1","MIT","https://github.com/jshttp/negotiator" "negotiator@0.6.2","MIT","https://github.com/jshttp/negotiator" "neo-async@2.6.0","MIT","https://github.com/suguru03/neo-async" "neo-async@2.6.1","MIT","https://github.com/suguru03/neo-async" "ng2-ui-auth@10.0.1","UNKNOWN","" -"ngx-bootstrap@3.0.1","MIT","https://github.com/valor-software/ngx-bootstrap" -"ngx-clipboard@12.2.1","MIT","https://github.com/maxisam/ngx-clipboard" -"ngx-markdown@8.1.0","MIT","https://github.com/jfcere/ngx-markdown" -"ngx-window-token@2.0.1","MIT","https://github.com/maxisam/ngx-window-token" +"ngx-clipboard@13.0.1","MIT","https://github.com/maxisam/ngx-clipboard" +"ngx-markdown@9.1.1","MIT","https://github.com/jfcere/ngx-markdown" +"ngx-sharebuttons@8.0.0","MIT","https://github.com/murhafsousli/ngx-sharebuttons" +"ngx-window-token@3.0.0","MIT","https://github.com/maxisam/ngx-window-token" "nice-try@1.0.5","MIT","https://github.com/electerious/nice-try" -"node-fetch-npm@2.0.2","MIT","https://github.com/npm/node-fetch-npm" +"node-fetch-npm@2.0.4","MIT","https://github.com/npm/node-fetch-npm" "node-forge@0.9.0","(BSD-3-Clause OR GPL-2.0)","https://github.com/digitalbazaar/forge" "node-libs-browser@2.2.1","MIT","https://github.com/webpack/node-libs-browser" -"node-pre-gyp@0.10.3","BSD-3-Clause","https://github.com/mapbox/node-pre-gyp" "node-releases@1.1.32","MIT","https://github.com/chicoxyzzy/node-releases" -"node-releases@1.1.50","MIT","https://github.com/chicoxyzzy/node-releases" -"nopt@4.0.1","ISC","https://github.com/npm/nopt" +"node-releases@1.1.58","MIT","https://github.com/chicoxyzzy/node-releases" "nopt@4.0.3","ISC","https://github.com/npm/nopt" "normalize-package-data@2.4.0","BSD-2-Clause","https://github.com/npm/normalize-package-data" "normalize-package-data@2.5.0","BSD-2-Clause","https://github.com/npm/normalize-package-data" @@ -931,33 +1002,36 @@ "normalize-path@3.0.0","MIT","https://github.com/jonschlinkert/normalize-path" "normalize-range@0.1.2","MIT","https://github.com/jamestalmage/normalize-range" "normalize-url@1.9.1","MIT","https://github.com/sindresorhus/normalize-url" -"npm-bundled@1.0.5","ISC","https://github.com/npm/npm-bundled" +"normalize-url@3.3.0","MIT","https://github.com/sindresorhus/normalize-url" "npm-bundled@1.1.1","ISC","https://github.com/npm/npm-bundled" +"npm-install-checks@4.0.0","BSD-2-Clause","https://github.com/npm/npm-install-checks" "npm-normalize-package-bin@1.0.1","ISC","https://github.com/npm/npm-normalize-package-bin" "npm-package-arg@6.1.0","ISC","https://github.com/npm/npm-package-arg" -"npm-packlist@1.2.0","ISC","https://github.com/npm/npm-packlist" +"npm-package-arg@8.0.1","ISC","https://github.com/npm/npm-package-arg" "npm-packlist@1.4.8","ISC","https://github.com/npm/npm-packlist" -"npm-pick-manifest@2.2.3","ISC","https://github.com/zkat/npm-pick-manifest" "npm-pick-manifest@3.0.2","ISC","https://github.com/npm/npm-pick-manifest" +"npm-pick-manifest@6.0.0","ISC","https://github.com/npm/npm-pick-manifest" "npm-registry-client@8.6.0","ISC","https://github.com/npm/npm-registry-client" -"npm-registry-fetch@4.0.3","ISC","https://github.com/npm/registry-fetch" +"npm-registry-fetch@4.0.7","ISC","https://github.com/npm/registry-fetch" "npm-run-path@2.0.2","MIT","https://github.com/sindresorhus/npm-run-path" "npm-run-path@3.1.0","MIT","https://github.com/sindresorhus/npm-run-path" "npm-run-path@4.0.1","MIT","https://github.com/sindresorhus/npm-run-path" "npmlog@4.1.2","ISC","https://github.com/npm/npmlog" +"nth-check@1.0.2","BSD-2-Clause","https://github.com/fb55/nth-check" "num2fraction@1.2.2","MIT","https://github.com/yisibl/num2fraction" "number-is-nan@1.0.1","MIT","https://github.com/sindresorhus/number-is-nan" "oauth-sign@0.9.0","Apache-2.0","https://github.com/mikeal/oauth-sign" "object-assign@4.1.1","MIT","https://github.com/sindresorhus/object-assign" "object-component@0.0.3","MIT*","" "object-copy@0.1.0","MIT","https://github.com/jonschlinkert/object-copy" -"object-inspect@1.7.0","MIT","https://github.com/substack/object-inspect" -"object-is@1.0.2","MIT","https://github.com/es-shims/object-is" +"object-inspect@1.8.0","MIT","https://github.com/inspect-js/object-inspect" +"object-is@1.1.2","MIT","https://github.com/es-shims/object-is" "object-keys@1.1.1","MIT","https://github.com/ljharb/object-keys" "object-visit@1.0.1","MIT","https://github.com/jonschlinkert/object-visit" "object.assign@4.1.0","MIT","https://github.com/ljharb/object.assign" "object.getownpropertydescriptors@2.1.0","MIT","https://github.com/es-shims/object.getownpropertydescriptors" "object.pick@1.3.0","MIT","https://github.com/jonschlinkert/object.pick" +"object.values@1.1.1","MIT","https://github.com/es-shims/Object.values" "obuf@1.1.2","MIT","https://github.com/indutny/offset-buffer" "on-finished@2.3.0","MIT","https://github.com/jshttp/on-finished" "on-headers@1.0.2","MIT","https://github.com/jshttp/on-headers" @@ -965,28 +1039,31 @@ "onetime@1.1.0","MIT","https://github.com/sindresorhus/onetime" "onetime@2.0.1","MIT","https://github.com/sindresorhus/onetime" "onetime@5.1.0","MIT","https://github.com/sindresorhus/onetime" -"open@6.4.0","MIT","https://github.com/sindresorhus/open" +"open@7.0.3","MIT","https://github.com/sindresorhus/open" "opencollective-postinstall@2.0.2","MIT","https://github.com/opencollective/opencollective-postinstall" "opn@5.5.0","MIT","https://github.com/sindresorhus/opn" -"optimist@0.6.1","MIT*","https://github.com/substack/node-optimist" +"ora@4.0.3","MIT","https://github.com/sindresorhus/ora" "original@1.0.2","MIT","https://github.com/unshiftio/original" "os-browserify@0.3.0","MIT","https://github.com/CoderPuppy/os-browserify" "os-homedir@1.0.2","MIT","https://github.com/sindresorhus/os-homedir" -"os-locale@3.1.0","MIT","https://github.com/sindresorhus/os-locale" "os-tmpdir@1.0.2","MIT","https://github.com/sindresorhus/os-tmpdir" "osenv@0.1.5","ISC","https://github.com/npm/osenv" -"p-defer@1.0.0","MIT","https://github.com/sindresorhus/p-defer" +"ospath@1.2.2","MIT","https://github.com/jprichardson/ospath" "p-finally@1.0.0","MIT","https://github.com/sindresorhus/p-finally" "p-finally@2.0.1","MIT","https://github.com/sindresorhus/p-finally" -"p-is-promise@2.1.0","MIT","https://github.com/sindresorhus/p-is-promise" +"p-limit@1.3.0","MIT","https://github.com/sindresorhus/p-limit" "p-limit@2.2.1","MIT","https://github.com/sindresorhus/p-limit" +"p-limit@2.3.0","MIT","https://github.com/sindresorhus/p-limit" +"p-locate@2.0.0","MIT","https://github.com/sindresorhus/p-locate" "p-locate@3.0.0","MIT","https://github.com/sindresorhus/p-locate" "p-locate@4.1.0","MIT","https://github.com/sindresorhus/p-locate" "p-map@2.1.0","MIT","https://github.com/sindresorhus/p-map" "p-map@3.0.0","MIT","https://github.com/sindresorhus/p-map" +"p-map@4.0.0","MIT","https://github.com/sindresorhus/p-map" "p-retry@3.0.1","MIT","https://github.com/sindresorhus/p-retry" +"p-try@1.0.0","MIT","https://github.com/sindresorhus/p-try" "p-try@2.2.0","MIT","https://github.com/sindresorhus/p-try" -"pacote@9.5.5","MIT","https://github.com/npm/pacote" +"pacote@9.5.12","MIT","https://github.com/npm/pacote" "pako@1.0.6","(MIT AND Zlib)","https://github.com/nodeca/pako" "parallel-transform@1.2.0","MIT","https://github.com/mafintosh/parallel-transform" "parse-asn1@5.1.5","ISC","https://github.com/crypto-browserify/parse-asn1" @@ -994,6 +1071,7 @@ "parse-json@5.0.0","MIT","https://github.com/sindresorhus/parse-json" "parse5@4.0.0","MIT","https://github.com/inikulin/parse5" "parse5@5.1.0","MIT","https://github.com/inikulin/parse5" +"parse5@5.1.1","MIT","https://github.com/inikulin/parse5" "parseqs@0.0.5","MIT","https://github.com/get/querystring" "parseuri@0.0.5","MIT","https://github.com/get/parseuri" "parseurl@1.3.3","MIT","https://github.com/pillarjs/parseurl" @@ -1010,33 +1088,66 @@ "path-parse@1.0.5","MIT","https://github.com/jbgutierrez/path-parse" "path-parse@1.0.6","MIT","https://github.com/jbgutierrez/path-parse" "path-to-regexp@0.1.7","MIT","https://github.com/component/path-to-regexp" -"path-type@3.0.0","MIT","https://github.com/sindresorhus/path-type" "path-type@4.0.0","MIT","https://github.com/sindresorhus/path-type" -"pbkdf2@3.0.17","MIT","https://github.com/crypto-browserify/pbkdf2" +"pbkdf2@3.1.1","MIT","https://github.com/crypto-browserify/pbkdf2" "pend@1.2.0","MIT","https://github.com/andrewrk/node-pend" "performance-now@2.1.0","MIT","https://github.com/braveg1rl/performance-now" "picomatch@2.0.7","MIT","https://github.com/micromatch/picomatch" +"picomatch@2.2.2","MIT","https://github.com/micromatch/picomatch" "pify@2.3.0","MIT","https://github.com/sindresorhus/pify" -"pify@3.0.0","MIT","https://github.com/sindresorhus/pify" "pify@4.0.1","MIT","https://github.com/sindresorhus/pify" "pinkie-promise@2.0.1","MIT","https://github.com/floatdrop/pinkie-promise" "pinkie@2.0.4","MIT","https://github.com/floatdrop/pinkie" -"pipeline-builder@0.3.10-dev.313","MIT","https://github.com/epam/pipeline-builder" "pkg-dir@3.0.0","MIT","https://github.com/sindresorhus/pkg-dir" "pkg-dir@4.2.0","MIT","https://github.com/sindresorhus/pkg-dir" +"pkg-up@2.0.0","MIT","https://github.com/sindresorhus/pkg-up" "please-upgrade-node@3.2.0","MIT","https://github.com/typicode/please-upgrade-node" "popper.js@1.15.0","MIT","https://github.com/FezVrasta/popper.js" -"portfinder@1.0.25","MIT","https://github.com/indexzero/node-portfinder" +"portfinder@1.0.28","MIT","https://github.com/http-party/node-portfinder" "posix-character-classes@0.1.1","MIT","https://github.com/jonschlinkert/posix-character-classes" +"postcss-calc@7.0.2","MIT","https://github.com/postcss/postcss-calc" +"postcss-colormin@4.0.3","MIT","https://github.com/cssnano/cssnano" +"postcss-convert-values@4.0.1","MIT","https://github.com/cssnano/cssnano" +"postcss-discard-comments@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-discard-duplicates@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-discard-empty@4.0.1","MIT","https://github.com/cssnano/cssnano" +"postcss-discard-overridden@4.0.1","MIT","https://github.com/cssnano/cssnano" "postcss-import@12.0.1","MIT","https://github.com/postcss/postcss-import" "postcss-load-config@2.1.0","MIT","https://github.com/michael-ciniawsky/postcss-load-config" "postcss-loader@3.0.0","MIT","https://github.com/postcss/postcss-loader" +"postcss-merge-longhand@4.0.11","MIT","https://github.com/cssnano/cssnano" +"postcss-merge-rules@4.0.3","MIT","https://github.com/cssnano/cssnano" +"postcss-minify-font-values@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-minify-gradients@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-minify-params@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-minify-selectors@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-modules-extract-imports@2.0.0","ISC","https://github.com/css-modules/postcss-modules-extract-imports" +"postcss-modules-local-by-default@3.0.2","MIT","https://github.com/css-modules/postcss-modules-local-by-default" +"postcss-modules-scope@2.2.0","ISC","https://github.com/css-modules/postcss-modules-scope" +"postcss-modules-values@3.0.0","ISC","https://github.com/css-modules/postcss-modules-values" +"postcss-normalize-charset@4.0.1","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-display-values@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-positions@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-repeat-style@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-string@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-timing-functions@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-unicode@4.0.1","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-url@4.0.1","MIT","https://github.com/cssnano/cssnano" +"postcss-normalize-whitespace@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-ordered-values@4.1.2","MIT","https://github.com/cssnano/cssnano" +"postcss-reduce-initial@4.0.3","MIT","https://github.com/cssnano/cssnano" +"postcss-reduce-transforms@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-selector-parser@3.1.2","MIT","https://github.com/postcss/postcss-selector-parser" +"postcss-selector-parser@6.0.2","MIT","https://github.com/postcss/postcss-selector-parser" +"postcss-svgo@4.0.2","MIT","https://github.com/cssnano/cssnano" +"postcss-unique-selectors@4.0.1","MIT","https://github.com/cssnano/cssnano" "postcss-value-parser@3.3.1","MIT","https://github.com/TrySound/postcss-value-parser" -"postcss-value-parser@4.0.3","MIT","https://github.com/TrySound/postcss-value-parser" -"postcss@7.0.17","MIT","https://github.com/postcss/postcss" +"postcss-value-parser@4.1.0","MIT","https://github.com/TrySound/postcss-value-parser" +"postcss@7.0.27","MIT","https://github.com/postcss/postcss" "prepend-http@1.0.4","MIT","https://github.com/sindresorhus/prepend-http" -"prettier@1.18.2","MIT","https://github.com/prettier/prettier" -"prismjs@1.17.1","MIT","https://github.com/LeaVerou/prism" +"prettier@2.1.1","MIT","https://github.com/prettier/prettier" +"pretty-bytes@5.4.1","MIT","https://github.com/sindresorhus/pretty-bytes" +"prismjs@1.22.0","MIT","https://github.com/PrismJS/prism" "private@0.1.8","MIT","https://github.com/benjamn/private" "process-nextick-args@2.0.0","MIT","https://github.com/calvinmetcalf/process-nextick-args" "process@0.11.10","MIT","https://github.com/shtylman/node-process" @@ -1046,7 +1157,6 @@ "protoduck@5.0.1","MIT","https://github.com/zkat/protoduck" "proxy-addr@2.0.6","MIT","https://github.com/jshttp/proxy-addr" "prr@1.0.1","MIT","https://github.com/rvagg/prr" -"pseudomap@1.0.2","ISC","https://github.com/isaacs/pseudomap" "psl@1.1.29","MIT","https://github.com/wrangr/psl" "public-encrypt@4.0.3","MIT","https://github.com/crypto-browserify/publicEncrypt" "pump@2.0.1","MIT","https://github.com/mafintosh/pump" @@ -1055,6 +1165,7 @@ "punycode@1.3.2","MIT","https://github.com/bestiejs/punycode.js" "punycode@1.4.1","MIT","https://github.com/bestiejs/punycode.js" "punycode@2.1.1","MIT","https://github.com/bestiejs/punycode.js" +"q@1.5.1","MIT","https://github.com/kriskowal/q" "qjobs@1.2.0","MIT","https://github.com/franck34/qjobs" "qs@6.5.2","BSD-3-Clause","https://github.com/ljharb/qs" "qs@6.7.0","BSD-3-Clause","https://github.com/ljharb/qs" @@ -1067,8 +1178,7 @@ "randomfill@1.0.4","MIT","https://github.com/crypto-browserify/randomfill" "range-parser@1.2.1","MIT","https://github.com/jshttp/range-parser" "raw-body@2.4.0","MIT","https://github.com/stream-utils/raw-body" -"raw-loader@3.1.0","MIT","https://github.com/webpack-contrib/raw-loader" -"rc@1.2.8","(BSD-2-Clause OR MIT OR Apache-2.0)","https://github.com/dominictarr/rc" +"raw-loader@4.0.0","MIT","https://github.com/webpack-contrib/raw-loader" "read-cache@1.0.0","MIT","https://github.com/TrySound/read-cache" "read-installed@4.0.3","ISC","https://github.com/isaacs/read-installed" "read-package-json@2.1.1","ISC","https://github.com/npm/read-package-json" @@ -1079,30 +1189,28 @@ "readdir-scoped-modules@1.1.0","ISC","https://github.com/npm/readdir-scoped-modules" "readdirp@2.2.1","MIT","https://github.com/paulmillr/readdirp" "readdirp@3.1.2","MIT","https://github.com/paulmillr/readdirp" +"readdirp@3.4.0","MIT","https://github.com/paulmillr/readdirp" "reflect-metadata@0.1.13","Apache-2.0","https://github.com/rbuckton/reflect-metadata" "regenerate-unicode-properties@8.1.0","MIT","https://github.com/mathiasbynens/regenerate-unicode-properties" +"regenerate-unicode-properties@8.2.0","MIT","https://github.com/mathiasbynens/regenerate-unicode-properties" "regenerate@1.4.0","MIT","https://github.com/mathiasbynens/regenerate" -"regenerator-runtime@0.13.3","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime" -"regenerator-runtime@0.13.4","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime" +"regenerator-runtime@0.13.5","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime" "regenerator-transform@0.14.1","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform" -"regenerator-transform@0.14.2","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform" +"regenerator-transform@0.14.4","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform" "regex-not@1.0.2","MIT","https://github.com/jonschlinkert/regex-not" "regexp.prototype.flags@1.3.0","MIT","https://github.com/es-shims/RegExp.prototype.flags" -"regexpu-core@1.0.0","MIT","https://github.com/mathiasbynens/regexpu-core" "regexpu-core@4.6.0","MIT","https://github.com/mathiasbynens/regexpu-core" -"regjsgen@0.2.0","MIT","https://github.com/d10/regjsgen" +"regexpu-core@4.7.0","MIT","https://github.com/mathiasbynens/regexpu-core" "regjsgen@0.5.0","MIT","https://github.com/bnjmnt4n/regjsgen" -"regjsgen@0.5.1","MIT","https://github.com/bnjmnt4n/regjsgen" -"regjsparser@0.1.5","BSD*","https://github.com/jviereck/regjsparser" +"regjsgen@0.5.2","MIT","https://github.com/bnjmnt4n/regjsgen" "regjsparser@0.6.0","BSD-2-Clause","https://github.com/jviereck/regjsparser" -"regjsparser@0.6.3","BSD-2-Clause","https://github.com/jviereck/regjsparser" +"regjsparser@0.6.4","BSD-2-Clause","https://github.com/jviereck/regjsparser" "remove-trailing-separator@1.1.0","ISC","https://github.com/darsain/remove-trailing-separator" "repeat-element@1.1.2","MIT","https://github.com/jonschlinkert/repeat-element" "repeat-string@1.6.1","MIT","https://github.com/jonschlinkert/repeat-string" "request-progress@3.0.0","MIT","https://github.com/IndigoUnited/node-request-progress" "request@2.88.0","Apache-2.0","https://github.com/request/request" "require-directory@2.1.1","MIT","https://github.com/troygoode/node-require-directory" -"require-main-filename@1.0.1","ISC","https://github.com/yargs/require-main-filename" "require-main-filename@2.0.0","ISC","https://github.com/yargs/require-main-filename" "requires-port@1.0.0","MIT","https://github.com/unshiftio/requires-port" "resolve-cwd@2.0.0","MIT","https://github.com/sindresorhus/resolve-cwd" @@ -1118,31 +1226,33 @@ "retry@0.12.0","MIT","https://github.com/tim-kos/node-retry" "reusify@1.0.4","MIT","https://github.com/mcollina/reusify" "rfdc@1.1.4","MIT","https://github.com/davidmarkclements/rfdc" +"rgb-regex@1.0.1","MIT","https://github.com/regexps/rgb-regex" +"rgba-regex@1.0.0","MIT","https://github.com/johnotander/rgba-regex" "rimraf@2.6.2","ISC","https://github.com/isaacs/rimraf" -"rimraf@2.6.3","ISC","https://github.com/isaacs/rimraf" "rimraf@2.7.1","ISC","https://github.com/isaacs/rimraf" "rimraf@3.0.0","ISC","https://github.com/isaacs/rimraf" +"rimraf@3.0.2","ISC","https://github.com/isaacs/rimraf" "ripemd160@2.0.2","MIT","https://github.com/crypto-browserify/ripemd160" -"run-async@2.4.0","MIT","https://github.com/SBoudrias/run-async" +"rollup@2.1.0","MIT","https://github.com/rollup/rollup" +"run-async@2.4.1","MIT","https://github.com/SBoudrias/run-async" "run-node@1.0.0","MIT","https://github.com/sindresorhus/run-node" "run-parallel@1.1.9","MIT","https://github.com/feross/run-parallel" "run-queue@1.0.3","ISC","https://github.com/iarna/run-queue" "rxjs-tslint-rules@4.17.0","MIT","https://github.com/cartant/rxjs-tslint-rules" -"rxjs-tslint@0.1.7","MIT","https://github.com/reactivex/rxjs-tslint" +"rxjs-tslint@0.1.8","MIT","https://github.com/reactivex/rxjs-tslint" "rxjs@6.3.3","Apache-2.0","https://github.com/reactivex/rxjs" -"rxjs@6.4.0","Apache-2.0","https://github.com/reactivex/rxjs" "rxjs@6.5.3","Apache-2.0","https://github.com/reactivex/rxjs" +"rxjs@6.5.4","Apache-2.0","https://github.com/reactivex/rxjs" "safe-buffer@5.1.1","MIT","https://github.com/feross/safe-buffer" "safe-buffer@5.1.2","MIT","https://github.com/feross/safe-buffer" -"safe-buffer@5.2.0","MIT","https://github.com/feross/safe-buffer" +"safe-buffer@5.2.1","MIT","https://github.com/feross/safe-buffer" "safe-regex@1.1.0","MIT","https://github.com/substack/safe-regex" "safer-buffer@2.1.2","MIT","https://github.com/ChALkeR/safer-buffer" -"sass-loader@7.2.0","MIT","https://github.com/webpack-contrib/sass-loader" -"sass@1.22.9","MIT","https://github.com/sass/dart-sass" -"sax@0.5.8","BSD*","https://github.com/isaacs/sax-js" +"sass-loader@8.0.2","MIT","https://github.com/webpack-contrib/sass-loader" +"sass@1.26.3","MIT","https://github.com/sass/dart-sass" "sax@1.2.4","ISC","https://github.com/isaacs/sax-js" "schema-utils@1.0.0","MIT","https://github.com/webpack-contrib/schema-utils" -"schema-utils@2.6.4","MIT","https://github.com/webpack/schema-utils" +"schema-utils@2.7.0","MIT","https://github.com/webpack/schema-utils" "schematics-utilities@1.1.3","MIT","https://github.com/nitayneeman/schematics-utilities" "select-hose@2.0.0","MIT","https://github.com/indutny/select-hose" "select@1.1.2","MIT","https://github.com/zenorocha/select" @@ -1151,16 +1261,16 @@ "semver-dsl@1.0.1","MIT","https://github.com/mgechev/semver-dsl" "semver-intersect@1.4.0","MIT","https://github.com/snyamathi/semver-intersect" "semver@5.5.0","ISC","https://github.com/npm/node-semver" -"semver@5.6.0","ISC","https://github.com/npm/node-semver" "semver@5.7.1","ISC","https://github.com/npm/node-semver" "semver@6.3.0","ISC","https://github.com/npm/node-semver" "semver@7.0.0","ISC","https://github.com/npm/node-semver" +"semver@7.1.3","ISC","https://github.com/npm/node-semver" +"semver@7.3.2","ISC","https://github.com/npm/node-semver" "send@0.17.1","MIT","https://github.com/pillarjs/send" -"serialize-javascript@2.1.2","BSD-3-Clause","https://github.com/yahoo/serialize-javascript" +"serialize-javascript@3.1.0","BSD-3-Clause","https://github.com/yahoo/serialize-javascript" "serve-index@1.9.1","MIT","https://github.com/expressjs/serve-index" "serve-static@1.14.1","MIT","https://github.com/expressjs/serve-static" "set-blocking@2.0.0","ISC","https://github.com/yargs/set-blocking" -"set-immediate-shim@1.0.1","MIT","https://github.com/sindresorhus/set-immediate-shim" "set-value@2.0.1","MIT","https://github.com/jonschlinkert/set-value" "setimmediate@1.0.5","MIT","https://github.com/YuzuJS/setImmediate" "setprototypeof@1.1.0","ISC","https://github.com/wesleytodd/setprototypeof" @@ -1172,7 +1282,7 @@ "shebang-regex@1.0.0","MIT","https://github.com/sindresorhus/shebang-regex" "shebang-regex@3.0.0","MIT","https://github.com/sindresorhus/shebang-regex" "signal-exit@3.0.2","ISC","https://github.com/tapjs/signal-exit" -"slash@1.0.0","MIT","https://github.com/sindresorhus/slash" +"simple-swizzle@0.2.2","MIT","https://github.com/qix-/node-simple-swizzle" "slash@3.0.0","MIT","https://github.com/sindresorhus/slash" "slice-ansi@0.0.4","MIT","https://github.com/chalk/slice-ansi" "slide@1.1.6","ISC","https://github.com/isaacs/slide-flow-control" @@ -1181,28 +1291,25 @@ "snapdragon-util@3.0.1","MIT","https://github.com/jonschlinkert/snapdragon-util" "snapdragon@0.8.2","MIT","https://github.com/jonschlinkert/snapdragon" "socket.io-adapter@1.1.2","MIT","https://github.com/socketio/socket.io-adapter" -"socket.io-client@2.1.1","MIT","https://github.com/Automattic/socket.io-client" -"socket.io-parser@3.2.0","MIT","https://github.com/Automattic/socket.io-parser" -"socket.io@2.1.1","MIT","https://github.com/socketio/socket.io" +"socket.io-client@2.3.0","MIT","https://github.com/Automattic/socket.io-client" +"socket.io-parser@3.3.0","MIT","https://github.com/Automattic/socket.io-parser" +"socket.io-parser@3.4.1","MIT","https://github.com/socketio/socket.io-parser" +"socket.io@2.3.0","MIT","https://github.com/socketio/socket.io" "sockjs-client@1.4.0","MIT","https://github.com/sockjs/sockjs-client" -"sockjs@0.3.19","MIT","https://github.com/sockjs/sockjs-node" +"sockjs@0.3.20","MIT","https://github.com/sockjs/sockjs-node" "socks-proxy-agent@4.0.2","MIT","https://github.com/TooTallNate/node-socks-proxy-agent" "socks@2.3.3","MIT","https://github.com/JoshGlazebrook/socks" "sort-keys@1.1.2","MIT","https://github.com/sindresorhus/sort-keys" -"source-list-map@0.1.8","MIT","https://github.com/webpack/source-list-map" "source-list-map@2.0.1","MIT","https://github.com/webpack/source-list-map" "source-map-loader@0.2.4","MIT","https://github.com/webpack-contrib/source-map-loader" "source-map-resolve@0.5.2","MIT","https://github.com/lydell/source-map-resolve" -"source-map-support@0.5.13","MIT","https://github.com/evanw/node-source-map-support" -"source-map-support@0.5.16","MIT","https://github.com/evanw/node-source-map-support" +"source-map-support@0.5.19","MIT","https://github.com/evanw/node-source-map-support" "source-map-support@0.5.6","MIT","https://github.com/evanw/node-source-map-support" "source-map-url@0.4.0","MIT","https://github.com/lydell/source-map-url" -"source-map@0.1.43","BSD","https://github.com/mozilla/source-map" -"source-map@0.4.4","BSD-3-Clause","https://github.com/mozilla/source-map" "source-map@0.5.7","BSD-3-Clause","https://github.com/mozilla/source-map" "source-map@0.6.1","BSD-3-Clause","https://github.com/mozilla/source-map" "source-map@0.7.3","BSD-3-Clause","https://github.com/mozilla/source-map" -"sourcemap-codec@1.4.6","MIT","https://github.com/Rich-Harris/sourcemap-codec" +"sourcemap-codec@1.4.8","MIT","https://github.com/Rich-Harris/sourcemap-codec" "spdx-compare@1.0.0","MIT","https://github.com/kemitchell/spdx-compare.js" "spdx-correct@3.0.0","Apache-2.0","https://github.com/jslicense/spdx-correct.js" "spdx-exceptions@2.1.0","CC-BY-3.0","https://github.com/kemitchell/spdx-exceptions.json" @@ -1211,7 +1318,7 @@ "spdx-ranges@2.1.1","(MIT AND CC-BY-3.0)","https://github.com/kemitchell/spdx-ranges.js" "spdx-satisfies@4.0.1","MIT","https://github.com/kemitchell/spdx-satisfies.js" "spdy-transport@3.0.0","MIT","https://github.com/spdy-http2/spdy-transport" -"spdy@4.0.1","MIT","https://github.com/indutny/node-spdy" +"spdy@4.0.2","MIT","https://github.com/indutny/node-spdy" "speed-measure-webpack-plugin@1.3.1","MIT","https://github.com/stephencookdev/speed-measure-webpack-plugin" "split-string@3.1.0","MIT","https://github.com/jonschlinkert/split-string" "sprintf-js@1.0.3","BSD-3-Clause","https://github.com/alexei/sprintf.js" @@ -1219,21 +1326,23 @@ "sshpk@1.15.2","MIT","https://github.com/joyent/node-sshpk" "ssri@5.3.0","ISC","https://github.com/zkat/ssri" "ssri@6.0.1","ISC","https://github.com/zkat/ssri" +"ssri@8.0.0","ISC","https://github.com/npm/ssri" +"stable@0.1.8","MIT","https://github.com/Two-Screen/stable" "static-extend@0.1.2","MIT","https://github.com/jonschlinkert/static-extend" "statuses@1.5.0","MIT","https://github.com/jshttp/statuses" "stream-browserify@2.0.2","MIT","https://github.com/browserify/stream-browserify" "stream-each@1.2.3","MIT","https://github.com/mafintosh/stream-each" "stream-http@2.8.3","MIT","https://github.com/jhiesey/stream-http" -"stream-shift@1.0.0","MIT","https://github.com/mafintosh/stream-shift" -"streamroller@1.0.6","MIT","https://github.com/nomiddlename/streamroller" +"stream-shift@1.0.1","MIT","https://github.com/mafintosh/stream-shift" +"streamroller@2.2.4","MIT","https://github.com/nomiddlename/streamroller" "strict-uri-encode@1.1.0","MIT","https://github.com/kevva/strict-uri-encode" "string-argv@0.3.1","MIT","https://github.com/mccormicka/string-argv" "string-width@1.0.2","MIT","https://github.com/sindresorhus/string-width" "string-width@2.1.1","MIT","https://github.com/sindresorhus/string-width" "string-width@3.1.0","MIT","https://github.com/sindresorhus/string-width" "string-width@4.2.0","MIT","https://github.com/sindresorhus/string-width" -"string.prototype.trimleft@2.1.1","MIT","https://github.com/es-shims/String.prototype.trimLeft" -"string.prototype.trimright@2.1.1","MIT","https://github.com/es-shims/String.prototype.trimRight" +"string.prototype.trimend@1.0.1","MIT","https://github.com/es-shims/String.prototype.trimEnd" +"string.prototype.trimstart@1.0.1","MIT","https://github.com/es-shims/String.prototype.trimStart" "string_decoder@1.1.1","MIT","https://github.com/nodejs/string_decoder" "string_decoder@1.3.0","MIT","https://github.com/nodejs/string_decoder" "stringify-object@3.3.0","BSD-2-Clause","https://github.com/yeoman/stringify-object" @@ -1244,29 +1353,34 @@ "strip-bom@3.0.0","MIT","https://github.com/sindresorhus/strip-bom" "strip-eof@1.0.0","MIT","https://github.com/sindresorhus/strip-eof" "strip-final-newline@2.0.0","MIT","https://github.com/sindresorhus/strip-final-newline" -"strip-json-comments@2.0.1","MIT","https://github.com/sindresorhus/strip-json-comments" -"style-loader@1.0.0","MIT","https://github.com/webpack-contrib/style-loader" +"style-loader@1.1.3","MIT","https://github.com/webpack-contrib/style-loader" +"stylehacks@4.0.3","MIT","https://github.com/cssnano/cssnano" "stylus-loader@3.0.2","MIT","https://github.com/shama/stylus-loader" -"stylus@0.54.5","MIT","https://github.com/stylus/stylus" +"stylus@0.54.7","MIT","https://github.com/stylus/stylus" "supports-color@2.0.0","MIT","https://github.com/chalk/supports-color" "supports-color@4.5.0","MIT","https://github.com/chalk/supports-color" "supports-color@5.5.0","MIT","https://github.com/chalk/supports-color" "supports-color@6.1.0","MIT","https://github.com/chalk/supports-color" "supports-color@7.1.0","MIT","https://github.com/chalk/supports-color" +"supports-color@7.2.0","MIT","https://github.com/chalk/supports-color" +"svgo@1.3.2","MIT","https://github.com/svg/svgo" "symbol-observable@1.2.0","MIT","https://github.com/blesh/symbol-observable" "tapable@1.1.3","MIT","https://github.com/webpack/tapable" "tar@4.4.13","ISC","https://github.com/npm/node-tar" -"tar@4.4.8","ISC","https://github.com/npm/node-tar" -"terser-webpack-plugin@1.4.3","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" -"terser@4.6.3","BSD-2-Clause","https://github.com/terser/terser" +"tar@6.0.2","ISC","https://github.com/npm/node-tar" +"terser-webpack-plugin@1.4.4","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" +"terser-webpack-plugin@3.0.3","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" +"terser@4.6.10","BSD-2-Clause","https://github.com/terser/terser" +"terser@4.8.0","BSD-2-Clause","https://github.com/terser/terser" "throttleit@1.0.0","MIT","https://github.com/component/throttle" "through2@2.0.5","MIT","https://github.com/rvagg/through2" "through@2.3.8","MIT","https://github.com/dominictarr/through" "thunky@1.1.0","MIT","https://github.com/mafintosh/thunky" "timers-browserify@2.0.11","MIT","https://github.com/jryans/timers-browserify" +"timsort@0.3.0","MIT","https://github.com/mziccard/node-timsort" "tiny-emitter@2.1.0","MIT","https://github.com/scottcorgan/tiny-emitter" "tmp@0.0.33","MIT","https://github.com/raszi/node-tmp" -"tmp@0.1.0","MIT","https://github.com/raszi/node-tmp" +"tmp@0.2.1","MIT","https://github.com/raszi/node-tmp" "to-array@0.1.4","MIT","https://github.com/Raynos/to-array" "to-arraybuffer@1.0.1","MIT","https://github.com/jhiesey/to-arraybuffer" "to-fast-properties@2.0.0","MIT","https://github.com/sindresorhus/to-fast-properties" @@ -1276,16 +1390,17 @@ "to-regex@3.0.2","MIT","https://github.com/jonschlinkert/to-regex" "toidentifier@1.0.0","MIT","https://github.com/component/toidentifier" "tough-cookie@2.4.3","BSD-3-Clause","https://github.com/salesforce/tough-cookie" +"tough-cookie@2.5.0","BSD-3-Clause","https://github.com/salesforce/tough-cookie" "tree-kill@1.2.2","MIT","https://github.com/pkrumins/node-tree-kill" "treeify@1.1.0","MIT","https://github.com/notatestuser/treeify" "trim-right@1.0.1","MIT","https://github.com/sindresorhus/trim-right" "ts-loader@5.4.5","MIT","https://github.com/TypeStrong/ts-loader" "ts-md5@1.2.6","MIT","https://github.com/cotag/ts-md5" "ts-node@8.4.1","MIT","https://github.com/TypeStrong/ts-node" -"tslib@1.10.0","Apache-2.0","https://github.com/Microsoft/tslib" -"tslib@1.9.0","Apache-2.0","https://github.com/Microsoft/tslib" +"tslib@1.11.1","Apache-2.0","https://github.com/Microsoft/tslib" +"tslib@1.13.0","0BSD","https://github.com/Microsoft/tslib" "tslint-config-prettier@1.18.0","MIT","https://github.com/prettier/tslint-config-prettier" -"tslint@5.20.0","Apache-2.0","https://github.com/palantir/tslint" +"tslint@5.20.1","Apache-2.0","https://github.com/palantir/tslint" "tsutils@2.29.0","MIT","https://github.com/ajafff/tsutils" "tsutils@3.17.1","MIT","https://github.com/ajafff/tsutils" "tty-browserify@0.0.0","MIT","https://github.com/substack/tty-browserify" @@ -1295,19 +1410,25 @@ "type-fest@0.6.0","(MIT OR CC0-1.0)","https://github.com/sindresorhus/type-fest" "type-is@1.6.18","MIT","https://github.com/jshttp/type-is" "typedarray@0.0.6","MIT","https://github.com/substack/typedarray" -"typescript@3.5.3","Apache-2.0","https://github.com/Microsoft/TypeScript" +"typescript@3.6.5","Apache-2.0","https://github.com/Microsoft/TypeScript" +"typescript@3.8.3","Apache-2.0","https://github.com/Microsoft/TypeScript" +"ua-parser-js@0.7.21","MIT","https://github.com/faisalman/ua-parser-js" "uglify-js@3.6.0","BSD-2-Clause","https://github.com/mishoo/UglifyJS2" -"ultron@1.1.1","MIT","https://github.com/unshiftio/ultron" "unicode-canonical-property-names-ecmascript@1.0.4","MIT","https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript" "unicode-match-property-ecmascript@1.0.4","MIT","https://github.com/mathiasbynens/unicode-match-property-ecmascript" "unicode-match-property-value-ecmascript@1.1.0","MIT","https://github.com/mathiasbynens/unicode-match-property-value-ecmascript" +"unicode-match-property-value-ecmascript@1.2.0","MIT","https://github.com/mathiasbynens/unicode-match-property-value-ecmascript" "unicode-property-aliases-ecmascript@1.0.5","MIT","https://github.com/mathiasbynens/unicode-property-aliases-ecmascript" "union-value@1.0.1","MIT","https://github.com/jonschlinkert/union-value" +"uniq@1.0.1","MIT","https://github.com/mikolalysenko/uniq" +"uniqs@2.0.0","MIT","https://github.com/fgnass/uniqs" "unique-filename@1.1.1","ISC","https://github.com/iarna/unique-filename" "unique-slug@2.0.2","ISC","https://github.com/iarna/unique-slug" "universal-analytics@0.4.20","MIT","https://github.com/peaksandpies/universal-analytics" "universalify@0.1.2","MIT","https://github.com/RyanZim/universalify" +"universalify@1.0.0","MIT","https://github.com/RyanZim/universalify" "unpipe@1.0.0","MIT","https://github.com/stream-utils/unpipe" +"unquote@1.1.1","MIT","https://github.com/lakenen/node-unquote" "unset-value@1.0.0","MIT","https://github.com/jonschlinkert/unset-value" "untildify@4.0.0","MIT","https://github.com/sindresorhus/untildify" "upath@1.2.0","MIT","https://github.com/anodynos/upath" @@ -1316,61 +1437,65 @@ "url-parse@1.4.7","MIT","https://github.com/unshiftio/url-parse" "url@0.11.0","MIT","https://github.com/defunctzombie/node-url" "use@3.1.0","MIT","https://github.com/jonschlinkert/use" -"useragent@2.3.0","MIT","https://github.com/3rd-Eden/useragent" "util-deprecate@1.0.2","MIT","https://github.com/TooTallNate/util-deprecate" "util-extend@1.0.3","MIT","https://github.com/isaacs/util-extend" "util-promisify@2.1.0","MIT","https://github.com/juliangruber/util-promisify" +"util.promisify@1.0.1","MIT","https://github.com/ljharb/util.promisify" "util@0.10.3","MIT","https://github.com/defunctzombie/node-util" "util@0.11.1","MIT","https://github.com/defunctzombie/node-util" "utils-merge@1.0.1","MIT","https://github.com/jaredhanson/utils-merge" "uuid@3.4.0","MIT","https://github.com/uuidjs/uuid" +"uuid@7.0.2","MIT","https://github.com/uuidjs/uuid" "uuid@7.0.3","MIT","https://github.com/uuidjs/uuid" "validate-npm-package-license@3.0.3","Apache-2.0","https://github.com/kemitchell/validate-npm-package-license.js" "validate-npm-package-name@3.0.0","ISC","https://github.com/npm/validate-npm-package-name" "vary@1.1.2","MIT","https://github.com/jshttp/vary" +"vendors@1.0.4","MIT","https://github.com/wooorm/vendors" "verror@1.10.0","MIT","https://github.com/davepacheco/node-verror" "vm-browserify@1.1.2","MIT","https://github.com/substack/vm-browserify" "void-elements@2.0.1","MIT","https://github.com/hemanth/void-elements" -"watchpack@1.6.0","MIT","https://github.com/webpack/watchpack" +"watchpack-chokidar2@2.0.0","MIT","https://github.com/webpack/watchpack" +"watchpack@1.7.2","MIT","https://github.com/webpack/watchpack" "wbuf@1.7.3","MIT","https://github.com/indutny/wbuf" -"webpack-core@0.6.9","MIT","https://github.com/webpack/core" +"wcwidth@1.0.1","MIT","https://github.com/timoxley/wcwidth" "webpack-dev-middleware@3.7.2","MIT","https://github.com/webpack/webpack-dev-middleware" -"webpack-dev-server@3.9.0","MIT","https://github.com/webpack/webpack-dev-server" +"webpack-dev-server@3.11.0","MIT","https://github.com/webpack/webpack-dev-server" "webpack-log@2.0.0","MIT","https://github.com/webpack-contrib/webpack-log" -"webpack-merge@4.2.1","MIT","https://github.com/survivejs/webpack-merge" +"webpack-merge@4.2.2","MIT","https://github.com/survivejs/webpack-merge" "webpack-sources@1.4.3","MIT","https://github.com/webpack/webpack-sources" -"webpack-subresource-integrity@1.1.0-rc.6","MIT","https://github.com/waysact/webpack-subresource-integrity" -"webpack@4.39.2","MIT","https://github.com/webpack/webpack" -"websocket-driver@0.7.3","Apache-2.0","https://github.com/faye/websocket-driver-node" -"websocket-extensions@0.1.3","MIT","https://github.com/faye/websocket-extensions-node" +"webpack-subresource-integrity@1.4.0","MIT","https://github.com/waysact/webpack-subresource-integrity" +"webpack@4.42.0","MIT","https://github.com/webpack/webpack" +"websocket-driver@0.6.5","MIT","https://github.com/faye/websocket-driver-node" +"websocket-extensions@0.1.4","Apache-2.0","https://github.com/faye/websocket-extensions-node" "when@3.6.4","MIT","https://github.com/cujojs/when" "which-module@2.0.0","ISC","https://github.com/nexdrew/which-module" "which@1.3.0","ISC","https://github.com/isaacs/node-which" "which@1.3.1","ISC","https://github.com/isaacs/node-which" "which@2.0.2","ISC","https://github.com/isaacs/node-which" "wide-align@1.1.3","ISC","https://github.com/iarna/wide-align" -"wordwrap@0.0.3","MIT","https://github.com/substack/node-wordwrap" +"wordwrap@1.0.0","MIT","https://github.com/substack/node-wordwrap" "worker-farm@1.7.0","MIT","https://github.com/rvagg/node-worker-farm" -"worker-plugin@3.2.0","Apache-2.0","https://github.com/GoogleChromeLabs/worker-plugin" -"wrap-ansi@2.1.0","MIT","https://github.com/chalk/wrap-ansi" +"worker-plugin@4.0.3","Apache-2.0","https://github.com/GoogleChromeLabs/worker-plugin" "wrap-ansi@3.0.1","MIT","https://github.com/chalk/wrap-ansi" +"wrap-ansi@5.1.0","MIT","https://github.com/chalk/wrap-ansi" +"wrap-ansi@6.2.0","MIT","https://github.com/chalk/wrap-ansi" "wrappy@1.0.2","ISC","https://github.com/npm/wrappy" -"ws@3.3.3","MIT","https://github.com/websockets/ws" +"ws@6.1.4","MIT","https://github.com/websockets/ws" "ws@6.2.1","MIT","https://github.com/websockets/ws" -"xhr2@0.1.4","MIT","https://github.com/pwnall/node-xhr2" +"ws@7.3.1","MIT","https://github.com/websockets/ws" +"xhr2@0.2.0","MIT","https://github.com/pwnall/node-xhr2" "xmlhttprequest-ssl@1.5.5","MIT","https://github.com/mjwwit/node-XMLHttpRequest" "xregexp@4.0.0","MIT","https://github.com/slevithan/xregexp" "xtend@4.0.2","MIT","https://github.com/Raynos/xtend" "y18n@4.0.0","ISC","https://github.com/yargs/y18n" -"yallist@2.1.2","ISC","https://github.com/isaacs/yallist" -"yallist@3.0.3","ISC","https://github.com/isaacs/yallist" "yallist@3.1.1","ISC","https://github.com/isaacs/yallist" -"yargs-parser@11.1.1","ISC","https://github.com/yargs/yargs-parser" -"yargs-parser@13.1.1","ISC","https://github.com/yargs/yargs-parser" -"yargs@12.0.5","MIT","https://github.com/yargs/yargs" -"yargs@13.1.0","MIT","https://github.com/yargs/yargs" +"yallist@4.0.0","ISC","https://github.com/isaacs/yallist" +"yargs-parser@13.1.2","ISC","https://github.com/yargs/yargs-parser" +"yargs-parser@18.1.3","ISC","https://github.com/yargs/yargs-parser" +"yargs@13.3.2","MIT","https://github.com/yargs/yargs" +"yargs@15.3.0","MIT","https://github.com/yargs/yargs" +"yargs@15.4.1","MIT","https://github.com/yargs/yargs" "yauzl@2.10.0","MIT","https://github.com/thejoshwolfe/yauzl" -"yauzl@2.4.1","MIT","https://github.com/thejoshwolfe/yauzl" "yeast@0.1.2","MIT","https://github.com/unshiftio/yeast" "yn@3.1.1","MIT","https://github.com/sindresorhus/yn" -"zone.js@0.9.1","MIT","https://github.com/angular/zone.js" +"zone.js@0.10.3","MIT","https://github.com/angular/angular" diff --git a/package.json b/package.json index 8b1fc30586..120c9dc4fb 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "prebuild.prod": "npm run prebuild", "build.prod": "npx ng build --progress false --prod --subresource-integrity", "build": "npx ng build --progress false --subresource-integrity", - "license": "license-checker --excludePackages dockstore-ui2@2.3.0 --csv > THIRD-PARTY-LICENSES.csv", + "license": "license-checker --excludePackages dockstore-ui2@$npm_package_version --csv > THIRD-PARTY-LICENSES.csv", + "circle-ci-license-test-file": "license-checker --excludePackages dockstore-ui2@$npm_package_version --csv > CIRCLE-THIRD-PARTY-LICENSES.csv", "compodoc": "npx compodoc -p src/tsconfig.compodoc.json --output docs", "install-git-secrets": "./scripts/install-git-secrets.sh", "test": "npx ng test", diff --git a/scripts/detect-package-json-changes.sh b/scripts/detect-package-json-changes.sh index 1df38ea402..260794c05d 100644 --- a/scripts/detect-package-json-changes.sh +++ b/scripts/detect-package-json-changes.sh @@ -1,14 +1,9 @@ #!/bin/bash -packageJsonStatus="$(git diff --name-status develop -- package.json)" -packageLockJsonStatus="$(git diff --name-status develop -- package-lock.json)" +licenseFileStatus="$(diff CIRCLE-THIRD-PARTY-LICENSES.csv THIRD-PARTY-LICENSES.csv)" -if [ -n "$packageJsonStatus" ] && [ -n "$packageLockJsonStatus" ] -then - licenseFileStatus="$(git diff --name-status develop -- THIRD-PARTY-LICENSES.csv)" - if [ -z "$licenseFileStatus" ] +if [ -n "$licenseFileStatus" ] then - echo "The package.json and package-lock.json files have changed, but the THIRD-PARTY-LICENSES.csv file has not been updated. Update by running 'npm run license'. Review changes being made before committing and pushing." + echo "The THIRD-PARTY-LICENSES.csv file has not been updated. Update the file by running 'npm run license'." exit 1 fi -fi From e8795fda2438f6bf7a7f79290ebf59357b2e52e8 Mon Sep 17 00:00:00 2001 From: NatalieEO Date: Thu, 4 Feb 2021 09:01:29 -0800 Subject: [PATCH 024/119] update develop's licenses (#1148) --- THIRD-PARTY-LICENSES.csv | 652 +++++++++++++++++++++------------------ 1 file changed, 344 insertions(+), 308 deletions(-) diff --git a/THIRD-PARTY-LICENSES.csv b/THIRD-PARTY-LICENSES.csv index d5cfad7032..9d55f432af 100644 --- a/THIRD-PARTY-LICENSES.csv +++ b/THIRD-PARTY-LICENSES.csv @@ -1,191 +1,207 @@ "module name","license","repository" -"@angular-devkit/architect@0.901.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/build-angular@0.901.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/build-optimizer@0.901.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/build-webpack@0.901.9","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/architect@0.1002.0","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/build-angular@0.1002.0","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/build-optimizer@0.1002.0","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/build-webpack@0.1002.0","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/core@10.2.0","MIT","https://github.com/angular/angular-cli" "@angular-devkit/core@7.3.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/core@9.1.9","MIT","https://github.com/angular/angular-cli" +"@angular-devkit/schematics@10.2.0","MIT","https://github.com/angular/angular-cli" "@angular-devkit/schematics@7.3.9","MIT","https://github.com/angular/angular-cli" -"@angular-devkit/schematics@9.1.9","MIT","https://github.com/angular/angular-cli" -"@angular/animations@9.1.11","MIT","https://github.com/angular/angular" -"@angular/cdk@9.2.4","MIT","https://github.com/angular/components" -"@angular/cli@9.1.9","MIT","https://github.com/angular/angular-cli" -"@angular/common@9.1.11","MIT","https://github.com/angular/angular" -"@angular/compiler-cli@9.1.11","MIT","https://github.com/angular/angular" -"@angular/compiler@9.1.11","MIT","https://github.com/angular/angular" -"@angular/core@9.1.11","MIT","https://github.com/angular/angular" -"@angular/flex-layout@9.0.0-beta.31","MIT","https://github.com/angular/flex-layout" -"@angular/forms@9.1.11","MIT","https://github.com/angular/angular" -"@angular/language-service@9.1.11","MIT","https://github.com/angular/angular" -"@angular/material@9.2.4","MIT","https://github.com/angular/components" -"@angular/platform-browser-dynamic@9.1.11","MIT","https://github.com/angular/angular" -"@angular/platform-browser@9.1.11","MIT","https://github.com/angular/angular" -"@angular/platform-server@9.1.11","MIT","https://github.com/angular/angular" -"@angular/router@9.1.11","MIT","https://github.com/angular/angular" +"@angular/animations@10.2.3","MIT","https://github.com/angular/angular" +"@angular/cdk@10.2.7","MIT","https://github.com/angular/components" +"@angular/cli@10.2.0","MIT","https://github.com/angular/angular-cli" +"@angular/common@10.2.3","MIT","https://github.com/angular/angular" +"@angular/compiler-cli@10.2.3","MIT","https://github.com/angular/angular" +"@angular/compiler@10.2.3","MIT","https://github.com/angular/angular" +"@angular/compiler@9.0.0","MIT","https://github.com/angular/angular" +"@angular/core@10.2.3","MIT","https://github.com/angular/angular" +"@angular/core@9.0.0","MIT","https://github.com/angular/angular" +"@angular/flex-layout@10.0.0-beta.32","MIT","https://github.com/angular/flex-layout" +"@angular/forms@10.2.3","MIT","https://github.com/angular/angular" +"@angular/language-service@10.2.3","MIT","https://github.com/angular/angular" +"@angular/material@10.2.7","MIT","https://github.com/angular/components" +"@angular/platform-browser-dynamic@10.2.3","MIT","https://github.com/angular/angular" +"@angular/platform-browser@10.2.3","MIT","https://github.com/angular/angular" +"@angular/platform-server@10.2.3","MIT","https://github.com/angular/angular" +"@angular/router@10.2.3","MIT","https://github.com/angular/angular" "@babel/code-frame@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-code-frame" -"@babel/code-frame@7.10.3","MIT","https://github.com/babel/babel" +"@babel/code-frame@7.10.4","MIT","https://github.com/babel/babel" "@babel/code-frame@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-code-frame" -"@babel/compat-data@7.10.3","MIT","https://github.com/babel/babel" -"@babel/core@7.10.3","MIT","https://github.com/babel/babel" +"@babel/compat-data@7.12.7","MIT","https://github.com/babel/babel" +"@babel/core@7.11.1","MIT","https://github.com/babel/babel" +"@babel/core@7.12.10","MIT","https://github.com/babel/babel" "@babel/core@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-core" -"@babel/core@7.9.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-core" -"@babel/generator@7.10.3","MIT","https://github.com/babel/babel" +"@babel/generator@7.11.0","MIT","https://github.com/babel/babel" +"@babel/generator@7.12.10","MIT","https://github.com/babel/babel" "@babel/generator@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" "@babel/generator@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" -"@babel/generator@7.9.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-generator" "@babel/helper-annotate-as-pure@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure" -"@babel/helper-annotate-as-pure@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-annotate-as-pure@7.12.10","MIT","https://github.com/babel/babel" "@babel/helper-builder-binary-assignment-operator-visitor@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor" -"@babel/helper-builder-binary-assignment-operator-visitor@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-builder-binary-assignment-operator-visitor@7.10.4","MIT","https://github.com/babel/babel" "@babel/helper-call-delegate@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate" -"@babel/helper-compilation-targets@7.10.2","MIT","https://github.com/babel/babel" -"@babel/helper-create-regexp-features-plugin@7.10.1","MIT","https://github.com/babel/babel" -"@babel/helper-define-map@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-compilation-targets@7.12.5","MIT","https://github.com/babel/babel" +"@babel/helper-create-class-features-plugin@7.12.1","MIT","https://github.com/babel/babel" +"@babel/helper-create-regexp-features-plugin@7.12.7","MIT","https://github.com/babel/babel" +"@babel/helper-define-map@7.10.5","MIT","https://github.com/babel/babel" "@babel/helper-define-map@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-define-map" "@babel/helper-explode-assignable-expression@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression" -"@babel/helper-explode-assignable-expression@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-explode-assignable-expression@7.12.1","MIT","https://github.com/babel/babel" "@babel/helper-function-name@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-function-name" -"@babel/helper-function-name@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-function-name@7.10.4","MIT","https://github.com/babel/babel" "@babel/helper-get-function-arity@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity" -"@babel/helper-get-function-arity@7.10.3","MIT","https://github.com/babel/babel" -"@babel/helper-hoist-variables@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-get-function-arity@7.12.10","MIT","https://github.com/babel/babel" +"@babel/helper-hoist-variables@7.10.4","MIT","https://github.com/babel/babel" "@babel/helper-hoist-variables@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables" -"@babel/helper-member-expression-to-functions@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-member-expression-to-functions@7.12.7","MIT","https://github.com/babel/babel" "@babel/helper-member-expression-to-functions@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-member-expression-to-functions" "@babel/helper-module-imports@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-imports" -"@babel/helper-module-imports@7.10.3","MIT","https://github.com/babel/babel" -"@babel/helper-module-transforms@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-module-imports@7.12.5","MIT","https://github.com/babel/babel" +"@babel/helper-module-transforms@7.12.1","MIT","https://github.com/babel/babel" "@babel/helper-module-transforms@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms" "@babel/helper-module-transforms@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms" "@babel/helper-optimise-call-expression@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression" -"@babel/helper-optimise-call-expression@7.10.3","MIT","https://github.com/babel/babel" +"@babel/helper-optimise-call-expression@7.12.10","MIT","https://github.com/babel/babel" "@babel/helper-plugin-utils@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-utils" -"@babel/helper-plugin-utils@7.10.3","MIT","https://github.com/babel/babel" -"@babel/helper-regex@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-plugin-utils@7.10.4","MIT","https://github.com/babel/babel" "@babel/helper-regex@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-regex" "@babel/helper-regex@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-regex" "@babel/helper-remap-async-to-generator@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator" -"@babel/helper-remap-async-to-generator@7.10.3","MIT","https://github.com/babel/babel" -"@babel/helper-replace-supers@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-remap-async-to-generator@7.12.1","MIT","https://github.com/babel/babel" +"@babel/helper-replace-supers@7.12.5","MIT","https://github.com/babel/babel" "@babel/helper-replace-supers@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers" "@babel/helper-simple-access@7.1.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access" -"@babel/helper-simple-access@7.10.1","MIT","https://github.com/babel/babel" -"@babel/helper-split-export-declaration@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-simple-access@7.12.1","MIT","https://github.com/babel/babel" +"@babel/helper-skip-transparent-expression-wrappers@7.12.1","MIT","https://github.com/babel/babel" +"@babel/helper-split-export-declaration@7.11.0","MIT","https://github.com/babel/babel" "@babel/helper-split-export-declaration@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration" "@babel/helper-split-export-declaration@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration" -"@babel/helper-validator-identifier@7.10.3","MIT","https://github.com/babel/babel" -"@babel/helper-wrap-function@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helper-validator-identifier@7.10.4","MIT","https://github.com/babel/babel" +"@babel/helper-validator-option@7.12.1","MIT","https://github.com/babel/babel" +"@babel/helper-wrap-function@7.12.3","MIT","https://github.com/babel/babel" "@babel/helper-wrap-function@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function" -"@babel/helpers@7.10.1","MIT","https://github.com/babel/babel" +"@babel/helpers@7.12.5","MIT","https://github.com/babel/babel" "@babel/helpers@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-helpers" "@babel/highlight@7.0.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-highlight" -"@babel/highlight@7.10.3","MIT","https://github.com/babel/babel" -"@babel/parser@7.10.3","MIT","https://github.com/babel/babel" +"@babel/highlight@7.10.4","MIT","https://github.com/babel/babel" +"@babel/parser@7.10.5","MIT","https://github.com/babel/babel" +"@babel/parser@7.12.10","MIT","https://github.com/babel/babel" "@babel/parser@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-parser" "@babel/parser@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-parser" -"@babel/plugin-proposal-async-generator-functions@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-async-generator-functions@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-async-generator-functions@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-async-generator-functions" -"@babel/plugin-proposal-dynamic-import@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-class-properties@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-dynamic-import@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-dynamic-import@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import" -"@babel/plugin-proposal-json-strings@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-export-namespace-from@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-json-strings@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-json-strings@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-json-strings" -"@babel/plugin-proposal-nullish-coalescing-operator@7.10.1","MIT","https://github.com/babel/babel" -"@babel/plugin-proposal-numeric-separator@7.10.1","MIT","https://github.com/babel/babel" -"@babel/plugin-proposal-object-rest-spread@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-logical-assignment-operators@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-nullish-coalescing-operator@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-numeric-separator@7.12.7","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-object-rest-spread@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-object-rest-spread@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread" -"@babel/plugin-proposal-optional-catch-binding@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-optional-catch-binding@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-optional-catch-binding@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-catch-binding" -"@babel/plugin-proposal-optional-chaining@7.10.3","MIT","https://github.com/babel/babel" -"@babel/plugin-proposal-unicode-property-regex@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-optional-chaining@7.12.7","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-private-methods@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-proposal-unicode-property-regex@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-proposal-unicode-property-regex@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex" "@babel/plugin-syntax-async-generators@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators" "@babel/plugin-syntax-async-generators@7.8.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators" +"@babel/plugin-syntax-class-properties@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-syntax-dynamic-import@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import" "@babel/plugin-syntax-dynamic-import@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import" +"@babel/plugin-syntax-export-namespace-from@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-namespace-from" "@babel/plugin-syntax-json-strings@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings" "@babel/plugin-syntax-json-strings@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings" +"@babel/plugin-syntax-logical-assignment-operators@7.10.4","MIT","https://github.com/babel/babel" "@babel/plugin-syntax-nullish-coalescing-operator@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator" -"@babel/plugin-syntax-numeric-separator@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-syntax-numeric-separator@7.10.4","MIT","https://github.com/babel/babel" "@babel/plugin-syntax-object-rest-spread@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread" "@babel/plugin-syntax-object-rest-spread@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread" "@babel/plugin-syntax-optional-catch-binding@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding" "@babel/plugin-syntax-optional-catch-binding@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding" "@babel/plugin-syntax-optional-chaining@7.8.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining" -"@babel/plugin-syntax-top-level-await@7.10.1","MIT","https://github.com/babel/babel" -"@babel/plugin-transform-arrow-functions@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-syntax-top-level-await@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-arrow-functions@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-arrow-functions@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-arrow-functions" -"@babel/plugin-transform-async-to-generator@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-async-to-generator@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-async-to-generator@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator" -"@babel/plugin-transform-block-scoped-functions@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-block-scoped-functions@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-block-scoped-functions@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoped-functions" -"@babel/plugin-transform-block-scoping@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-block-scoping@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-block-scoping@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping" -"@babel/plugin-transform-classes@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-classes@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-classes@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes" -"@babel/plugin-transform-computed-properties@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-computed-properties@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-computed-properties@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-computed-properties" -"@babel/plugin-transform-destructuring@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-destructuring@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-destructuring@7.6.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring" -"@babel/plugin-transform-dotall-regex@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-dotall-regex@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-dotall-regex@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-dotall-regex" -"@babel/plugin-transform-duplicate-keys@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-duplicate-keys@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-duplicate-keys@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-duplicate-keys" -"@babel/plugin-transform-exponentiation-operator@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-exponentiation-operator@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-exponentiation-operator@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator" -"@babel/plugin-transform-for-of@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-for-of@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-for-of@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-for-of" -"@babel/plugin-transform-function-name@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-function-name@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-function-name@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-function-name" -"@babel/plugin-transform-literals@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-literals@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-literals@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-literals" -"@babel/plugin-transform-member-expression-literals@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-member-expression-literals@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-member-expression-literals@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-member-expression-literals" -"@babel/plugin-transform-modules-amd@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-modules-amd@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-amd@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-amd" -"@babel/plugin-transform-modules-commonjs@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-modules-commonjs@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-commonjs@7.6.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs" -"@babel/plugin-transform-modules-systemjs@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-modules-systemjs@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-systemjs@7.5.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-systemjs" -"@babel/plugin-transform-modules-umd@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-modules-umd@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-modules-umd@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-umd" -"@babel/plugin-transform-named-capturing-groups-regex@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-named-capturing-groups-regex@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-named-capturing-groups-regex@7.6.2","MIT","https://github.com/babel/babel" -"@babel/plugin-transform-new-target@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-new-target@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-new-target@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-new-target" -"@babel/plugin-transform-object-super@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-object-super@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-object-super@7.5.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-super" -"@babel/plugin-transform-parameters@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-parameters@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-parameters@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters" -"@babel/plugin-transform-property-literals@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-property-literals@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-property-literals@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-literals" -"@babel/plugin-transform-regenerator@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-regenerator@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-regenerator@7.4.5","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator" -"@babel/plugin-transform-reserved-words@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-reserved-words@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-reserved-words@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-reserved-words" -"@babel/plugin-transform-shorthand-properties@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-runtime@7.11.0","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-shorthand-properties@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-shorthand-properties@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-shorthand-properties" -"@babel/plugin-transform-spread@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-spread@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-spread@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread" -"@babel/plugin-transform-sticky-regex@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-sticky-regex@7.12.7","MIT","https://github.com/babel/babel" "@babel/plugin-transform-sticky-regex@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-sticky-regex" -"@babel/plugin-transform-template-literals@7.10.3","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-template-literals@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-template-literals@7.4.4","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-template-literals" -"@babel/plugin-transform-typeof-symbol@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-typeof-symbol@7.12.10","MIT","https://github.com/babel/babel" "@babel/plugin-transform-typeof-symbol@7.2.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typeof-symbol" -"@babel/plugin-transform-unicode-regex@7.10.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-unicode-escapes@7.12.1","MIT","https://github.com/babel/babel" +"@babel/plugin-transform-unicode-regex@7.12.1","MIT","https://github.com/babel/babel" "@babel/plugin-transform-unicode-regex@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex" +"@babel/preset-env@7.11.0","MIT","https://github.com/babel/babel" "@babel/preset-env@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-preset-env" -"@babel/preset-env@7.9.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-preset-env" -"@babel/preset-modules@0.1.3","MIT","" -"@babel/runtime@7.10.3","MIT","https://github.com/babel/babel" -"@babel/template@7.10.3","MIT","https://github.com/babel/babel" +"@babel/preset-modules@0.1.4","MIT","" +"@babel/runtime@7.11.2","MIT","https://github.com/babel/babel" +"@babel/template@7.10.4","MIT","https://github.com/babel/babel" +"@babel/template@7.12.7","MIT","https://github.com/babel/babel" "@babel/template@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-template" "@babel/template@7.6.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-template" -"@babel/template@7.8.6","MIT","https://github.com/babel/babel/tree/master/packages/babel-template" -"@babel/traverse@7.10.3","MIT","https://github.com/babel/babel" +"@babel/traverse@7.10.5","MIT","https://github.com/babel/babel" +"@babel/traverse@7.12.10","MIT","https://github.com/babel/babel" "@babel/traverse@7.4.3","MIT","https://github.com/babel/babel/tree/master/packages/babel-traverse" "@babel/traverse@7.6.2","MIT","https://github.com/babel/babel/tree/master/packages/babel-traverse" -"@babel/types@7.10.3","MIT","https://github.com/babel/babel" +"@babel/types@7.10.5","MIT","https://github.com/babel/babel" +"@babel/types@7.12.10","MIT","https://github.com/babel/babel" "@babel/types@7.4.0","MIT","https://github.com/babel/babel/tree/master/packages/babel-types" "@babel/types@7.6.1","MIT","https://github.com/babel/babel/tree/master/packages/babel-types" "@cypress/listr-verbose-renderer@0.4.1","MIT","https://github.com/SamVerschueren/listr-verbose-renderer" @@ -195,24 +211,24 @@ "@datorama/akita-ng-forms-manager@3.1.0","Apache*","https://github.com/NetanelBasal/akita-ng-forms-manager" "@datorama/akita-ngdevtools@3.0.2","Apache*","" "@datorama/akita@4.10.8","Apache*","https://github.com/datorama/akita" -"@fortawesome/angular-fontawesome@0.6.1","MIT","https://github.com/FortAwesome/angular-fontawesome" +"@fortawesome/angular-fontawesome@0.7.0","MIT","https://github.com/FortAwesome/angular-fontawesome" "@fortawesome/fontawesome-common-types@0.2.29","MIT","https://github.com/FortAwesome/Font-Awesome" "@fortawesome/fontawesome-svg-core@1.2.29","MIT","https://github.com/FortAwesome/Font-Awesome" "@fortawesome/free-brands-svg-icons@5.13.1","(CC-BY-4.0 AND MIT)","https://github.com/FortAwesome/Font-Awesome" "@fortawesome/free-solid-svg-icons@5.13.1","(CC-BY-4.0 AND MIT)","https://github.com/FortAwesome/Font-Awesome" "@istanbuljs/schema@0.1.2","MIT","https://github.com/istanbuljs/schema" -"@jsdevtools/coverage-istanbul-loader@3.0.3","MIT","https://github.com/JS-DevTools/coverage-istanbul-loader" -"@material-extended/mde@2.3.1","MIT","https://github.com/material-extended/popover" -"@ngtools/webpack@9.1.9","MIT","https://github.com/angular/angular-cli" +"@jsdevtools/coverage-istanbul-loader@3.0.5","MIT","https://github.com/JS-DevTools/coverage-istanbul-loader" +"@material-extended/mde@3.0.3","MIT","https://github.com/material-extended/mde" +"@ngtools/webpack@10.2.0","MIT","https://github.com/angular/angular-cli" "@ngx-lite/json-ld@0.6.2","MIT","https://github.com/coryrylan/ngx-json-ld" "@nodelib/fs.scandir@2.1.2","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir" "@nodelib/fs.stat@2.0.2","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat" "@nodelib/fs.walk@1.2.3","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk" "@npmcli/move-file@1.0.1","MIT","https://github.com/npm/move-file" -"@phenomnomnominal/tsquery@3.0.0","MIT","https://github.com/phenomnomnominal/tsquery" +"@phenomnomnominal/tsquery@4.1.1","MIT","https://github.com/phenomnomnominal/tsquery" "@samverschueren/stream-to-observable@0.3.0","MIT","https://github.com/SamVerschueren/stream-to-observable" -"@schematics/angular@9.1.9","MIT","https://github.com/angular/angular-cli" -"@schematics/update@0.901.9","MIT","https://github.com/angular/angular-cli" +"@schematics/angular@10.2.0","MIT","https://github.com/angular/angular-cli" +"@schematics/update@0.1002.0","MIT","https://github.com/angular/angular-cli" "@types/color-name@1.1.1","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/cytoscape@3.8.2","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/elastic.js@1.2.8","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" @@ -223,7 +239,7 @@ "@types/jasminewd2@2.0.6","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/jquery@3.3.31","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/json-schema@7.0.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" -"@types/marked@0.7.4","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/marked@1.2.1","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/minimatch@3.0.3","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" "@types/node@12.12.47","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/normalize-package-data@2.4.0","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" @@ -232,33 +248,37 @@ "@types/sizzle@2.3.2","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" "@types/source-list-map@0.1.2","MIT","https://www.github.com/DefinitelyTyped/DefinitelyTyped" "@types/webpack-sources@0.1.8","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" -"@webassemblyjs/ast@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/floating-point-hex-parser@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/helper-api-error@1.8.5","MIT","" -"@webassemblyjs/helper-buffer@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/helper-code-frame@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/helper-fsm@1.8.5","ISC","" -"@webassemblyjs/helper-module-context@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/helper-wasm-bytecode@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/helper-wasm-section@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/ieee754@1.8.5","MIT","" -"@webassemblyjs/leb128@1.8.5","MIT","" -"@webassemblyjs/utf8@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/wasm-edit@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/wasm-gen@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/wasm-opt@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/wasm-parser@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/wast-parser@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" -"@webassemblyjs/wast-printer@1.8.5","MIT","https://github.com/xtuc/webassemblyjs" +"@types/yargs-parser@15.0.0","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@types/yargs@15.0.11","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped" +"@webassemblyjs/ast@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/floating-point-hex-parser@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/helper-api-error@1.9.0","MIT","" +"@webassemblyjs/helper-buffer@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/helper-code-frame@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/helper-fsm@1.9.0","ISC","" +"@webassemblyjs/helper-module-context@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/helper-wasm-bytecode@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/helper-wasm-section@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/ieee754@1.9.0","MIT","" +"@webassemblyjs/leb128@1.9.0","MIT","" +"@webassemblyjs/utf8@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/wasm-edit@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/wasm-gen@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/wasm-opt@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/wasm-parser@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/wast-parser@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" +"@webassemblyjs/wast-printer@1.9.0","MIT","https://github.com/xtuc/webassemblyjs" "@xtuc/ieee754@1.2.0","BSD-3-Clause","https://github.com/feross/ieee754" "@xtuc/long@4.2.2","Apache-2.0","https://github.com/dcodeIO/long.js" "@yarnpkg/lockfile@1.1.0","BSD-2-Clause","https://github.com/yarnpkg/yarn/blob/master/packages/lockfile" "JSONStream@1.3.5","(MIT OR Apache-2.0)","https://github.com/dominictarr/JSONStream" +"abab@2.0.5","BSD-3-Clause","https://github.com/jsdom/abab" "abbrev@1.1.1","ISC","https://github.com/isaacs/abbrev-js" "accepts@1.3.5","MIT","https://github.com/jshttp/accepts" "accepts@1.3.7","MIT","https://github.com/jshttp/accepts" "ace-builds@1.4.6","BSD-3-Clause","https://github.com/ajaxorg/ace-builds" -"acorn@6.4.1","MIT","https://github.com/acornjs/acorn" +"acorn@6.4.2","MIT","https://github.com/acornjs/acorn" +"adjust-sourcemap-loader@3.0.0","MIT","https://github.com/bholloway/adjust-sourcemap-loader" "after@0.8.2","MIT","https://github.com/Raynos/after" "agent-base@4.2.1","MIT","https://github.com/TooTallNate/node-agent-base" "agent-base@4.3.0","MIT","https://github.com/TooTallNate/node-agent-base" @@ -267,12 +287,12 @@ "ajv-errors@1.0.1","MIT","https://github.com/epoberezkin/ajv-errors" "ajv-keywords@3.5.0","MIT","https://github.com/epoberezkin/ajv-keywords" "ajv@5.5.2","MIT","https://github.com/epoberezkin/ajv" -"ajv@6.12.0","MIT","https://github.com/epoberezkin/ajv" "ajv@6.12.2","MIT","https://github.com/epoberezkin/ajv" "ajv@6.12.4","MIT","https://github.com/ajv-validator/ajv" +"ajv@6.12.6","MIT","https://github.com/ajv-validator/ajv" "ajv@6.9.1","MIT","https://github.com/epoberezkin/ajv" "alphanum-sort@1.0.2","MIT","https://github.com/TrySound/alphanum-sort" -"angular-tag-cloud-module@3.8.1","MIT*","" +"angular-tag-cloud-module@5.2.0","MIT*","" "ansi-colors@3.2.4","MIT","https://github.com/doowb/ansi-colors" "ansi-colors@4.1.1","MIT","https://github.com/doowb/ansi-colors" "ansi-escapes@3.2.0","MIT","https://github.com/sindresorhus/ansi-escapes" @@ -286,18 +306,18 @@ "ansi-styles@3.2.0","MIT","https://github.com/chalk/ansi-styles" "ansi-styles@3.2.1","MIT","https://github.com/chalk/ansi-styles" "ansi-styles@4.2.1","MIT","https://github.com/chalk/ansi-styles" +"ansi-styles@4.3.0","MIT","https://github.com/chalk/ansi-styles" "any-observable@0.3.0","MIT","https://github.com/sindresorhus/any-observable" "anymatch@2.0.0","ISC","https://github.com/micromatch/anymatch" -"anymatch@3.1.0","ISC","https://github.com/micromatch/anymatch" "anymatch@3.1.1","ISC","https://github.com/micromatch/anymatch" -"app-root-path@2.2.1","MIT","https://github.com/inxilpro/node-app-root-path" -"append-transform@1.0.0","MIT","https://github.com/istanbuljs/append-transform" +"app-root-path@3.0.0","MIT","https://github.com/inxilpro/node-app-root-path" "aproba@1.2.0","ISC","https://github.com/iarna/aproba" "arch@2.1.2","MIT","https://github.com/feross/arch" "are-we-there-yet@1.1.5","ISC","https://github.com/iarna/are-we-there-yet" "arg@4.1.1","MIT","https://github.com/zeit/arg" "argparse@1.0.10","MIT","https://github.com/nodeca/argparse" "aria-query@3.0.0","Apache-2.0","https://github.com/A11yance/aria-query" +"arity-n@1.0.4","MIT","https://github.com/stoeffel/arityN" "arr-diff@4.0.0","MIT","https://github.com/jonschlinkert/arr-diff" "arr-flatten@1.1.0","MIT","https://github.com/jonschlinkert/arr-flatten" "arr-union@3.1.0","MIT","https://github.com/jonschlinkert/arr-union" @@ -310,7 +330,7 @@ "array-unique@0.3.2","MIT","https://github.com/jonschlinkert/array-unique" "arraybuffer.slice@0.0.7","MIT","https://github.com/rase-/arraybuffer.slice" "asap@2.0.6","MIT","https://github.com/kriskowal/asap" -"asn1.js@4.10.1","MIT","https://github.com/indutny/asn1.js" +"asn1.js@5.4.1","MIT","https://github.com/indutny/asn1.js" "asn1@0.2.4","MIT","https://github.com/joyent/node-asn1" "assert-plus@1.0.0","MIT","https://github.com/mcavage/node-assert-plus" "assert@1.5.0","MIT","https://github.com/browserify/commonjs-assert" @@ -323,39 +343,36 @@ "asynckit@0.4.0","MIT","https://github.com/alexindigo/asynckit" "at-least-node@1.0.0","ISC","https://github.com/RyanZim/at-least-node" "atob@2.1.1","(MIT OR Apache-2.0)","git://git.coolaj86.com/coolaj86/atob.js" -"autoprefixer@9.7.4","MIT","https://github.com/postcss/autoprefixer" +"autoprefixer@9.8.6","MIT","https://github.com/postcss/autoprefixer" "aws-sign2@0.7.0","Apache-2.0","https://github.com/mikeal/aws-sign" "aws4@1.10.1","MIT","https://github.com/mhart/aws4" "aws4@1.8.0","MIT","https://github.com/mhart/aws4" "axobject-query@2.0.2","Apache-2.0","https://github.com/A11yance/axobject-query" -"babel-loader@8.0.6","MIT","https://github.com/babel/babel-loader" "babel-loader@8.1.0","MIT","https://github.com/babel/babel-loader" "babel-plugin-dynamic-import-node@2.3.0","MIT","https://github.com/airbnb/babel-plugin-dynamic-import-node" "babel-plugin-dynamic-import-node@2.3.3","MIT","https://github.com/airbnb/babel-plugin-dynamic-import-node" "backo2@1.0.2","MIT","https://github.com/mokesmokes/backo" "balanced-match@1.0.0","MIT","https://github.com/juliangruber/balanced-match" -"base64-arraybuffer@0.1.5","MIT","https://github.com/niklasvh/base64-arraybuffer" -"base64-js@1.3.1","MIT","https://github.com/beatgammit/base64-js" +"base64-arraybuffer@0.1.4","MIT","https://github.com/niklasvh/base64-arraybuffer" +"base64-js@1.5.1","MIT","https://github.com/beatgammit/base64-js" "base64id@2.0.0","MIT","https://github.com/faeldt/base64id" "base@0.11.2","MIT","https://github.com/node-base/base" "batch@0.6.1","MIT","https://github.com/visionmedia/batch" "bcrypt-pbkdf@1.0.2","BSD-3-Clause","https://github.com/joyent/node-bcrypt-pbkdf" -"better-assert@1.0.2","MIT*","https://github.com/visionmedia/better-assert" +"bent@7.3.12","Apache-2.0","https://github.com/mikeal/bent" "big.js@3.2.0","MIT","https://github.com/MikeMcl/big.js" "big.js@5.2.2","MIT","https://github.com/MikeMcl/big.js" "binary-extensions@1.11.0","MIT","https://github.com/sindresorhus/binary-extensions" -"binary-extensions@2.0.0","MIT","https://github.com/sindresorhus/binary-extensions" "binary-extensions@2.1.0","MIT","https://github.com/sindresorhus/binary-extensions" "bindings@1.5.0","MIT","https://github.com/TooTallNate/node-bindings" "blob-util@2.0.2","Apache-2.0","https://github.com/nolanlawson/blob-util" "blob@0.0.5","MIT","https://github.com/webmodules/blob" "bluebird@3.5.0","MIT","https://github.com/petkaantonov/bluebird" -"bluebird@3.5.1","MIT","https://github.com/petkaantonov/bluebird" "bluebird@3.7.2","MIT","https://github.com/petkaantonov/bluebird" "bn.js@4.11.9","MIT","https://github.com/indutny/bn.js" -"bn.js@5.1.2","MIT","https://github.com/indutny/bn.js" +"bn.js@5.1.3","MIT","https://github.com/indutny/bn.js" "body-parser@1.19.0","MIT","https://github.com/expressjs/body-parser" -"bodybuilder@2.2.17","MIT","https://github.com/danpaz/bodybuilder" +"bodybuilder@2.2.25","MIT","https://github.com/danpaz/bodybuilder" "bonjour@3.5.0","MIT","https://github.com/watson/bonjour" "boolbase@1.0.0","ISC","https://github.com/fb55/boolbase" "bootstrap-social@5.1.1","MIT","https://github.com/lipis/bootstrap-social" @@ -367,10 +384,10 @@ "browserify-aes@1.2.0","MIT","https://github.com/crypto-browserify/browserify-aes" "browserify-cipher@1.0.1","MIT","https://github.com/crypto-browserify/browserify-cipher" "browserify-des@1.0.2","MIT","https://github.com/crypto-browserify/browserify-des" -"browserify-rsa@4.0.1","MIT","https://github.com/crypto-browserify/browserify-rsa" -"browserify-sign@4.2.0","ISC","https://github.com/crypto-browserify/browserify-sign" +"browserify-rsa@4.1.0","MIT","https://github.com/crypto-browserify/browserify-rsa" +"browserify-sign@4.2.1","ISC","https://github.com/crypto-browserify/browserify-sign" "browserify-zlib@0.2.0","MIT","https://github.com/devongovett/browserify-zlib" -"browserslist@4.12.0","MIT","https://github.com/browserslist/browserslist" +"browserslist@4.16.0","MIT","https://github.com/browserslist/browserslist" "browserslist@4.7.0","MIT","https://github.com/browserslist/browserslist" "buffer-crc32@0.2.13","MIT","https://github.com/brianloveswords/buffer-crc32" "buffer-from@1.0.0","MIT","https://github.com/LinusU/buffer-from" @@ -382,33 +399,31 @@ "builtins@1.0.3","MIT","https://github.com/juliangruber/builtins" "bytes@3.0.0","MIT","https://github.com/visionmedia/bytes.js" "bytes@3.1.0","MIT","https://github.com/visionmedia/bytes.js" +"bytesish@0.4.4","(Apache-2.0 AND MIT)","https://github.com/mikeal/bytesish" "cacache@12.0.4","ISC","https://github.com/npm/cacache" -"cacache@15.0.0","ISC","https://github.com/npm/cacache" -"cacache@15.0.4","ISC","https://github.com/npm/cacache" +"cacache@15.0.5","ISC","https://github.com/npm/cacache" "cache-base@1.0.1","MIT","https://github.com/jonschlinkert/cache-base" "cachedir@2.3.0","MIT","https://github.com/LinusU/node-cachedir" +"call-bind@1.0.0","MIT","https://github.com/ljharb/call-bind" "caller-callsite@2.0.0","MIT","https://github.com/sindresorhus/caller-callsite" "caller-path@2.0.0","MIT","https://github.com/sindresorhus/caller-path" -"callsite@1.0.0","MIT*","" "callsites@2.0.0","MIT","https://github.com/sindresorhus/callsites" "camelcase@5.3.1","MIT","https://github.com/sindresorhus/camelcase" +"camelcase@6.2.0","MIT","https://github.com/sindresorhus/camelcase" "caniuse-api@3.0.0","MIT","https://github.com/nyalab/caniuse-api" "caniuse-lite@1.0.30000989","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" -"caniuse-lite@1.0.30001087","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" +"caniuse-lite@1.0.30001165","CC-BY-4.0","https://github.com/ben-eb/caniuse-lite" "canonical-path@1.0.0","MIT","https://github.com/petebacondarwin/node-canonical-path" "caseless@0.12.0","Apache-2.0","https://github.com/mikeal/caseless" "chalk@1.1.3","MIT","https://github.com/chalk/chalk" "chalk@2.3.0","MIT","https://github.com/chalk/chalk" "chalk@2.4.2","MIT","https://github.com/chalk/chalk" -"chalk@3.0.0","MIT","https://github.com/chalk/chalk" "chalk@4.1.0","MIT","https://github.com/chalk/chalk" "chardet@0.7.0","MIT","https://github.com/runk/node-chardet" "check-more-types@2.24.0","MIT","https://github.com/kensho/check-more-types" "chokidar@2.0.4","MIT","https://github.com/paulmillr/chokidar" "chokidar@2.1.8","MIT","https://github.com/paulmillr/chokidar" -"chokidar@3.1.1","MIT","https://github.com/paulmillr/chokidar" -"chokidar@3.4.0","MIT","https://github.com/paulmillr/chokidar" -"chokidar@3.4.2","MIT","https://github.com/paulmillr/chokidar" +"chokidar@3.4.3","MIT","https://github.com/paulmillr/chokidar" "chownr@1.1.4","ISC","https://github.com/isaacs/chownr" "chownr@2.0.0","ISC","https://github.com/isaacs/chownr" "chrome-trace-event@1.0.2","MIT","github.com:samccone/chrome-trace-event" @@ -420,27 +435,27 @@ "cli-cursor@1.0.2","MIT","https://github.com/sindresorhus/cli-cursor" "cli-cursor@2.1.0","MIT","https://github.com/sindresorhus/cli-cursor" "cli-cursor@3.1.0","MIT","https://github.com/sindresorhus/cli-cursor" -"cli-spinners@2.3.0","MIT","https://github.com/sindresorhus/cli-spinners" +"cli-spinners@2.5.0","MIT","https://github.com/sindresorhus/cli-spinners" "cli-table3@0.6.0","MIT","https://github.com/cli-table/cli-table3" "cli-truncate@0.2.1","MIT","https://github.com/sindresorhus/cli-truncate" -"cli-width@2.2.1","ISC","https://github.com/knownasilya/cli-width" +"cli-width@3.0.0","ISC","https://github.com/knownasilya/cli-width" "clipboard@2.0.6","MIT","https://github.com/zenorocha/clipboard.js" "cliui@5.0.0","ISC","https://github.com/yargs/cliui" "cliui@6.0.0","ISC","https://github.com/yargs/cliui" -"clone-deep@4.0.1","MIT","https://github.com/jonschlinkert/clone-deep" "clone@1.0.4","MIT","https://github.com/pvorb/node-clone" "clone@2.1.2","MIT","https://github.com/pvorb/node-clone" "co@4.6.0","MIT","https://github.com/tj/co" "coa@2.0.2","MIT","https://github.com/veged/coa" "code-point-at@1.1.0","MIT","https://github.com/sindresorhus/code-point-at" -"codelyzer@5.2.2","MIT","https://github.com/mgechev/codelyzer" +"codelyzer@6.0.1","MIT","https://github.com/mgechev/codelyzer" "collection-visit@1.0.0","MIT","https://github.com/jonschlinkert/collection-visit" "color-convert@1.9.1","MIT","https://github.com/Qix-/color-convert" "color-convert@2.0.1","MIT","https://github.com/Qix-/color-convert" "color-name@1.1.3","MIT","https://github.com/dfcreative/color-name" "color-name@1.1.4","MIT","https://github.com/colorjs/color-name" -"color-string@1.5.3","MIT","https://github.com/Qix-/color-string" -"color@3.1.2","MIT","https://github.com/Qix-/color" +"color-string@1.5.4","MIT","https://github.com/Qix-/color-string" +"color@3.1.3","MIT","https://github.com/Qix-/color" +"colorette@1.2.1","MIT","https://github.com/jorgebucaran/colorette" "colors@1.1.2","MIT","https://github.com/Marak/colors.js" "colors@1.4.0","MIT","https://github.com/Marak/colors.js" "combined-stream@1.0.7","MIT","https://github.com/felixge/node-combined-stream" @@ -451,11 +466,11 @@ "commander@4.1.1","MIT","https://github.com/tj/commander.js" "common-tags@1.8.0","MIT","https://github.com/declandewet/common-tags" "commondir@1.0.1","MIT","https://github.com/substack/node-commondir" -"compare-versions@3.5.1","MIT","https://github.com/omichelsen/compare-versions" "component-bind@1.0.0","MIT*","https://github.com/component/bind" "component-emitter@1.2.1","MIT","https://github.com/component/emitter" "component-emitter@1.3.0","MIT","https://github.com/component/emitter" "component-inherit@0.0.3","MIT*","https://github.com/component/inherit" +"compose-function@3.0.3","MIT","https://github.com/stoeffel/compose-function" "compressible@2.0.18","MIT","https://github.com/jshttp/compressible" "compression@1.7.4","MIT","https://github.com/expressjs/compression" "concat-map@0.0.1","MIT","https://github.com/substack/node-concat-map" @@ -467,21 +482,22 @@ "constants-browserify@1.0.0","MIT","https://github.com/juliangruber/constants-browserify" "content-disposition@0.5.3","MIT","https://github.com/jshttp/content-disposition" "content-type@1.0.4","MIT","https://github.com/jshttp/content-type" +"convert-source-map@0.3.5","MIT","https://github.com/thlorenz/convert-source-map" "convert-source-map@1.5.1","MIT","https://github.com/thlorenz/convert-source-map" "convert-source-map@1.7.0","MIT","https://github.com/thlorenz/convert-source-map" "cookie-signature@1.0.6","MIT","https://github.com/visionmedia/node-cookie-signature" -"cookie@0.3.1","MIT","https://github.com/jshttp/cookie" "cookie@0.4.0","MIT","https://github.com/jshttp/cookie" +"cookie@0.4.1","MIT","https://github.com/jshttp/cookie" "copy-concurrently@1.0.5","ISC","https://github.com/npm/copy-concurrently" "copy-descriptor@0.1.1","MIT","https://github.com/jonschlinkert/copy-descriptor" -"copy-webpack-plugin@6.0.2","MIT","https://github.com/webpack-contrib/copy-webpack-plugin" +"copy-webpack-plugin@6.0.3","MIT","https://github.com/webpack-contrib/copy-webpack-plugin" "core-js-compat@3.2.1","MIT","https://github.com/zloirock/core-js" -"core-js-compat@3.6.5","MIT","https://github.com/zloirock/core-js" +"core-js-compat@3.8.1","MIT","https://github.com/zloirock/core-js" "core-js@3.2.1","MIT","https://github.com/zloirock/core-js" "core-js@3.6.4","MIT","https://github.com/zloirock/core-js" "core-util-is@1.0.2","MIT","https://github.com/isaacs/core-util-is" "cosmiconfig@5.2.1","MIT","https://github.com/davidtheclark/cosmiconfig" -"create-ecdh@4.0.3","MIT","https://github.com/crypto-browserify/createECDH" +"create-ecdh@4.0.4","MIT","https://github.com/crypto-browserify/createECDH" "create-hash@1.2.0","MIT","https://github.com/crypto-browserify/createHash" "create-hmac@1.1.7","MIT","https://github.com/crypto-browserify/createHmac" "cross-spawn@6.0.5","MIT","https://github.com/moxystudio/node-cross-spawn" @@ -489,14 +505,14 @@ "crypto-browserify@3.12.0","MIT","https://github.com/crypto-browserify/crypto-browserify" "css-color-names@0.0.4","MIT","https://github.com/bahamas10/css-color-names" "css-declaration-sorter@4.0.1","MIT","https://github.com/Siilwyn/css-declaration-sorter" -"css-loader@3.5.1","MIT","https://github.com/webpack-contrib/css-loader" +"css-loader@4.2.2","MIT","https://github.com/webpack-contrib/css-loader" "css-parse@2.0.0","MIT","https://github.com/reworkcss/css-parse" "css-select-base-adapter@0.1.1","MIT","https://github.com/nrkn/css-select-base-adapter" "css-select@2.1.0","BSD-2-Clause","https://github.com/fb55/css-select" -"css-selector-tokenizer@0.7.2","MIT","https://github.com/css-modules/css-selector-tokenizer" +"css-selector-tokenizer@0.7.3","MIT","https://github.com/css-modules/css-selector-tokenizer" "css-tree@1.0.0-alpha.37","MIT","https://github.com/csstree/csstree" -"css-tree@1.0.0-alpha.39","MIT","https://github.com/csstree/csstree" -"css-what@3.3.0","BSD-2-Clause","https://github.com/fb55/css-what" +"css-tree@1.1.2","MIT","https://github.com/csstree/csstree" +"css-what@3.4.2","BSD-2-Clause","https://github.com/fb55/css-what" "css@2.2.4","MIT","https://github.com/reworkcss/css" "cssauron@1.4.0","MIT","https://github.com/chrisdickinson/cssauron" "cssesc@3.0.0","MIT","https://github.com/mathiasbynens/cssesc" @@ -506,32 +522,34 @@ "cssnano-util-raw-cache@4.0.1","MIT","https://github.com/cssnano/cssnano" "cssnano-util-same-parent@4.0.1","MIT","https://github.com/cssnano/cssnano" "cssnano@4.1.10","MIT","https://github.com/cssnano/cssnano" -"csso@4.0.3","MIT","https://github.com/css/csso" +"csso@4.2.0","MIT","https://github.com/css/csso" "custom-event@1.0.1","MIT","https://github.com/webmodules/custom-event" "cyclist@1.0.1","MIT","https://github.com/mafintosh/cyclist" "cypress@5.0.0","MIT","https://github.com/cypress-io/cypress" "cytoscape-dagre@2.2.2","MIT","https://github.com/cytoscape/cytoscape.js-dagre" "cytoscape-popper@1.0.4","MIT","https://github.com/cytoscape/cytoscape.js-popper" "cytoscape@3.10.1","MIT","https://github.com/cytoscape/cytoscape.js" +"d@1.0.1","ISC","https://github.com/medikoo/d" "dagre@0.8.4","MIT","https://github.com/dagrejs/dagre" "damerau-levenshtein@1.0.6","BSD-2-Clause","https://github.com/tad-lispy/node-damerau-levenshtein" "dashdash@1.14.1","MIT","https://github.com/trentm/node-dashdash" +"data-urls@2.0.0","MIT","https://github.com/jsdom/data-urls" "date-fns@1.30.1","MIT","https://github.com/date-fns/date-fns" "date-format@2.1.0","MIT","https://github.com/nomiddlename/date-format" "date-format@3.0.0","MIT","https://github.com/nomiddlename/date-format" "debug@2.6.9","MIT","https://github.com/visionmedia/debug" "debug@3.1.0","MIT","https://github.com/visionmedia/debug" "debug@3.2.6","MIT","https://github.com/visionmedia/debug" +"debug@3.2.7","MIT","https://github.com/visionmedia/debug" "debug@4.1.1","MIT","https://github.com/visionmedia/debug" -"debug@4.2.0","MIT","https://github.com/visionmedia/debug" +"debug@4.3.1","MIT","https://github.com/visionmedia/debug" "debuglog@1.0.1","MIT","https://github.com/sam-github/node-debuglog" "decamelize@1.2.0","MIT","https://github.com/sindresorhus/decamelize" -"decamelize@2.0.0","MIT","https://github.com/sindresorhus/decamelize" +"decamelize@4.0.0","MIT","https://github.com/sindresorhus/decamelize" "decode-uri-component@0.2.0","MIT","https://github.com/SamVerschueren/decode-uri-component" "dedent@0.7.0","MIT","https://github.com/dmnd/dedent" "deep-equal@1.1.1","MIT","https://github.com/substack/node-deep-equal" "default-gateway@4.2.0","BSD-2-Clause","https://github.com/silverwind/default-gateway" -"default-require-extensions@2.0.0","MIT","https://github.com/avajs/default-require-extensions" "defaults@1.0.3","MIT","https://github.com/tmpvar/defaults" "define-properties@1.1.3","MIT","https://github.com/ljharb/define-properties" "define-property@0.2.5","MIT","https://github.com/jonschlinkert/define-property" @@ -559,53 +577,58 @@ "dom-serializer@0.2.2","MIT","https://github.com/cheeriojs/dom-renderer" "domain-browser@1.2.0","MIT","https://github.com/bevry/domain-browser" "domelementtype@1.3.1","BSD-2-Clause","https://github.com/fb55/domelementtype" -"domelementtype@2.0.1","BSD-2-Clause","https://github.com/fb55/domelementtype" -"domino@2.1.5","BSD-2-Clause","https://github.com/fgnass/domino" +"domelementtype@2.1.0","BSD-2-Clause","https://github.com/fb55/domelementtype" +"domino@2.1.6","BSD-2-Clause","https://github.com/fgnass/domino" "dompurify@2.2.0","MPL-2.0 OR Apache-2.0","https://github.com/cure53/DOMPurify" "domutils@1.7.0","BSD-2-Clause","https://github.com/FB55/domutils" -"dot-prop@5.2.0","MIT","https://github.com/sindresorhus/dot-prop" +"dot-prop@5.3.0","MIT","https://github.com/sindresorhus/dot-prop" "duplexify@3.7.1","MIT","https://github.com/mafintosh/duplexify" "ecc-jsbn@0.1.2","MIT","https://github.com/quartzjer/ecc-jsbn" "ee-first@1.1.1","MIT","https://github.com/jonathanong/ee-first" -"elasticsearch-browser@15.0.0","Apache-2.0","https://github.com/elasticsearch/bower-elasticsearch-js" "electron-to-chromium@1.3.263","ISC","https://github.com/kilian/electron-to-chromium" -"electron-to-chromium@1.3.481","ISC","https://github.com/kilian/electron-to-chromium" +"electron-to-chromium@1.3.623","ISC","https://github.com/kilian/electron-to-chromium" "elegant-spinner@1.0.1","MIT","https://github.com/sindresorhus/elegant-spinner" "elliptic@6.5.3","MIT","https://github.com/indutny/elliptic" "emoji-regex@7.0.3","MIT","https://github.com/mathiasbynens/emoji-regex" "emoji-regex@8.0.0","MIT","https://github.com/mathiasbynens/emoji-regex" -"emoji-toolkit@5.5.1","(MIT)","https://github.com/joypixels/emoji-toolkit" +"emoji-toolkit@6.0.1","(MIT)","https://github.com/joypixels/emoji-toolkit" "emojis-list@2.1.0","MIT","https://github.com/kikobeats/emojis-list" "emojis-list@3.0.0","MIT","https://github.com/kikobeats/emojis-list" "encodeurl@1.0.2","MIT","https://github.com/pillarjs/encodeurl" -"encoding@0.1.12","MIT","https://github.com/andris9/encoding" +"encoding@0.1.13","MIT","https://github.com/andris9/encoding" "end-of-stream@1.4.1","MIT","https://github.com/mafintosh/end-of-stream" -"engine.io-client@3.4.3","MIT","https://github.com/socketio/engine.io-client" -"engine.io-parser@2.2.0","MIT","https://github.com/socketio/engine.io-parser" -"engine.io@3.4.2","MIT","https://github.com/socketio/engine.io" +"engine.io-client@3.5.0","MIT","https://github.com/socketio/engine.io-client" +"engine.io-parser@2.2.1","MIT","https://github.com/socketio/engine.io-parser" +"engine.io@3.5.0","MIT","https://github.com/socketio/engine.io" "enhanced-resolve@4.1.0","MIT","https://github.com/webpack/enhanced-resolve" -"enhanced-resolve@4.1.1","MIT","https://github.com/webpack/enhanced-resolve" +"enhanced-resolve@4.3.0","MIT","https://github.com/webpack/enhanced-resolve" "ent@2.2.0","MIT","https://github.com/substack/node-ent" -"entities@2.0.3","BSD-2-Clause","https://github.com/fb55/entities" +"entities@2.1.0","BSD-2-Clause","https://github.com/fb55/entities" "err-code@1.1.2","MIT","https://github.com/IndigoUnited/js-err-code" "errno@0.1.7","MIT","https://github.com/rvagg/node-errno" "error-ex@1.3.1","MIT","https://github.com/qix-/node-error-ex" -"es-abstract@1.17.6","MIT","https://github.com/ljharb/es-abstract" +"es-abstract@1.17.7","MIT","https://github.com/ljharb/es-abstract" +"es-abstract@1.18.0-next.1","MIT","https://github.com/ljharb/es-abstract" "es-to-primitive@1.2.1","MIT","https://github.com/ljharb/es-to-primitive" +"es5-ext@0.10.53","ISC","https://github.com/medikoo/es5-ext" +"es6-iterator@2.0.3","MIT","https://github.com/medikoo/es6-iterator" "es6-promise@4.2.8","MIT","https://github.com/stefanpenner/es6-promise" "es6-promisify@5.0.0","MIT","https://github.com/digitaldesignlabs/es6-promisify" +"es6-symbol@3.1.3","ISC","https://github.com/medikoo/es6-symbol" +"escalade@3.1.1","MIT","https://github.com/lukeed/escalade" "escape-html@1.0.3","MIT","https://github.com/component/escape-html" "escape-string-regexp@1.0.5","MIT","https://github.com/sindresorhus/escape-string-regexp" "eslint-scope@4.0.3","BSD-2-Clause","https://github.com/eslint/eslint-scope" "esprima@4.0.1","BSD-2-Clause","https://github.com/jquery/esprima" -"esquery@1.0.1","BSD-3-Clause","https://github.com/jrfeenst/esquery" -"esrecurse@4.2.1","BSD-2-Clause","https://github.com/estools/esrecurse" +"esquery@1.3.1","BSD-3-Clause","https://github.com/estools/esquery" +"esrecurse@4.3.0","BSD-2-Clause","https://github.com/estools/esrecurse" "estraverse@4.3.0","BSD-2-Clause","https://github.com/estools/estraverse" +"estraverse@5.2.0","BSD-2-Clause","https://github.com/estools/estraverse" "esutils@2.0.2","BSD","https://github.com/estools/esutils" "etag@1.8.1","MIT","https://github.com/jshttp/etag" "eventemitter2@6.4.3","MIT","https://github.com/hij1nx/EventEmitter2" "eventemitter3@4.0.0","MIT","https://github.com/primus/eventemitter3" -"events@3.1.0","MIT","https://github.com/Gozala/events" +"events@3.2.0","MIT","https://github.com/Gozala/events" "eventsource@1.0.7","MIT","https://github.com/EventSource/eventsource" "evp_bytestokey@1.0.3","MIT","https://github.com/crypto-browserify/EVP_BytesToKey" "execa@1.0.0","MIT","https://github.com/sindresorhus/execa" @@ -615,6 +638,7 @@ "exit-hook@1.1.1","MIT","https://github.com/sindresorhus/exit-hook" "expand-brackets@2.1.4","MIT","https://github.com/jonschlinkert/expand-brackets" "express@4.17.1","MIT","https://github.com/expressjs/express" +"ext@1.4.0","ISC","https://github.com/medikoo/es5-ext/tree/ext" "extend-shallow@2.0.1","MIT","https://github.com/jonschlinkert/extend-shallow" "extend-shallow@3.0.2","MIT","https://github.com/jonschlinkert/extend-shallow" "extend@3.0.2","MIT","https://github.com/justmoon/node-extend" @@ -640,13 +664,11 @@ "figures@3.2.0","MIT","https://github.com/sindresorhus/figures" "file-loader@6.0.0","MIT","https://github.com/webpack-contrib/file-loader" "file-uri-to-path@1.0.0","MIT","https://github.com/TooTallNate/file-uri-to-path" -"fileset@2.0.3","MIT","https://github.com/mklabs/node-fileset" "fill-range@4.0.0","MIT","https://github.com/jonschlinkert/fill-range" "fill-range@7.0.1","MIT","https://github.com/jonschlinkert/fill-range" "finalhandler@1.1.2","MIT","https://github.com/pillarjs/finalhandler" "find-cache-dir@2.1.0","MIT","https://github.com/avajs/find-cache-dir" "find-cache-dir@3.3.1","MIT","https://github.com/avajs/find-cache-dir" -"find-up@2.1.0","MIT","https://github.com/sindresorhus/find-up" "find-up@3.0.0","MIT","https://github.com/sindresorhus/find-up" "find-up@4.1.0","MIT","https://github.com/sindresorhus/find-up" "flatted@2.0.2","ISC","https://github.com/WebReflection/flatted" @@ -668,13 +690,13 @@ "fs-write-stream-atomic@1.0.10","ISC","https://github.com/npm/fs-write-stream-atomic" "fs.realpath@1.0.0","ISC","https://github.com/isaacs/fs.realpath" "fsevents@1.2.13","MIT","https://github.com/strongloop/fsevents" -"fsevents@2.0.7","MIT","https://github.com/fsevents/fsevents" "fsevents@2.1.3","MIT","https://github.com/fsevents/fsevents" "function-bind@1.1.1","MIT","https://github.com/Raynos/function-bind" "gauge@2.7.4","ISC","https://github.com/iarna/gauge" "genfun@5.0.0","MIT","https://github.com/zkat/genfun" -"gensync@1.0.0-beta.1","MIT","" +"gensync@1.0.0-beta.2","MIT","https://github.com/loganfsmyth/gensync" "get-caller-file@2.0.5","ISC","https://github.com/stefanpenner/get-caller-file" +"get-intrinsic@1.0.1","MIT","https://github.com/ljharb/get-intrinsic" "get-own-enumerable-property-symbols@3.0.0","ISC","https://github.com/mightyiam/get-own-enumerable-property-symbols" "get-stdin@7.0.0","MIT","https://github.com/sindresorhus/get-stdin" "get-stream@4.1.0","MIT","https://github.com/sindresorhus/get-stream" @@ -701,7 +723,6 @@ "graceful-fs@4.2.4","ISC","https://github.com/isaacs/node-graceful-fs" "graphlib@2.1.7","MIT","https://github.com/dagrejs/graphlib" "handle-thing@2.0.1","MIT","https://github.com/indutny/handle-thing" -"handlebars@4.7.6","MIT","https://github.com/wycats/handlebars.js" "har-schema@2.0.0","ISC","https://github.com/ahmadnassri/har-schema" "har-validator@5.1.0","ISC","https://github.com/ahmadnassri/har-validator" "har-validator@5.1.5","MIT","https://github.com/ahmadnassri/node-har-validator" @@ -725,12 +746,13 @@ "hex-color-regex@1.1.0","MIT","https://github.com/regexps/hex-color-regex" "hmac-drbg@1.0.1","MIT","https://github.com/indutny/hmac-drbg" "hosted-git-info@2.6.0","ISC","https://github.com/npm/hosted-git-info" -"hosted-git-info@3.0.4","ISC","https://github.com/npm/hosted-git-info" +"hosted-git-info@3.0.7","ISC","https://github.com/npm/hosted-git-info" "hpack.js@2.1.6","MIT","https://github.com/indutny/hpack.js" "hsl-regex@1.0.0","MIT","https://github.com/regexps/hsl-regex" "hsla-regex@1.0.0","MIT","https://github.com/regexps/hsla-regex" "html-comment-regex@1.1.2","MIT","https://github.com/stevemao/html-comment-regex" "html-entities@1.3.1","MIT","https://github.com/mdevils/node-html-entities" +"html-escaper@2.0.2","MIT","https://github.com/WebReflection/html-escaper" "http-cache-semantics@3.8.1","BSD-2-Clause","https://github.com/pornel/http-cache-semantics" "http-deceiver@1.2.7","MIT","https://github.com/indutny/http-deceiver" "http-errors@1.6.3","MIT","https://github.com/jshttp/http-errors" @@ -745,8 +767,9 @@ "humanize-ms@1.2.1","MIT","https://github.com/node-modules/humanize-ms" "husky@3.0.5","MIT","https://github.com/typicode/husky" "iconv-lite@0.4.24","MIT","https://github.com/ashtuchkin/iconv-lite" +"iconv-lite@0.6.2","MIT","https://github.com/ashtuchkin/iconv-lite" "icss-utils@4.1.1","ISC","https://github.com/css-modules/icss-utils" -"ieee754@1.1.13","BSD-3-Clause","https://github.com/feross/ieee754" +"ieee754@1.2.1","BSD-3-Clause","https://github.com/feross/ieee754" "iferr@0.1.5","MIT","https://github.com/shesek/iferr" "ignore-walk@3.0.3","ISC","https://github.com/isaacs/ignore-walk" "ignore@5.1.4","MIT","https://github.com/kaelzhang/node-ignore" @@ -766,10 +789,9 @@ "inherits@2.0.3","ISC","https://github.com/isaacs/inherits" "inherits@2.0.4","ISC","https://github.com/isaacs/inherits" "ini@1.3.5","ISC","https://github.com/isaacs/ini" -"inquirer@7.1.0","MIT","https://github.com/SBoudrias/Inquirer.js" +"inquirer@7.3.3","MIT","https://github.com/SBoudrias/Inquirer.js" "internal-ip@4.3.0","MIT","https://github.com/sindresorhus/internal-ip" "invariant@2.2.2","BSD-3-Clause","https://github.com/zertosh/invariant" -"invariant@2.2.4","MIT","https://github.com/zertosh/invariant" "ip-regex@2.1.0","MIT","https://github.com/sindresorhus/ip-regex" "ip@1.1.5","MIT","https://github.com/indutny/node-ip" "ipaddr.js@1.9.1","MIT","https://github.com/whitequark/ipaddr.js" @@ -777,23 +799,24 @@ "is-absolute-url@3.0.3","MIT","https://github.com/sindresorhus/is-absolute-url" "is-accessor-descriptor@0.1.6","MIT","https://github.com/jonschlinkert/is-accessor-descriptor" "is-accessor-descriptor@1.0.0","MIT","https://github.com/jonschlinkert/is-accessor-descriptor" -"is-arguments@1.0.4","MIT","https://github.com/ljharb/is-arguments" +"is-arguments@1.1.0","MIT","https://github.com/inspect-js/is-arguments" "is-arrayish@0.2.1","MIT","https://github.com/qix-/node-is-arrayish" "is-arrayish@0.3.2","MIT","https://github.com/qix-/node-is-arrayish" "is-binary-path@1.0.1","MIT","https://github.com/sindresorhus/is-binary-path" "is-binary-path@2.1.0","MIT","https://github.com/sindresorhus/is-binary-path" "is-buffer@1.1.6","MIT","https://github.com/feross/is-buffer" "is-builtin-module@1.0.0","MIT","https://github.com/sindresorhus/is-builtin-module" -"is-callable@1.2.0","MIT","https://github.com/ljharb/is-callable" +"is-callable@1.2.2","MIT","https://github.com/ljharb/is-callable" "is-ci@2.0.0","MIT","https://github.com/watson/is-ci" "is-color-stop@1.1.0","MIT","https://github.com/pigcan/is-color-stop" +"is-core-module@2.2.0","MIT","https://github.com/inspect-js/is-core-module" "is-data-descriptor@0.1.4","MIT","https://github.com/jonschlinkert/is-data-descriptor" "is-data-descriptor@1.0.0","MIT","https://github.com/jonschlinkert/is-data-descriptor" "is-date-object@1.0.2","MIT","https://github.com/ljharb/is-date-object" "is-descriptor@0.1.6","MIT","https://github.com/jonschlinkert/is-descriptor" "is-descriptor@1.0.2","MIT","https://github.com/jonschlinkert/is-descriptor" "is-directory@0.3.1","MIT","https://github.com/jonschlinkert/is-directory" -"is-docker@2.0.0","MIT","https://github.com/sindresorhus/is-docker" +"is-docker@2.1.1","MIT","https://github.com/sindresorhus/is-docker" "is-extendable@0.1.1","MIT","https://github.com/jonschlinkert/is-extendable" "is-extendable@1.0.1","MIT","https://github.com/jonschlinkert/is-extendable" "is-extglob@2.1.1","MIT","https://github.com/jonschlinkert/is-extglob" @@ -804,6 +827,7 @@ "is-glob@4.0.1","MIT","https://github.com/micromatch/is-glob" "is-installed-globally@0.3.2","MIT","https://github.com/sindresorhus/is-installed-globally" "is-interactive@1.0.0","MIT","https://github.com/sindresorhus/is-interactive" +"is-negative-zero@2.0.1","MIT","https://github.com/inspect-js/is-negative-zero" "is-number@3.0.0","MIT","https://github.com/jonschlinkert/is-number" "is-number@4.0.0","MIT","https://github.com/jonschlinkert/is-number" "is-number@7.0.0","MIT","https://github.com/jonschlinkert/is-number" @@ -818,7 +842,7 @@ "is-plain-obj@1.1.0","MIT","https://github.com/sindresorhus/is-plain-obj" "is-plain-object@2.0.4","MIT","https://github.com/jonschlinkert/is-plain-object" "is-promise@2.1.0","MIT","https://github.com/then/is-promise" -"is-regex@1.1.0","MIT","https://github.com/ljharb/is-regex" +"is-regex@1.1.1","MIT","https://github.com/ljharb/is-regex" "is-regexp@1.0.0","MIT","https://github.com/sindresorhus/is-regexp" "is-resolvable@1.1.0","ISC","https://github.com/shinnn/is-resolvable" "is-stream@1.1.0","MIT","https://github.com/sindresorhus/is-stream" @@ -836,19 +860,16 @@ "isobject@2.1.0","MIT","https://github.com/jonschlinkert/isobject" "isobject@3.0.1","MIT","https://github.com/jonschlinkert/isobject" "isstream@0.1.2","MIT","https://github.com/rvagg/isstream" -"istanbul-api@2.1.6","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-coverage@2.0.5","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-coverage@3.0.0","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" -"istanbul-lib-hook@2.0.7","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" -"istanbul-lib-instrument@3.3.0","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-instrument@4.0.3","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" -"istanbul-lib-report@2.0.8","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" +"istanbul-lib-report@3.0.0","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "istanbul-lib-source-maps@3.0.6","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" -"istanbul-reports@2.2.6","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" +"istanbul-reports@3.0.2","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs" "jasmine-core@3.5.0","MIT","https://github.com/jasmine/jasmine" -"jasmine-spec-reporter@4.2.1","Apache-2.0","https://github.com/bcaudan/jasmine-spec-reporter" -"jest-worker@25.1.0","MIT","https://github.com/facebook/jest" -"jest-worker@26.1.0","MIT","https://github.com/facebook/jest" +"jasmine-core@3.6.0","MIT","https://github.com/jasmine/jasmine" +"jasmine-spec-reporter@5.0.2","Apache-2.0","https://github.com/bcaudan/jasmine-spec-reporter" +"jest-worker@26.3.0","MIT","https://github.com/facebook/jest" "jquery@3.5.1","MIT","https://github.com/jquery/jquery" "js-levenshtein@1.1.6","MIT","https://github.com/gustf/js-levenshtein" "js-tokens@3.0.2","MIT","https://github.com/lydell/js-tokens" @@ -867,31 +888,34 @@ "json5@1.0.1","MIT","https://github.com/json5/json5" "json5@2.1.0","MIT","https://github.com/json5/json5" "json5@2.1.3","MIT","https://github.com/json5/json5" +"jsonc-parser@2.3.0","MIT","https://github.com/microsoft/node-jsonc-parser" "jsonfile@4.0.0","MIT","https://github.com/jprichardson/node-jsonfile" "jsonfile@6.0.1","MIT","https://github.com/jprichardson/node-jsonfile" "jsonparse@1.3.1","MIT","https://github.com/creationix/jsonparse" "jsprim@1.4.1","MIT","https://github.com/joyent/node-jsprim" "karma-chrome-launcher@3.1.0","MIT","https://github.com/karma-runner/karma-chrome-launcher" -"karma-coverage-istanbul-reporter@2.1.0","MIT","https://github.com/mattlewis92/karma-coverage-istanbul-reporter" -"karma-jasmine-html-reporter@1.4.2","MIT","https://github.com/dfederm/karma-jasmine-html-reporter" -"karma-jasmine@2.0.1","MIT","https://github.com/karma-runner/karma-jasmine" +"karma-coverage-istanbul-reporter@3.0.3","MIT","https://github.com/mattlewis92/karma-coverage-istanbul-reporter" +"karma-jasmine-html-reporter@1.5.4","MIT","https://github.com/dfederm/karma-jasmine-html-reporter" +"karma-jasmine@4.0.1","MIT","https://github.com/karma-runner/karma-jasmine" "karma-source-map-support@1.4.0","MIT","https://github.com/tschaub/karma-source-map-support" "karma-spec-reporter@0.0.32","MIT","https://github.com/mlex/karma-spec-reporter" -"karma@5.2.2","MIT","https://github.com/karma-runner/karma" -"katex@0.11.1","MIT","https://github.com/KaTeX/KaTeX" +"karma@5.0.9","MIT","https://github.com/karma-runner/karma" +"katex@0.12.0","MIT","https://github.com/KaTeX/KaTeX" "killable@1.0.1","ISC","https://github.com/marten-de-vries/killable" "kind-of@3.2.2","MIT","https://github.com/jonschlinkert/kind-of" "kind-of@4.0.0","MIT","https://github.com/jonschlinkert/kind-of" "kind-of@5.1.0","MIT","https://github.com/jonschlinkert/kind-of" "kind-of@6.0.2","MIT","https://github.com/jonschlinkert/kind-of" "kind-of@6.0.3","MIT","https://github.com/jonschlinkert/kind-of" +"kleur@3.0.3","MIT","https://github.com/lukeed/kleur" +"klona@2.0.4","MIT","https://github.com/lukeed/klona" "lazy-ass@1.6.0","MIT","https://github.com/bahmutov/lazy-ass" -"less-loader@5.0.0","MIT","https://github.com/webpack-contrib/less-loader" -"less@3.11.3","Apache-2.0","https://github.com/less/less.js" +"less-loader@6.2.0","MIT","https://github.com/webpack-contrib/less-loader" +"less@3.12.2","Apache-2.0","https://github.com/less/less.js" "leven@3.1.0","MIT","https://github.com/sindresorhus/leven" "levenary@1.1.1","MIT","https://github.com/tanhauhau/levenary" "license-checker@25.0.1","BSD-3-Clause","https://github.com/davglass/license-checker" -"license-webpack-plugin@2.1.4","ISC","https://github.com/xz64/license-webpack-plugin" +"license-webpack-plugin@2.3.0","ISC","https://github.com/xz64/license-webpack-plugin" "lines-and-columns@1.1.6","MIT","https://github.com/eventualbuddha/lines-and-columns" "lint-staged@9.4.0","MIT","https://github.com/okonet/lint-staged" "listr-silent-renderer@1.1.1","MIT","https://github.com/SamVerschueren/listr-silent-renderer" @@ -900,15 +924,16 @@ "listr@0.14.3","MIT","https://github.com/SamVerschueren/listr" "loader-runner@2.4.0","MIT","https://github.com/webpack/loader-runner" "loader-utils@1.1.0","MIT","https://github.com/webpack/loader-utils" +"loader-utils@1.2.3","MIT","https://github.com/webpack/loader-utils" "loader-utils@1.4.0","MIT","https://github.com/webpack/loader-utils" "loader-utils@2.0.0","MIT","https://github.com/webpack/loader-utils" -"locate-path@2.0.0","MIT","https://github.com/sindresorhus/locate-path" "locate-path@3.0.0","MIT","https://github.com/sindresorhus/locate-path" "locate-path@5.0.0","MIT","https://github.com/sindresorhus/locate-path" "lodash.clonedeep@4.5.0","MIT","https://github.com/lodash/lodash" "lodash.debounce@4.0.8","MIT","https://github.com/lodash/lodash" "lodash.memoize@4.1.2","MIT","https://github.com/lodash/lodash" "lodash.once@4.1.1","MIT","https://github.com/lodash/lodash" +"lodash.sortby@4.7.0","MIT","https://github.com/lodash/lodash" "lodash.uniq@4.5.0","MIT","https://github.com/lodash/lodash" "lodash@4.17.20","MIT","https://github.com/lodash/lodash" "log-symbols@1.0.2","MIT","https://github.com/sindresorhus/log-symbols" @@ -916,22 +941,22 @@ "log-symbols@4.0.0","MIT","https://github.com/sindresorhus/log-symbols" "log-update@2.3.0","MIT","https://github.com/sindresorhus/log-update" "log4js@6.3.0","Apache-2.0","https://github.com/log4js-node/log4js-node" -"loglevel@1.6.8","MIT","https://github.com/pimterry/loglevel" +"loglevel@1.7.1","MIT","https://github.com/pimterry/loglevel" "loose-envify@1.3.1","MIT","https://github.com/zertosh/loose-envify" "lru-cache@5.1.1","ISC","https://github.com/isaacs/node-lru-cache" +"lru-cache@6.0.0","ISC","https://github.com/isaacs/node-lru-cache" "magic-string@0.25.7","MIT","https://github.com/rich-harris/magic-string" "make-dir@2.1.0","MIT","https://github.com/sindresorhus/make-dir" "make-dir@3.1.0","MIT","https://github.com/sindresorhus/make-dir" "make-error@1.3.5","ISC","https://github.com/JsCommunity/make-error" "make-fetch-happen@5.0.2","ISC","https://github.com/zkat/make-fetch-happen" -"mamacro@0.0.3","MIT","" "map-cache@0.2.2","MIT","https://github.com/jonschlinkert/map-cache" "map-visit@1.0.0","MIT","https://github.com/jonschlinkert/map-visit" -"marked@1.1.0","MIT","https://github.com/markedjs/marked" +"marked@1.2.6","MIT","https://github.com/markedjs/marked" "material-design-icons-iconfont@6.1.0","Apache-2.0","https://github.com/jossef/material-design-icons-iconfont" "md5.js@1.3.5","MIT","https://github.com/crypto-browserify/md5.js" +"mdn-data@2.0.14","CC0-1.0","https://github.com/mdn/data" "mdn-data@2.0.4","CC0-1.0","https://github.com/mdn/data" -"mdn-data@2.0.6","CC0-1.0","https://github.com/mdn/data" "media-typer@0.3.0","MIT","https://github.com/jshttp/media-typer" "memory-fs@0.4.1","MIT","https://github.com/webpack/memory-fs" "memory-fs@0.5.0","MIT","https://github.com/webpack/memory-fs" @@ -946,7 +971,7 @@ "mime-db@1.33.0","MIT","https://github.com/jshttp/mime-db" "mime-db@1.37.0","MIT","https://github.com/jshttp/mime-db" "mime-db@1.40.0","MIT","https://github.com/jshttp/mime-db" -"mime-db@1.44.0","MIT","https://github.com/jshttp/mime-db" +"mime-db@1.45.0","MIT","https://github.com/jshttp/mime-db" "mime-types@2.1.18","MIT","https://github.com/jshttp/mime-types" "mime-types@2.1.21","MIT","https://github.com/jshttp/mime-types" "mime-types@2.1.24","MIT","https://github.com/jshttp/mime-types" @@ -954,18 +979,18 @@ "mime@2.4.6","MIT","https://github.com/broofa/mime" "mimic-fn@1.2.0","MIT","https://github.com/sindresorhus/mimic-fn" "mimic-fn@2.1.0","MIT","https://github.com/sindresorhus/mimic-fn" -"mini-css-extract-plugin@0.9.0","MIT","https://github.com/webpack-contrib/mini-css-extract-plugin" +"mini-css-extract-plugin@0.10.0","MIT","https://github.com/webpack-contrib/mini-css-extract-plugin" "minimalistic-assert@1.0.1","ISC","https://github.com/calvinmetcalf/minimalistic-assert" "minimalistic-crypto-utils@1.0.1","MIT","https://github.com/indutny/minimalistic-crypto-utils" "minimatch@3.0.4","ISC","https://github.com/isaacs/minimatch" "minimist@1.2.5","MIT","https://github.com/substack/minimist" "minipass-collect@1.0.2","ISC","" "minipass-flush@1.0.5","ISC","https://github.com/isaacs/minipass-flush" -"minipass-pipeline@1.2.3","ISC","" +"minipass-pipeline@1.2.4","ISC","" "minipass@2.9.0","ISC","https://github.com/isaacs/minipass" "minipass@3.1.3","ISC","https://github.com/isaacs/minipass" "minizlib@1.3.3","MIT","https://github.com/isaacs/minizlib" -"minizlib@2.1.0","MIT","https://github.com/isaacs/minizlib" +"minizlib@2.1.2","MIT","https://github.com/isaacs/minizlib" "mississippi@3.0.0","BSD-2-Clause","https://github.com/maxogden/mississippi" "mixin-deep@1.3.2","MIT","https://github.com/jonschlinkert/mixin-deep" "mkdirp@0.5.5","MIT","https://github.com/substack/node-mkdirp" @@ -975,26 +1000,28 @@ "ms@2.0.0","MIT","https://github.com/zeit/ms" "ms@2.1.1","MIT","https://github.com/zeit/ms" "ms@2.1.2","MIT","https://github.com/zeit/ms" +"ms@2.1.3","MIT","https://github.com/vercel/ms" "multicast-dns-service-types@1.1.0","MIT","https://github.com/mafintosh/multicast-dns-service-types" "multicast-dns@6.2.3","MIT","https://github.com/mafintosh/multicast-dns" "mute-stream@0.0.8","ISC","https://github.com/isaacs/mute-stream" "nan@2.14.1","MIT","https://github.com/nodejs/nan" "nanomatch@1.2.9","MIT","https://github.com/micromatch/nanomatch" +"native-request@1.0.8","MIT","https://github.com/ZaralDev/native-request" "negotiator@0.6.1","MIT","https://github.com/jshttp/negotiator" "negotiator@0.6.2","MIT","https://github.com/jshttp/negotiator" "neo-async@2.6.0","MIT","https://github.com/suguru03/neo-async" -"neo-async@2.6.1","MIT","https://github.com/suguru03/neo-async" +"neo-async@2.6.2","MIT","https://github.com/suguru03/neo-async" +"next-tick@1.0.0","MIT","https://github.com/medikoo/next-tick" "ng2-ui-auth@10.0.1","UNKNOWN","" -"ngx-clipboard@13.0.1","MIT","https://github.com/maxisam/ngx-clipboard" -"ngx-markdown@9.1.1","MIT","https://github.com/jfcere/ngx-markdown" +"ngx-markdown@10.1.1","MIT","https://github.com/jfcere/ngx-markdown" "ngx-sharebuttons@8.0.0","MIT","https://github.com/murhafsousli/ngx-sharebuttons" -"ngx-window-token@3.0.0","MIT","https://github.com/maxisam/ngx-window-token" +"ngx-window-token@4.0.0","MIT","https://github.com/maxisam/ngx-window-token" "nice-try@1.0.5","MIT","https://github.com/electerious/nice-try" "node-fetch-npm@2.0.4","MIT","https://github.com/npm/node-fetch-npm" -"node-forge@0.9.0","(BSD-3-Clause OR GPL-2.0)","https://github.com/digitalbazaar/forge" +"node-forge@0.10.0","(BSD-3-Clause OR GPL-2.0)","https://github.com/digitalbazaar/forge" "node-libs-browser@2.2.1","MIT","https://github.com/webpack/node-libs-browser" "node-releases@1.1.32","MIT","https://github.com/chicoxyzzy/node-releases" -"node-releases@1.1.58","MIT","https://github.com/chicoxyzzy/node-releases" +"node-releases@1.1.67","MIT","https://github.com/chicoxyzzy/node-releases" "nopt@4.0.3","ISC","https://github.com/npm/nopt" "normalize-package-data@2.4.0","BSD-2-Clause","https://github.com/npm/normalize-package-data" "normalize-package-data@2.5.0","BSD-2-Clause","https://github.com/npm/normalize-package-data" @@ -1008,9 +1035,10 @@ "npm-normalize-package-bin@1.0.1","ISC","https://github.com/npm/npm-normalize-package-bin" "npm-package-arg@6.1.0","ISC","https://github.com/npm/npm-package-arg" "npm-package-arg@8.0.1","ISC","https://github.com/npm/npm-package-arg" +"npm-package-arg@8.1.0","ISC","https://github.com/npm/npm-package-arg" "npm-packlist@1.4.8","ISC","https://github.com/npm/npm-packlist" "npm-pick-manifest@3.0.2","ISC","https://github.com/npm/npm-pick-manifest" -"npm-pick-manifest@6.0.0","ISC","https://github.com/npm/npm-pick-manifest" +"npm-pick-manifest@6.1.0","ISC","https://github.com/npm/npm-pick-manifest" "npm-registry-client@8.6.0","ISC","https://github.com/npm/npm-registry-client" "npm-registry-fetch@4.0.7","ISC","https://github.com/npm/registry-fetch" "npm-run-path@2.0.2","MIT","https://github.com/sindresorhus/npm-run-path" @@ -1022,16 +1050,16 @@ "number-is-nan@1.0.1","MIT","https://github.com/sindresorhus/number-is-nan" "oauth-sign@0.9.0","Apache-2.0","https://github.com/mikeal/oauth-sign" "object-assign@4.1.1","MIT","https://github.com/sindresorhus/object-assign" -"object-component@0.0.3","MIT*","" "object-copy@0.1.0","MIT","https://github.com/jonschlinkert/object-copy" -"object-inspect@1.8.0","MIT","https://github.com/inspect-js/object-inspect" -"object-is@1.1.2","MIT","https://github.com/es-shims/object-is" +"object-inspect@1.9.0","MIT","https://github.com/inspect-js/object-inspect" +"object-is@1.1.4","MIT","https://github.com/es-shims/object-is" "object-keys@1.1.1","MIT","https://github.com/ljharb/object-keys" "object-visit@1.0.1","MIT","https://github.com/jonschlinkert/object-visit" "object.assign@4.1.0","MIT","https://github.com/ljharb/object.assign" -"object.getownpropertydescriptors@2.1.0","MIT","https://github.com/es-shims/object.getownpropertydescriptors" +"object.assign@4.1.2","MIT","https://github.com/ljharb/object.assign" +"object.getownpropertydescriptors@2.1.1","MIT","https://github.com/es-shims/object.getownpropertydescriptors" "object.pick@1.3.0","MIT","https://github.com/jonschlinkert/object.pick" -"object.values@1.1.1","MIT","https://github.com/es-shims/Object.values" +"object.values@1.1.2","MIT","https://github.com/es-shims/Object.values" "obuf@1.1.2","MIT","https://github.com/indutny/offset-buffer" "on-finished@2.3.0","MIT","https://github.com/jshttp/on-finished" "on-headers@1.0.2","MIT","https://github.com/jshttp/on-headers" @@ -1039,10 +1067,10 @@ "onetime@1.1.0","MIT","https://github.com/sindresorhus/onetime" "onetime@2.0.1","MIT","https://github.com/sindresorhus/onetime" "onetime@5.1.0","MIT","https://github.com/sindresorhus/onetime" -"open@7.0.3","MIT","https://github.com/sindresorhus/open" +"open@7.2.0","MIT","https://github.com/sindresorhus/open" "opencollective-postinstall@2.0.2","MIT","https://github.com/opencollective/opencollective-postinstall" "opn@5.5.0","MIT","https://github.com/sindresorhus/opn" -"ora@4.0.3","MIT","https://github.com/sindresorhus/ora" +"ora@5.0.0","MIT","https://github.com/sindresorhus/ora" "original@1.0.2","MIT","https://github.com/unshiftio/original" "os-browserify@0.3.0","MIT","https://github.com/CoderPuppy/os-browserify" "os-homedir@1.0.2","MIT","https://github.com/sindresorhus/os-homedir" @@ -1051,29 +1079,27 @@ "ospath@1.2.2","MIT","https://github.com/jprichardson/ospath" "p-finally@1.0.0","MIT","https://github.com/sindresorhus/p-finally" "p-finally@2.0.1","MIT","https://github.com/sindresorhus/p-finally" -"p-limit@1.3.0","MIT","https://github.com/sindresorhus/p-limit" "p-limit@2.2.1","MIT","https://github.com/sindresorhus/p-limit" -"p-limit@2.3.0","MIT","https://github.com/sindresorhus/p-limit" -"p-locate@2.0.0","MIT","https://github.com/sindresorhus/p-locate" +"p-limit@3.1.0","MIT","https://github.com/sindresorhus/p-limit" "p-locate@3.0.0","MIT","https://github.com/sindresorhus/p-locate" "p-locate@4.1.0","MIT","https://github.com/sindresorhus/p-locate" "p-map@2.1.0","MIT","https://github.com/sindresorhus/p-map" "p-map@3.0.0","MIT","https://github.com/sindresorhus/p-map" "p-map@4.0.0","MIT","https://github.com/sindresorhus/p-map" "p-retry@3.0.1","MIT","https://github.com/sindresorhus/p-retry" -"p-try@1.0.0","MIT","https://github.com/sindresorhus/p-try" "p-try@2.2.0","MIT","https://github.com/sindresorhus/p-try" "pacote@9.5.12","MIT","https://github.com/npm/pacote" -"pako@1.0.6","(MIT AND Zlib)","https://github.com/nodeca/pako" +"pako@1.0.11","(MIT AND Zlib)","https://github.com/nodeca/pako" "parallel-transform@1.2.0","MIT","https://github.com/mafintosh/parallel-transform" -"parse-asn1@5.1.5","ISC","https://github.com/crypto-browserify/parse-asn1" +"parse-asn1@5.1.6","ISC","https://github.com/crypto-browserify/parse-asn1" "parse-json@4.0.0","MIT","https://github.com/sindresorhus/parse-json" "parse-json@5.0.0","MIT","https://github.com/sindresorhus/parse-json" -"parse5@4.0.0","MIT","https://github.com/inikulin/parse5" +"parse5-htmlparser2-tree-adapter@6.0.1","MIT","https://github.com/inikulin/parse5" "parse5@5.1.0","MIT","https://github.com/inikulin/parse5" "parse5@5.1.1","MIT","https://github.com/inikulin/parse5" -"parseqs@0.0.5","MIT","https://github.com/get/querystring" -"parseuri@0.0.5","MIT","https://github.com/get/parseuri" +"parse5@6.0.1","MIT","https://github.com/inikulin/parse5" +"parseqs@0.0.6","MIT","https://github.com/get/querystring" +"parseuri@0.0.6","MIT","https://github.com/get/parseuri" "parseurl@1.3.3","MIT","https://github.com/pillarjs/parseurl" "pascalcase@0.1.1","MIT","https://github.com/jonschlinkert/pascalcase" "path-browserify@0.0.1","MIT","https://github.com/substack/path-browserify" @@ -1100,12 +1126,12 @@ "pinkie@2.0.4","MIT","https://github.com/floatdrop/pinkie" "pkg-dir@3.0.0","MIT","https://github.com/sindresorhus/pkg-dir" "pkg-dir@4.2.0","MIT","https://github.com/sindresorhus/pkg-dir" -"pkg-up@2.0.0","MIT","https://github.com/sindresorhus/pkg-up" "please-upgrade-node@3.2.0","MIT","https://github.com/typicode/please-upgrade-node" +"pnp-webpack-plugin@1.6.4","MIT","https://github.com/arcanis/pnp-webpack-plugin" "popper.js@1.15.0","MIT","https://github.com/FezVrasta/popper.js" "portfinder@1.0.28","MIT","https://github.com/http-party/node-portfinder" "posix-character-classes@0.1.1","MIT","https://github.com/jonschlinkert/posix-character-classes" -"postcss-calc@7.0.2","MIT","https://github.com/postcss/postcss-calc" +"postcss-calc@7.0.5","MIT","https://github.com/postcss/postcss-calc" "postcss-colormin@4.0.3","MIT","https://github.com/cssnano/cssnano" "postcss-convert-values@4.0.1","MIT","https://github.com/cssnano/cssnano" "postcss-discard-comments@4.0.2","MIT","https://github.com/cssnano/cssnano" @@ -1113,7 +1139,7 @@ "postcss-discard-empty@4.0.1","MIT","https://github.com/cssnano/cssnano" "postcss-discard-overridden@4.0.1","MIT","https://github.com/cssnano/cssnano" "postcss-import@12.0.1","MIT","https://github.com/postcss/postcss-import" -"postcss-load-config@2.1.0","MIT","https://github.com/michael-ciniawsky/postcss-load-config" +"postcss-load-config@2.1.2","MIT","https://github.com/postcss/postcss-load-config" "postcss-loader@3.0.0","MIT","https://github.com/postcss/postcss-loader" "postcss-merge-longhand@4.0.11","MIT","https://github.com/cssnano/cssnano" "postcss-merge-rules@4.0.3","MIT","https://github.com/cssnano/cssnano" @@ -1122,7 +1148,7 @@ "postcss-minify-params@4.0.2","MIT","https://github.com/cssnano/cssnano" "postcss-minify-selectors@4.0.2","MIT","https://github.com/cssnano/cssnano" "postcss-modules-extract-imports@2.0.0","ISC","https://github.com/css-modules/postcss-modules-extract-imports" -"postcss-modules-local-by-default@3.0.2","MIT","https://github.com/css-modules/postcss-modules-local-by-default" +"postcss-modules-local-by-default@3.0.3","MIT","https://github.com/css-modules/postcss-modules-local-by-default" "postcss-modules-scope@2.2.0","ISC","https://github.com/css-modules/postcss-modules-scope" "postcss-modules-values@3.0.0","ISC","https://github.com/css-modules/postcss-modules-values" "postcss-normalize-charset@4.0.1","MIT","https://github.com/cssnano/cssnano" @@ -1138,12 +1164,13 @@ "postcss-reduce-initial@4.0.3","MIT","https://github.com/cssnano/cssnano" "postcss-reduce-transforms@4.0.2","MIT","https://github.com/cssnano/cssnano" "postcss-selector-parser@3.1.2","MIT","https://github.com/postcss/postcss-selector-parser" -"postcss-selector-parser@6.0.2","MIT","https://github.com/postcss/postcss-selector-parser" +"postcss-selector-parser@6.0.4","MIT","https://github.com/postcss/postcss-selector-parser" "postcss-svgo@4.0.2","MIT","https://github.com/cssnano/cssnano" "postcss-unique-selectors@4.0.1","MIT","https://github.com/cssnano/cssnano" "postcss-value-parser@3.3.1","MIT","https://github.com/TrySound/postcss-value-parser" "postcss-value-parser@4.1.0","MIT","https://github.com/TrySound/postcss-value-parser" -"postcss@7.0.27","MIT","https://github.com/postcss/postcss" +"postcss@7.0.21","MIT","https://github.com/postcss/postcss" +"postcss@7.0.32","MIT","https://github.com/postcss/postcss" "prepend-http@1.0.4","MIT","https://github.com/sindresorhus/prepend-http" "prettier@2.1.1","MIT","https://github.com/prettier/prettier" "pretty-bytes@5.4.1","MIT","https://github.com/sindresorhus/pretty-bytes" @@ -1153,7 +1180,7 @@ "process@0.11.10","MIT","https://github.com/shtylman/node-process" "promise-inflight@1.0.1","ISC","https://github.com/iarna/promise-inflight" "promise-retry@1.1.1","MIT","https://github.com/IndigoUnited/node-promise-retry" -"promise@7.3.1","MIT","https://github.com/then/promise" +"prompts@2.3.2","MIT","https://github.com/terkelg/prompts" "protoduck@5.0.1","MIT","https://github.com/zkat/protoduck" "proxy-addr@2.0.6","MIT","https://github.com/jshttp/proxy-addr" "prr@1.0.1","MIT","https://github.com/rvagg/prr" @@ -1172,13 +1199,13 @@ "query-string@4.3.4","MIT","https://github.com/sindresorhus/query-string" "querystring-es3@0.2.1","MIT","https://github.com/mike-spainhower/querystring" "querystring@0.2.0","MIT","https://github.com/Gozala/querystring" -"querystringify@2.1.1","MIT","https://github.com/unshiftio/querystringify" +"querystringify@2.2.0","MIT","https://github.com/unshiftio/querystringify" "ramda@0.26.1","MIT","https://github.com/ramda/ramda" "randombytes@2.1.0","MIT","https://github.com/crypto-browserify/randombytes" "randomfill@1.0.4","MIT","https://github.com/crypto-browserify/randomfill" "range-parser@1.2.1","MIT","https://github.com/jshttp/range-parser" "raw-body@2.4.0","MIT","https://github.com/stream-utils/raw-body" -"raw-loader@4.0.0","MIT","https://github.com/webpack-contrib/raw-loader" +"raw-loader@4.0.1","MIT","https://github.com/webpack-contrib/raw-loader" "read-cache@1.0.0","MIT","https://github.com/TrySound/read-cache" "read-installed@4.0.3","ISC","https://github.com/isaacs/read-installed" "read-package-json@2.1.1","ISC","https://github.com/npm/read-package-json" @@ -1188,19 +1215,19 @@ "readable-stream@3.6.0","MIT","https://github.com/nodejs/readable-stream" "readdir-scoped-modules@1.1.0","ISC","https://github.com/npm/readdir-scoped-modules" "readdirp@2.2.1","MIT","https://github.com/paulmillr/readdirp" -"readdirp@3.1.2","MIT","https://github.com/paulmillr/readdirp" -"readdirp@3.4.0","MIT","https://github.com/paulmillr/readdirp" +"readdirp@3.5.0","MIT","https://github.com/paulmillr/readdirp" "reflect-metadata@0.1.13","Apache-2.0","https://github.com/rbuckton/reflect-metadata" "regenerate-unicode-properties@8.1.0","MIT","https://github.com/mathiasbynens/regenerate-unicode-properties" "regenerate-unicode-properties@8.2.0","MIT","https://github.com/mathiasbynens/regenerate-unicode-properties" "regenerate@1.4.0","MIT","https://github.com/mathiasbynens/regenerate" -"regenerator-runtime@0.13.5","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime" +"regenerator-runtime@0.13.7","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime" "regenerator-transform@0.14.1","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform" -"regenerator-transform@0.14.4","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform" +"regenerator-transform@0.14.5","MIT","https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform" "regex-not@1.0.2","MIT","https://github.com/jonschlinkert/regex-not" +"regex-parser@2.2.11","MIT","https://github.com/IonicaBizau/regex-parser.js" "regexp.prototype.flags@1.3.0","MIT","https://github.com/es-shims/RegExp.prototype.flags" "regexpu-core@4.6.0","MIT","https://github.com/mathiasbynens/regexpu-core" -"regexpu-core@4.7.0","MIT","https://github.com/mathiasbynens/regexpu-core" +"regexpu-core@4.7.1","MIT","https://github.com/mathiasbynens/regexpu-core" "regjsgen@0.5.0","MIT","https://github.com/bnjmnt4n/regjsgen" "regjsgen@0.5.2","MIT","https://github.com/bnjmnt4n/regjsgen" "regjsparser@0.6.0","BSD-2-Clause","https://github.com/jviereck/regjsparser" @@ -1210,13 +1237,16 @@ "repeat-string@1.6.1","MIT","https://github.com/jonschlinkert/repeat-string" "request-progress@3.0.0","MIT","https://github.com/IndigoUnited/node-request-progress" "request@2.88.0","Apache-2.0","https://github.com/request/request" +"request@2.88.2","Apache-2.0","https://github.com/request/request" "require-directory@2.1.1","MIT","https://github.com/troygoode/node-require-directory" "require-main-filename@2.0.0","ISC","https://github.com/yargs/require-main-filename" "requires-port@1.0.0","MIT","https://github.com/unshiftio/requires-port" "resolve-cwd@2.0.0","MIT","https://github.com/sindresorhus/resolve-cwd" "resolve-from@3.0.0","MIT","https://github.com/sindresorhus/resolve-from" +"resolve-url-loader@3.1.2","MIT","https://github.com/bholloway/resolve-url-loader" "resolve-url@0.2.1","MIT","https://github.com/lydell/resolve-url" "resolve@1.12.0","MIT","https://github.com/browserify/resolve" +"resolve@1.19.0","MIT","https://github.com/browserify/resolve" "resolve@1.5.0","MIT","https://github.com/browserify/node-resolve" "restore-cursor@1.0.1","MIT","https://github.com/sindresorhus/restore-cursor" "restore-cursor@2.0.0","MIT","https://github.com/sindresorhus/restore-cursor" @@ -1225,38 +1255,39 @@ "retry@0.10.1","MIT","https://github.com/tim-kos/node-retry" "retry@0.12.0","MIT","https://github.com/tim-kos/node-retry" "reusify@1.0.4","MIT","https://github.com/mcollina/reusify" +"rework-visit@1.0.0","MIT","" +"rework@1.0.1","MIT*","https://github.com/reworkcss/rework" "rfdc@1.1.4","MIT","https://github.com/davidmarkclements/rfdc" "rgb-regex@1.0.1","MIT","https://github.com/regexps/rgb-regex" "rgba-regex@1.0.0","MIT","https://github.com/johnotander/rgba-regex" -"rimraf@2.6.2","ISC","https://github.com/isaacs/rimraf" "rimraf@2.7.1","ISC","https://github.com/isaacs/rimraf" "rimraf@3.0.0","ISC","https://github.com/isaacs/rimraf" "rimraf@3.0.2","ISC","https://github.com/isaacs/rimraf" "ripemd160@2.0.2","MIT","https://github.com/crypto-browserify/ripemd160" -"rollup@2.1.0","MIT","https://github.com/rollup/rollup" +"rollup@2.26.5","MIT","https://github.com/rollup/rollup" "run-async@2.4.1","MIT","https://github.com/SBoudrias/run-async" "run-node@1.0.0","MIT","https://github.com/sindresorhus/run-node" "run-parallel@1.1.9","MIT","https://github.com/feross/run-parallel" "run-queue@1.0.3","ISC","https://github.com/iarna/run-queue" -"rxjs-tslint-rules@4.17.0","MIT","https://github.com/cartant/rxjs-tslint-rules" -"rxjs-tslint@0.1.8","MIT","https://github.com/reactivex/rxjs-tslint" +"rxjs-report-usage@1.0.5","MIT","https://github.com/cartant/rxjs-report-usage" +"rxjs-tslint-rules@4.34.7","MIT","https://github.com/cartant/rxjs-tslint-rules" "rxjs@6.3.3","Apache-2.0","https://github.com/reactivex/rxjs" -"rxjs@6.5.3","Apache-2.0","https://github.com/reactivex/rxjs" -"rxjs@6.5.4","Apache-2.0","https://github.com/reactivex/rxjs" +"rxjs@6.6.2","Apache-2.0","https://github.com/reactivex/rxjs" +"rxjs@6.6.3","Apache-2.0","https://github.com/reactivex/rxjs" "safe-buffer@5.1.1","MIT","https://github.com/feross/safe-buffer" "safe-buffer@5.1.2","MIT","https://github.com/feross/safe-buffer" "safe-buffer@5.2.1","MIT","https://github.com/feross/safe-buffer" "safe-regex@1.1.0","MIT","https://github.com/substack/safe-regex" "safer-buffer@2.1.2","MIT","https://github.com/ChALkeR/safer-buffer" -"sass-loader@8.0.2","MIT","https://github.com/webpack-contrib/sass-loader" -"sass@1.26.3","MIT","https://github.com/sass/dart-sass" +"sass-loader@10.0.1","MIT","https://github.com/webpack-contrib/sass-loader" +"sass@1.26.10","MIT","https://github.com/sass/dart-sass" "sax@1.2.4","ISC","https://github.com/isaacs/sax-js" "schema-utils@1.0.0","MIT","https://github.com/webpack-contrib/schema-utils" "schema-utils@2.7.0","MIT","https://github.com/webpack/schema-utils" "schematics-utilities@1.1.3","MIT","https://github.com/nitayneeman/schematics-utilities" "select-hose@2.0.0","MIT","https://github.com/indutny/select-hose" "select@1.1.2","MIT","https://github.com/zenorocha/select" -"selfsigned@1.10.7","MIT","https://github.com/jfromaniello/selfsigned" +"selfsigned@1.10.8","MIT","https://github.com/jfromaniello/selfsigned" "semver-compare@1.0.0","MIT","https://github.com/substack/semver-compare" "semver-dsl@1.0.1","MIT","https://github.com/mgechev/semver-dsl" "semver-intersect@1.4.0","MIT","https://github.com/snyamathi/semver-intersect" @@ -1264,10 +1295,10 @@ "semver@5.7.1","ISC","https://github.com/npm/node-semver" "semver@6.3.0","ISC","https://github.com/npm/node-semver" "semver@7.0.0","ISC","https://github.com/npm/node-semver" -"semver@7.1.3","ISC","https://github.com/npm/node-semver" "semver@7.3.2","ISC","https://github.com/npm/node-semver" +"semver@7.3.4","ISC","https://github.com/npm/node-semver" "send@0.17.1","MIT","https://github.com/pillarjs/send" -"serialize-javascript@3.1.0","BSD-3-Clause","https://github.com/yahoo/serialize-javascript" +"serialize-javascript@4.0.0","BSD-3-Clause","https://github.com/yahoo/serialize-javascript" "serve-index@1.9.1","MIT","https://github.com/expressjs/serve-index" "serve-static@1.14.1","MIT","https://github.com/expressjs/serve-static" "set-blocking@2.0.0","ISC","https://github.com/yargs/set-blocking" @@ -1276,13 +1307,13 @@ "setprototypeof@1.1.0","ISC","https://github.com/wesleytodd/setprototypeof" "setprototypeof@1.1.1","ISC","https://github.com/wesleytodd/setprototypeof" "sha.js@2.4.11","(MIT AND BSD-3-Clause)","https://github.com/crypto-browserify/sha.js" -"shallow-clone@3.0.1","MIT","https://github.com/jonschlinkert/shallow-clone" "shebang-command@1.2.0","MIT","https://github.com/kevva/shebang-command" "shebang-command@2.0.0","MIT","https://github.com/kevva/shebang-command" "shebang-regex@1.0.0","MIT","https://github.com/sindresorhus/shebang-regex" "shebang-regex@3.0.0","MIT","https://github.com/sindresorhus/shebang-regex" "signal-exit@3.0.2","ISC","https://github.com/tapjs/signal-exit" "simple-swizzle@0.2.2","MIT","https://github.com/qix-/node-simple-swizzle" +"sisteransi@1.0.5","MIT","https://github.com/terkelg/sisteransi" "slash@3.0.0","MIT","https://github.com/sindresorhus/slash" "slice-ansi@0.0.4","MIT","https://github.com/chalk/slice-ansi" "slide@1.1.6","ISC","https://github.com/isaacs/slide-flow-control" @@ -1291,17 +1322,17 @@ "snapdragon-util@3.0.1","MIT","https://github.com/jonschlinkert/snapdragon-util" "snapdragon@0.8.2","MIT","https://github.com/jonschlinkert/snapdragon" "socket.io-adapter@1.1.2","MIT","https://github.com/socketio/socket.io-adapter" -"socket.io-client@2.3.0","MIT","https://github.com/Automattic/socket.io-client" -"socket.io-parser@3.3.0","MIT","https://github.com/Automattic/socket.io-parser" +"socket.io-client@2.4.0","MIT","https://github.com/Automattic/socket.io-client" +"socket.io-parser@3.3.2","MIT","https://github.com/Automattic/socket.io-parser" "socket.io-parser@3.4.1","MIT","https://github.com/socketio/socket.io-parser" -"socket.io@2.3.0","MIT","https://github.com/socketio/socket.io" +"socket.io@2.4.1","MIT","https://github.com/socketio/socket.io" "sockjs-client@1.4.0","MIT","https://github.com/sockjs/sockjs-client" "sockjs@0.3.20","MIT","https://github.com/sockjs/sockjs-node" "socks-proxy-agent@4.0.2","MIT","https://github.com/TooTallNate/node-socks-proxy-agent" "socks@2.3.3","MIT","https://github.com/JoshGlazebrook/socks" "sort-keys@1.1.2","MIT","https://github.com/sindresorhus/sort-keys" "source-list-map@2.0.1","MIT","https://github.com/webpack/source-list-map" -"source-map-loader@0.2.4","MIT","https://github.com/webpack-contrib/source-map-loader" +"source-map-loader@1.0.2","MIT","https://github.com/webpack-contrib/source-map-loader" "source-map-resolve@0.5.2","MIT","https://github.com/lydell/source-map-resolve" "source-map-support@0.5.19","MIT","https://github.com/evanw/node-source-map-support" "source-map-support@0.5.6","MIT","https://github.com/evanw/node-source-map-support" @@ -1319,7 +1350,7 @@ "spdx-satisfies@4.0.1","MIT","https://github.com/kemitchell/spdx-satisfies.js" "spdy-transport@3.0.0","MIT","https://github.com/spdy-http2/spdy-transport" "spdy@4.0.2","MIT","https://github.com/indutny/node-spdy" -"speed-measure-webpack-plugin@1.3.1","MIT","https://github.com/stephencookdev/speed-measure-webpack-plugin" +"speed-measure-webpack-plugin@1.3.3","MIT","https://github.com/stephencookdev/speed-measure-webpack-plugin" "split-string@3.1.0","MIT","https://github.com/jonschlinkert/split-string" "sprintf-js@1.0.3","BSD-3-Clause","https://github.com/alexei/sprintf.js" "sprintf-js@1.1.2","BSD-3-Clause","https://github.com/alexei/sprintf.js" @@ -1341,8 +1372,8 @@ "string-width@2.1.1","MIT","https://github.com/sindresorhus/string-width" "string-width@3.1.0","MIT","https://github.com/sindresorhus/string-width" "string-width@4.2.0","MIT","https://github.com/sindresorhus/string-width" -"string.prototype.trimend@1.0.1","MIT","https://github.com/es-shims/String.prototype.trimEnd" -"string.prototype.trimstart@1.0.1","MIT","https://github.com/es-shims/String.prototype.trimStart" +"string.prototype.trimend@1.0.3","MIT","https://github.com/es-shims/String.prototype.trimEnd" +"string.prototype.trimstart@1.0.3","MIT","https://github.com/es-shims/String.prototype.trimStart" "string_decoder@1.1.1","MIT","https://github.com/nodejs/string_decoder" "string_decoder@1.3.0","MIT","https://github.com/nodejs/string_decoder" "stringify-object@3.3.0","BSD-2-Clause","https://github.com/yeoman/stringify-object" @@ -1350,33 +1381,31 @@ "strip-ansi@4.0.0","MIT","https://github.com/chalk/strip-ansi" "strip-ansi@5.2.0","MIT","https://github.com/chalk/strip-ansi" "strip-ansi@6.0.0","MIT","https://github.com/chalk/strip-ansi" -"strip-bom@3.0.0","MIT","https://github.com/sindresorhus/strip-bom" "strip-eof@1.0.0","MIT","https://github.com/sindresorhus/strip-eof" "strip-final-newline@2.0.0","MIT","https://github.com/sindresorhus/strip-final-newline" -"style-loader@1.1.3","MIT","https://github.com/webpack-contrib/style-loader" +"style-loader@1.2.1","MIT","https://github.com/webpack-contrib/style-loader" "stylehacks@4.0.3","MIT","https://github.com/cssnano/cssnano" "stylus-loader@3.0.2","MIT","https://github.com/shama/stylus-loader" -"stylus@0.54.7","MIT","https://github.com/stylus/stylus" +"stylus@0.54.8","MIT","https://github.com/stylus/stylus" "supports-color@2.0.0","MIT","https://github.com/chalk/supports-color" "supports-color@4.5.0","MIT","https://github.com/chalk/supports-color" "supports-color@5.5.0","MIT","https://github.com/chalk/supports-color" "supports-color@6.1.0","MIT","https://github.com/chalk/supports-color" -"supports-color@7.1.0","MIT","https://github.com/chalk/supports-color" "supports-color@7.2.0","MIT","https://github.com/chalk/supports-color" "svgo@1.3.2","MIT","https://github.com/svg/svgo" "symbol-observable@1.2.0","MIT","https://github.com/blesh/symbol-observable" "tapable@1.1.3","MIT","https://github.com/webpack/tapable" "tar@4.4.13","ISC","https://github.com/npm/node-tar" -"tar@6.0.2","ISC","https://github.com/npm/node-tar" -"terser-webpack-plugin@1.4.4","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" -"terser-webpack-plugin@3.0.3","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" -"terser@4.6.10","BSD-2-Clause","https://github.com/terser/terser" +"tar@6.0.5","ISC","https://github.com/npm/node-tar" +"terser-webpack-plugin@1.4.5","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" +"terser-webpack-plugin@4.1.0","MIT","https://github.com/webpack-contrib/terser-webpack-plugin" "terser@4.8.0","BSD-2-Clause","https://github.com/terser/terser" +"terser@5.3.0","BSD-2-Clause","https://github.com/terser/terser" "throttleit@1.0.0","MIT","https://github.com/component/throttle" "through2@2.0.5","MIT","https://github.com/rvagg/through2" "through@2.3.8","MIT","https://github.com/dominictarr/through" "thunky@1.1.0","MIT","https://github.com/mafintosh/thunky" -"timers-browserify@2.0.11","MIT","https://github.com/jryans/timers-browserify" +"timers-browserify@2.0.12","MIT","https://github.com/jryans/timers-browserify" "timsort@0.3.0","MIT","https://github.com/mziccard/node-timsort" "tiny-emitter@2.1.0","MIT","https://github.com/scottcorgan/tiny-emitter" "tmp@0.0.33","MIT","https://github.com/raszi/node-tmp" @@ -1391,16 +1420,20 @@ "toidentifier@1.0.0","MIT","https://github.com/component/toidentifier" "tough-cookie@2.4.3","BSD-3-Clause","https://github.com/salesforce/tough-cookie" "tough-cookie@2.5.0","BSD-3-Clause","https://github.com/salesforce/tough-cookie" +"tr46@2.0.2","MIT","https://github.com/jsdom/tr46" "tree-kill@1.2.2","MIT","https://github.com/pkrumins/node-tree-kill" "treeify@1.1.0","MIT","https://github.com/notatestuser/treeify" "trim-right@1.0.1","MIT","https://github.com/sindresorhus/trim-right" "ts-loader@5.4.5","MIT","https://github.com/TypeStrong/ts-loader" "ts-md5@1.2.6","MIT","https://github.com/cotag/ts-md5" "ts-node@8.4.1","MIT","https://github.com/TypeStrong/ts-node" -"tslib@1.11.1","Apache-2.0","https://github.com/Microsoft/tslib" -"tslib@1.13.0","0BSD","https://github.com/Microsoft/tslib" +"ts-pnp@1.2.0","MIT","https://github.com/arcanis/ts-pnp" +"tslib@1.14.1","0BSD","https://github.com/Microsoft/tslib" +"tslib@2.0.1","0BSD","https://github.com/Microsoft/tslib" +"tslib@2.0.3","0BSD","https://github.com/Microsoft/tslib" "tslint-config-prettier@1.18.0","MIT","https://github.com/prettier/tslint-config-prettier" -"tslint@5.20.1","Apache-2.0","https://github.com/palantir/tslint" +"tslint@6.1.3","Apache-2.0","https://github.com/palantir/tslint" +"tsutils-etc@1.3.2","MIT","https://github.com/cartant/tsutils-etc" "tsutils@2.29.0","MIT","https://github.com/ajafff/tsutils" "tsutils@3.17.1","MIT","https://github.com/ajafff/tsutils" "tty-browserify@0.0.0","MIT","https://github.com/substack/tty-browserify" @@ -1409,11 +1442,13 @@ "type-fest@0.11.0","(MIT OR CC0-1.0)","https://github.com/sindresorhus/type-fest" "type-fest@0.6.0","(MIT OR CC0-1.0)","https://github.com/sindresorhus/type-fest" "type-is@1.6.18","MIT","https://github.com/jshttp/type-is" +"type@1.2.0","ISC","https://github.com/medikoo/type" +"type@2.1.0","ISC","https://github.com/medikoo/type" "typedarray@0.0.6","MIT","https://github.com/substack/typedarray" -"typescript@3.6.5","Apache-2.0","https://github.com/Microsoft/TypeScript" -"typescript@3.8.3","Apache-2.0","https://github.com/Microsoft/TypeScript" +"typescript@3.9.7","Apache-2.0","https://github.com/Microsoft/TypeScript" +"typescript@4.0.2","Apache-2.0","https://github.com/Microsoft/TypeScript" +"typescript@4.0.5","Apache-2.0","https://github.com/Microsoft/TypeScript" "ua-parser-js@0.7.21","MIT","https://github.com/faisalman/ua-parser-js" -"uglify-js@3.6.0","BSD-2-Clause","https://github.com/mishoo/UglifyJS2" "unicode-canonical-property-names-ecmascript@1.0.4","MIT","https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript" "unicode-match-property-ecmascript@1.0.4","MIT","https://github.com/mathiasbynens/unicode-match-property-ecmascript" "unicode-match-property-value-ecmascript@1.1.0","MIT","https://github.com/mathiasbynens/unicode-match-property-value-ecmascript" @@ -1424,7 +1459,7 @@ "uniqs@2.0.0","MIT","https://github.com/fgnass/uniqs" "unique-filename@1.1.1","ISC","https://github.com/iarna/unique-filename" "unique-slug@2.0.2","ISC","https://github.com/iarna/unique-slug" -"universal-analytics@0.4.20","MIT","https://github.com/peaksandpies/universal-analytics" +"universal-analytics@0.4.23","MIT","https://github.com/peaksandpies/universal-analytics" "universalify@0.1.2","MIT","https://github.com/RyanZim/universalify" "universalify@1.0.0","MIT","https://github.com/RyanZim/universalify" "unpipe@1.0.0","MIT","https://github.com/stream-utils/unpipe" @@ -1445,8 +1480,8 @@ "util@0.11.1","MIT","https://github.com/defunctzombie/node-util" "utils-merge@1.0.1","MIT","https://github.com/jaredhanson/utils-merge" "uuid@3.4.0","MIT","https://github.com/uuidjs/uuid" -"uuid@7.0.2","MIT","https://github.com/uuidjs/uuid" "uuid@7.0.3","MIT","https://github.com/uuidjs/uuid" +"uuid@8.3.0","MIT","https://github.com/uuidjs/uuid" "validate-npm-package-license@3.0.3","Apache-2.0","https://github.com/kemitchell/validate-npm-package-license.js" "validate-npm-package-name@3.0.0","ISC","https://github.com/npm/validate-npm-package-name" "vary@1.1.2","MIT","https://github.com/jshttp/vary" @@ -1454,38 +1489,38 @@ "verror@1.10.0","MIT","https://github.com/davepacheco/node-verror" "vm-browserify@1.1.2","MIT","https://github.com/substack/vm-browserify" "void-elements@2.0.1","MIT","https://github.com/hemanth/void-elements" -"watchpack-chokidar2@2.0.0","MIT","https://github.com/webpack/watchpack" -"watchpack@1.7.2","MIT","https://github.com/webpack/watchpack" +"watchpack-chokidar2@2.0.1","MIT","https://github.com/webpack/watchpack" +"watchpack@1.7.5","MIT","https://github.com/webpack/watchpack" "wbuf@1.7.3","MIT","https://github.com/indutny/wbuf" "wcwidth@1.0.1","MIT","https://github.com/timoxley/wcwidth" +"webidl-conversions@6.1.0","BSD-2-Clause","https://github.com/jsdom/webidl-conversions" "webpack-dev-middleware@3.7.2","MIT","https://github.com/webpack/webpack-dev-middleware" "webpack-dev-server@3.11.0","MIT","https://github.com/webpack/webpack-dev-server" "webpack-log@2.0.0","MIT","https://github.com/webpack-contrib/webpack-log" "webpack-merge@4.2.2","MIT","https://github.com/survivejs/webpack-merge" "webpack-sources@1.4.3","MIT","https://github.com/webpack/webpack-sources" -"webpack-subresource-integrity@1.4.0","MIT","https://github.com/waysact/webpack-subresource-integrity" -"webpack@4.42.0","MIT","https://github.com/webpack/webpack" +"webpack-subresource-integrity@1.4.1","MIT","https://github.com/waysact/webpack-subresource-integrity" +"webpack@4.44.1","MIT","https://github.com/webpack/webpack" "websocket-driver@0.6.5","MIT","https://github.com/faye/websocket-driver-node" "websocket-extensions@0.1.4","Apache-2.0","https://github.com/faye/websocket-extensions-node" +"whatwg-mimetype@2.3.0","MIT","https://github.com/jsdom/whatwg-mimetype" +"whatwg-url@8.4.0","MIT","https://github.com/jsdom/whatwg-url" "when@3.6.4","MIT","https://github.com/cujojs/when" "which-module@2.0.0","ISC","https://github.com/nexdrew/which-module" "which@1.3.0","ISC","https://github.com/isaacs/node-which" "which@1.3.1","ISC","https://github.com/isaacs/node-which" "which@2.0.2","ISC","https://github.com/isaacs/node-which" "wide-align@1.1.3","ISC","https://github.com/iarna/wide-align" -"wordwrap@1.0.0","MIT","https://github.com/substack/node-wordwrap" "worker-farm@1.7.0","MIT","https://github.com/rvagg/node-worker-farm" -"worker-plugin@4.0.3","Apache-2.0","https://github.com/GoogleChromeLabs/worker-plugin" +"worker-plugin@5.0.0","Apache-2.0","https://github.com/GoogleChromeLabs/worker-plugin" "wrap-ansi@3.0.1","MIT","https://github.com/chalk/wrap-ansi" "wrap-ansi@5.1.0","MIT","https://github.com/chalk/wrap-ansi" "wrap-ansi@6.2.0","MIT","https://github.com/chalk/wrap-ansi" "wrappy@1.0.2","ISC","https://github.com/npm/wrappy" -"ws@6.1.4","MIT","https://github.com/websockets/ws" "ws@6.2.1","MIT","https://github.com/websockets/ws" -"ws@7.3.1","MIT","https://github.com/websockets/ws" +"ws@7.4.2","MIT","https://github.com/websockets/ws" "xhr2@0.2.0","MIT","https://github.com/pwnall/node-xhr2" "xmlhttprequest-ssl@1.5.5","MIT","https://github.com/mjwwit/node-XMLHttpRequest" -"xregexp@4.0.0","MIT","https://github.com/slevithan/xregexp" "xtend@4.0.2","MIT","https://github.com/Raynos/xtend" "y18n@4.0.0","ISC","https://github.com/yargs/y18n" "yallist@3.1.1","ISC","https://github.com/isaacs/yallist" @@ -1498,4 +1533,5 @@ "yauzl@2.10.0","MIT","https://github.com/thejoshwolfe/yauzl" "yeast@0.1.2","MIT","https://github.com/unshiftio/yeast" "yn@3.1.1","MIT","https://github.com/sindresorhus/yn" +"yocto-queue@0.1.0","MIT","https://github.com/sindresorhus/yocto-queue" "zone.js@0.10.3","MIT","https://github.com/angular/angular" From 5942713d65c96f6b5306d1e848d0e63dd365f338 Mon Sep 17 00:00:00 2001 From: Richard-Hansen <36607471+Richard-Hansen@users.noreply.github.com> Date: Thu, 4 Feb 2021 13:58:15 -0500 Subject: [PATCH 025/119] Feature/3968/hosted workflow file naming (#1145) Allows adding multiple files to a hosted workflow/tool. dockstore/dockstore#3968 Hosted files will have equal absolute and relative paths (we don't provide a 'directory structure' that one can navigate when creating hosted files). Updated the file edit component to now more correctly pass the absolute path of the sourcefile instead of the relative path to related components and functions. Currently, this doesn't impact functionality, but supports future compatibility if the handling of hosted files change, as relative paths may be affected. --- cypress/integration/group1/hostedWorkflows.ts | 43 +++++++++++++++++++ .../code-editor-list.component.html | 24 ++++++----- .../code-editor-list.component.ts | 10 +++++ 3 files changed, 67 insertions(+), 10 deletions(-) diff --git a/cypress/integration/group1/hostedWorkflows.ts b/cypress/integration/group1/hostedWorkflows.ts index 2a52db423e..623868be34 100644 --- a/cypress/integration/group1/hostedWorkflows.ts +++ b/cypress/integration/group1/hostedWorkflows.ts @@ -36,6 +36,9 @@ describe('Dockstore hosted workflows', () => { goToUnexpandedSidebarEntry('dockstore.org/A', /hosted/); } + // using an ugly name to flex workflow naming functionality a bit + const NEW_WORKFLOW_NAME = 'new_Hosted-workflow-8_part-2'; + // Ensure tabs are correct for the hosted workflow, try adding a version describe('Should be able to register a hosted workflow and add files to it', () => { it('Register the workflow', () => { @@ -146,5 +149,45 @@ describe('Dockstore hosted workflows', () => { goToTab('Files'); cy.contains('/Dockstore.wdl').should('be.visible'); }); + it('Create a new hosted workflow', () => { + cy.get('#registerWorkflowButton').should('be.visible').should('be.enabled').click(); + cy.get('#3-register-workflow-option').should('be.visible').click(); + cy.contains('button', 'Next').click(); + cy.get('#hostedWorkflowRepository').type(NEW_WORKFLOW_NAME); + cy.contains('button', 'Register Workflow').click(); + }); + it('Add files to hosted workflow', () => { + // navigate to workflow + cy.get('.mat-expanded'); + cy.contains('dockstore.org/user_A').click(); + cy.contains('a', NEW_WORKFLOW_NAME).click(); + + // Check content of the info tab + cy.contains('Mode: HOSTED'); + + // Add a new version with 3 descriptors + goToTab('Files'); + cy.get('#editFilesButton').click(); + + // there should be no descriptors files + cy.get('app-code-editor').should('have.length', 0); + + // add first file. This will be the primary descriptor, so we wont need to give it a custom name + cy.contains('Add File').click(); + + // add a bunch of new files + for (let i = 0; i < 3; i++) { + cy.contains('Add File').click(); + cy.wait(100); // focus is pulled to the content box of the editor shortly after adding a file, wait for this to occur + cy.get('.editor-file-name').last().type(`{selectall}{backspace}/${i}.cwl{enter}`); + } + + // save as a new version + cy.get('#saveNewVersionButton').click(); + cy.wait(1000); // have to wait for the response from the webservice, otherwise you may get a false positive + + // should have 4 descriptors. + cy.get('app-code-editor').should('have.length', 4); + }); }); }); diff --git a/src/app/shared/code-editor-list/code-editor-list.component.html b/src/app/shared/code-editor-list/code-editor-list.component.html index 137d82556f..39e018d514 100644 --- a/src/app/shared/code-editor-list/code-editor-list.component.html +++ b/src/app/shared/code-editor-list/code-editor-list.component.html @@ -4,19 +4,22 @@
    -
    +
    - - {{ sourcefile.path }} + + {{ sourcefile.absolutePath }} @@ -25,7 +28,7 @@ class="delete-editor-file mr-2" color="warn" (click)="deleteFile(i)" - *ngIf="editing && !isPrimaryDescriptor(sourcefile?.path) && !isDockerFile(sourcefile?.path)" + *ngIf="editing && !isPrimaryDescriptor(sourcefile?.absolutePath) && !isDockerFile(sourcefile?.absolutePath)" matTooltip="Delete the file" > delete @@ -38,8 +41,9 @@ *ngIf="published$ | async; else unpublishedDownloadLink" download [href]="sourcefile | publicFileDownload: entrypath:selectedVersion:descriptorType:entryType" + [download]="sourcefile?.absolutePath | privateFilePath" type="button" - matTooltip="Download {{ sourcefile?.path }}" + matTooltip="Download {{ sourcefile?.absolutePath }}" > save_alt @@ -49,9 +53,9 @@ color="secondary" class="mr-2 link-button" [href]="sourcefile?.content | privateFileDownload" - [download]="sourcefile?.path | privateFilePath" + [download]="sourcefile?.absolutePath | privateFilePath" type="button" - matTooltip="Download {{ sourcefile?.path }}" + matTooltip="Download {{ sourcefile?.absolutePath }}" > save_alt @@ -72,7 +76,7 @@
    diff --git a/src/app/shared/code-editor-list/code-editor-list.component.ts b/src/app/shared/code-editor-list/code-editor-list.component.ts index 1382740f18..c0ee6df7d1 100644 --- a/src/app/shared/code-editor-list/code-editor-list.component.ts +++ b/src/app/shared/code-editor-list/code-editor-list.component.ts @@ -93,4 +93,14 @@ export class CodeEditorListComponent { const descriptorType = this.descriptorType; return CodeEditorListService.showSourcefile(type, fileType, descriptorType); } + + /** + * Updates the absolute and relative paths for a sourcefile. + * @param newPath {string} the new path to the sourcefile + * @param index {number} index of a SourceFile object in the sourcefiles array + */ + updateSourceFilePath(newPath: string, index: number) { + this.sourcefiles[index].absolutePath = newPath; + this.sourcefiles[index].path = newPath; + } } From 7afcd4f3d268892bd3e6a9f06ec4cd9e314ad440 Mon Sep 17 00:00:00 2001 From: NatalieEO Date: Tue, 9 Feb 2021 09:05:24 -0800 Subject: [PATCH 026/119] Seab 1632/tool tester logs smoke test (#1150) * https://ucsc-cgl.atlassian.net/browse/SEAB-1632 - check for tooltester logs in production smoke test Co-authored-by: latfariha --- .../manualTests/basic-enduser-prod-only.ts | 23 +++++++++++++++++++ package.json | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 cypress/integration/manualTests/basic-enduser-prod-only.ts diff --git a/cypress/integration/manualTests/basic-enduser-prod-only.ts b/cypress/integration/manualTests/basic-enduser-prod-only.ts new file mode 100644 index 0000000000..1731965cc9 --- /dev/null +++ b/cypress/integration/manualTests/basic-enduser-prod-only.ts @@ -0,0 +1,23 @@ +describe('Test existence of Logs', () => { + it('Find Logs in Workflows', () => { + cy.visit('/workflows/github.com/DataBiosphere/topmed-workflows/UM_variant_caller_wdl:1.32.0?tab=info'); + cy.get('[data-cy=verificationLogsDialog]').click(); + + cy.contains('.mat-card-title', 'Verification Information'); + cy.get('.mat-table') + .first() + .within(() => { + cy.get('.mat-row').should('have.length.of.at.least', 1); + cy.contains('Dockstore CLI'); + }); + + cy.contains('.mat-card-title', 'Logs'); + cy.get('.mat-table') + .eq(1) + .within(() => { + cy.get('.mat-row').should('have.length.of.at.least', 3); + cy.contains('variant-caller/variant-caller-wdl/topmed_freeze3_calling.json'); + cy.contains('View FULL log'); + }); + }); +}); diff --git a/package.json b/package.json index 120c9dc4fb..14f854eb30 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "postinstall": "ngcc", "test-dev-no-auth": "npx cypress run --record --reporter junit -c baseUrl=https://dev.dockstore.net -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", "test-staging-no-auth": "npx cypress run -c baseUrl=https://staging.dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", - "test-prod-no-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts\"", + "test-prod-no-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/monitor.ts,cypress/integration/manualTests/basic-enduser.ts,cypress/integration/manualTests/search.ts,cypress/integration/manualTests/basic-enduser-prod-only.ts\"", "test-dev-auth": "npx cypress run --record --reporter junit -c baseUrl=https://dev.dockstore.net -s \"cypress/integration/manualTests/auth-tests.ts\"", "test-staging-auth": "npx cypress run -c baseUrl=https://staging.dockstore.org -s \"cypress/integration/manualTests/auth-tests.ts\"", "test-prod-auth": "npx cypress run -c baseUrl=https://dockstore.org -s \"cypress/integration/manualTests/auth-tests.ts\"" From 4318e60c684339ed5a640697a602c4d3ad0dc026 Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Wed, 10 Feb 2021 11:53:53 -0500 Subject: [PATCH 027/119] Footer Reimplementation (#1149) * new images * footer reimplemented, still need the svg image of ucsc * removed the affiliation list on homepage, cleaned up some code * spacing fixes * broad white svg * added snackbar for displaying Copied, added alt attribute for two pngs on homepage for SEO * adjusted flex spacing * Update THIRD-PARTY-LICENSES.csv * Update THIRD-PARTY-LICENSES.csv * fixed unit test failure: "NullInjectorError: No provider for MatSnackBar" * Update footer.component.css * px to rem * loading twitter widget with a time out * footer styling fixes * styling update * copy build info border color --- src/app/footer/footer.component.css | 60 +- src/app/footer/footer.component.html | 334 +++++++----- src/app/footer/footer.component.spec.ts | 3 +- src/app/footer/footer.component.ts | 20 +- .../home-logged-out/home.component.html | 7 +- src/app/shared/dockstore.model.ts | 1 + src/app/sponsors/sponsor.model.ts | 4 + src/app/sponsors/sponsors.component.html | 13 - src/app/sponsors/sponsors.component.ts | 2 - src/app/sponsors/sponsors.service.ts | 12 - .../sponsors/non-coloured/broad-gray.svg | 371 +++++++++++++ .../images/sponsors/non-coloured/broad1.svg | 179 ++++++ .../sponsors/non-coloured/collaboratory.svg | 1 + .../images/sponsors/non-coloured/ga.svg | 516 ++++++++++++++++++ .../images/sponsors/non-coloured/oicr.svg | 1 + .../images/sponsors/non-coloured/ucsc.png | Bin 0 -> 44971 bytes src/ds-style-fix.scss | 4 +- src/styles.scss | 13 +- 18 files changed, 1356 insertions(+), 185 deletions(-) create mode 100644 src/assets/images/sponsors/non-coloured/broad-gray.svg create mode 100644 src/assets/images/sponsors/non-coloured/broad1.svg create mode 100644 src/assets/images/sponsors/non-coloured/collaboratory.svg create mode 100644 src/assets/images/sponsors/non-coloured/ga.svg create mode 100644 src/assets/images/sponsors/non-coloured/oicr.svg create mode 100644 src/assets/images/sponsors/non-coloured/ucsc.png diff --git a/src/app/footer/footer.component.css b/src/app/footer/footer.component.css index 5561961fdf..9a35bb4ba2 100644 --- a/src/app/footer/footer.component.css +++ b/src/app/footer/footer.component.css @@ -17,18 +17,68 @@ .container-fluid, a { background-color: #21335b; - color: white; + color: #e8eaf6; } .container-fluid { - padding-top: 20px; + padding-top: 2rem; } -.container-fluid, ul { list-style: none; } -.footer-list li:first-child { - font-weight: bold; +/* the title of each column */ +.title { + /* used for making the text semi-bold */ + text-shadow: 0 0 0 #c5cae9; + color: #c5cae9; + text-transform: uppercase; + padding: 1rem 0; +} + +.sponsor-img { + height: 60px; + vertical-align: middle; +} + +hr { + border: 1px solid #e8eaf6 80%; +} + +@media only screen and (min-width: 80rem) { + hr { + margin-bottom: 0; + } +} + +li a { + /* gives more space for link to be clicked on */ + padding: 1rem 0; +} + +/* button for "copy build info" */ +.mat-stroked-button { + border: #a4a8be 1px solid; + margin-top: 1rem; + padding: 0 0.45rem; +} + +/* very last row of the footer */ +.bottom-footer { + justify-content: center; + align-items: center; + display: flex; +} + +.footer-link:link { + text-decoration: underline; +} + +.footer-link:hover { + color: white; +} + +.dockstore-support { + text-align: center; } diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index 006e792a48..2700c05566 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -16,151 +16,215 @@
    - -
    +
    -
    - - Support for Dockstore is provided by grants from Genome Canada, the National Institutes of Health, and the Province of - Ontario. - +
    +
    +
    + + +
    diff --git a/src/app/footer/footer.component.spec.ts b/src/app/footer/footer.component.spec.ts index 42d997b7d7..e062803184 100644 --- a/src/app/footer/footer.component.spec.ts +++ b/src/app/footer/footer.component.spec.ts @@ -16,6 +16,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MatIconModule } from '@angular/material/icon'; +import { MatSnackBarModule } from '@angular/material/snack-bar'; import { RouterTestingModule } from '@angular/router/testing'; import { MetadataService } from '../metadata/metadata.service'; import { GA4GHService } from './../shared/swagger/api/gA4GH.service'; @@ -32,7 +33,7 @@ describe('FooterComponent', () => { waitForAsync(() => { TestBed.configureTestingModule({ declarations: [FooterComponent, GitTagPipe], - imports: [RouterTestingModule, MatIconModule], + imports: [RouterTestingModule, MatIconModule, MatSnackBarModule], providers: [MetadataService, { provide: GA4GHService, useClass: GA4GHStubService }], }).compileComponents(); }) diff --git a/src/app/footer/footer.component.ts b/src/app/footer/footer.component.ts index 84943852cd..7bdf9ddcb3 100644 --- a/src/app/footer/footer.component.ts +++ b/src/app/footer/footer.component.ts @@ -15,10 +15,12 @@ */ import { HttpErrorResponse } from '@angular/common/http'; import { Component, OnInit } from '@angular/core'; +import { MatSnackBar } from '@angular/material/snack-bar'; import { takeUntil } from 'rxjs/operators'; import { MetadataService } from '../metadata/metadata.service'; import { Base } from '../shared/base'; +import { Sponsor } from '../sponsors/sponsor.model'; import { Dockstore } from './../shared/dockstore.model'; import { Metadata } from './../shared/swagger/model/metadata'; import { FooterService } from './footer.service'; @@ -27,7 +29,7 @@ import { versions } from './versions'; @Component({ selector: 'app-footer', templateUrl: './footer.component.html', - styleUrls: ['./footer.component.css'], + styleUrls: ['./footer.component.css'] }) export class FooterComponent extends Base implements OnInit { version: string; @@ -37,6 +39,13 @@ export class FooterComponent extends Base implements OnInit { Dockstore = Dockstore; year: number; content: string; + public sponsors: Sponsor[] = [ + new Sponsor('collaboratory.svg', new URL('https://www.cancercollaboratory.org/')), + new Sponsor('oicr.svg', new URL('https://oicr.on.ca/')), + new Sponsor('broad1.svg', new URL('https://www.broadinstitute.org/')), + new Sponsor('ga.svg', new URL('https://genomicsandhealth.org/')), + new Sponsor('ucsc.png', new URL('https://ucscgenomics.soe.ucsc.edu/')), + ]; /** * API Status codes that can indicate the web service is down @@ -49,10 +58,17 @@ export class FooterComponent extends Base implements OnInit { */ private readonly WEBSERVICE_DOWN_STATUS_CODES = [0, 404, 502, 504]; - constructor(private metadataService: MetadataService, private footerService: FooterService) { + constructor(private metadataService: MetadataService, private footerService: FooterService, private matSnackBar: MatSnackBar) { super(); } + openSnackBar() { + this.matSnackBar.open('Copied!', '', { + duration: 500, + panelClass: 'custom_copy_snack_bar', + }); + } + ngOnInit() { this.year = new Date().getFullYear(); this.tag = versions.tag; diff --git a/src/app/home-page/home-logged-out/home.component.html b/src/app/home-page/home-logged-out/home.component.html index d86f06f1d0..ebd43b61a1 100644 --- a/src/app/home-page/home-logged-out/home.component.html +++ b/src/app/home-page/home-logged-out/home.component.html @@ -70,8 +70,8 @@

    - - + ship + truck
    @@ -211,9 +211,6 @@

    Join the discussion

    Discourse open_in_new
    - -

    And

    -
    diff --git a/src/app/shared/dockstore.model.ts b/src/app/shared/dockstore.model.ts index 5e52b59d48..63b5b59dbc 100644 --- a/src/app/shared/dockstore.model.ts +++ b/src/app/shared/dockstore.model.ts @@ -77,6 +77,7 @@ export class Dockstore { static GITHUB_APP_INSTALLATION_URL = 'will be filled in by configuration.service'; + static DOCKSTORE_REPO = 'https://github.com/dockstore/dockstore'; static DOCUMENTATION_URL = 'https://docs.dockstore.org'; static FEATURED_CONTENT_URL = 'will be filled in by configuration.service'; diff --git a/src/app/sponsors/sponsor.model.ts b/src/app/sponsors/sponsor.model.ts index f609730464..8878d37c82 100644 --- a/src/app/sponsors/sponsor.model.ts +++ b/src/app/sponsors/sponsor.model.ts @@ -16,13 +16,17 @@ export class Sponsor { private static colouredPath = '../assets/images/sponsors/coloured/'; + private static nonColouredPath = '../assets/images/sponsors/non-coloured/'; public current: string; + public nonColouredCurrent: string; public coloured: string; public url: URL; constructor(image: string, url: URL) { this.current = Sponsor.colouredPath + image; + // used for "in affiliation with" logos in the footer + this.nonColouredCurrent = Sponsor.nonColouredPath + image; this.url = url; } } diff --git a/src/app/sponsors/sponsors.component.html b/src/app/sponsors/sponsors.component.html index bc1482e117..d5df41fd45 100644 --- a/src/app/sponsors/sponsors.component.html +++ b/src/app/sponsors/sponsors.component.html @@ -14,19 +14,6 @@ ~ limitations under the License. -->
    -
    -
    In Affiliation With
    -
    - -
    - -
    -
    Workflow Languages

    diff --git a/src/app/sponsors/sponsors.component.ts b/src/app/sponsors/sponsors.component.ts index d635fc4b55..5c3bab595e 100644 --- a/src/app/sponsors/sponsors.component.ts +++ b/src/app/sponsors/sponsors.component.ts @@ -33,7 +33,6 @@ import { SponsorsService } from './sponsors.service'; }) export class SponsorsComponent extends Base implements OnInit { public user$: Observable; - public sponsors: Sponsor[]; public partners: Sponsor[]; public languages: Sponsor[]; public isHomePage = false; @@ -52,7 +51,6 @@ export class SponsorsComponent extends Base implements OnInit { ngOnInit() { // Initialize sponsors and partners - this.sponsors = this.sponsorsService.getSponsors(); this.partners = this.sponsorsService.getPartners(); this.languages = this.sponsorsService.getLanguages(); diff --git a/src/app/sponsors/sponsors.service.ts b/src/app/sponsors/sponsors.service.ts index dc424d8040..468355c6ad 100644 --- a/src/app/sponsors/sponsors.service.ts +++ b/src/app/sponsors/sponsors.service.ts @@ -19,14 +19,6 @@ import { Sponsor } from './sponsor.model'; @Injectable() export class SponsorsService { - // TODO: UCSC logo is technically different than the one linked to - private sponsors: Sponsor[] = [ - new Sponsor('collaboratory.png', new URL('https://www.cancercollaboratory.org/')), - new Sponsor('oicr.png', new URL('https://oicr.on.ca/')), - new Sponsor('ga4gh.png', new URL('https://genomicsandhealth.org/')), - new Sponsor('ucsc.png', new URL('https://ucscgenomics.soe.ucsc.edu/')), - ]; - private languages: Sponsor[] = [ new Sponsor('cwl.png', new URL('https://www.commonwl.org')), new Sponsor('wdl.png', new URL('http://openwdl.org')), @@ -39,10 +31,6 @@ export class SponsorsService { new Sponsor('terra.png', new URL('https://terra.bio')), ]; - getSponsors(): Sponsor[] { - return this.sponsors; - } - getPartners(): Sponsor[] { return this.partners; } diff --git a/src/assets/images/sponsors/non-coloured/broad-gray.svg b/src/assets/images/sponsors/non-coloured/broad-gray.svg new file mode 100644 index 0000000000..c1eb4e7510 --- /dev/null +++ b/src/assets/images/sponsors/non-coloured/broad-gray.svg @@ -0,0 +1,371 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/src/assets/images/sponsors/non-coloured/broad1.svg b/src/assets/images/sponsors/non-coloured/broad1.svg new file mode 100644 index 0000000000..51fb5d4e99 --- /dev/null +++ b/src/assets/images/sponsors/non-coloured/broad1.svg @@ -0,0 +1,179 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/sponsors/non-coloured/collaboratory.svg b/src/assets/images/sponsors/non-coloured/collaboratory.svg new file mode 100644 index 0000000000..6463901646 --- /dev/null +++ b/src/assets/images/sponsors/non-coloured/collaboratory.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/ga.svg b/src/assets/images/sponsors/non-coloured/ga.svg new file mode 100644 index 0000000000..d58ce29571 --- /dev/null +++ b/src/assets/images/sponsors/non-coloured/ga.svg @@ -0,0 +1,516 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/sponsors/non-coloured/oicr.svg b/src/assets/images/sponsors/non-coloured/oicr.svg new file mode 100644 index 0000000000..98244f790d --- /dev/null +++ b/src/assets/images/sponsors/non-coloured/oicr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/ucsc.png b/src/assets/images/sponsors/non-coloured/ucsc.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa5364c1a01aa9905f60d428a297efbed017fda GIT binary patch literal 44971 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 B3nc&m literal 0 HcmV?d00001 diff --git a/src/ds-style-fix.scss b/src/ds-style-fix.scss index d74fe1772e..f201e9fb72 100644 --- a/src/ds-style-fix.scss +++ b/src/ds-style-fix.scss @@ -686,8 +686,8 @@ div.modal form { text-decoration: none; } -.footer-list > li { - margin: 0px !important; +.footer-list li { + margin: 0 0 0.6rem 0 !important; } @media (max-width: 992px) { diff --git a/src/styles.scss b/src/styles.scss index 1abd2b481a..b0d9587487 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1171,14 +1171,6 @@ body { height: 52px; } -.footer-link:link { - text-decoration: none; -} - -.footer-link:hover { - text-decoration: underline; -} - .my-entry-button-group { margin-bottom: 5px; } @@ -1287,3 +1279,8 @@ mat-tab-group.no-pagination { flex-direction: column; } } + +.custom_copy_snack_bar { + min-width: 0 !important; + background-color: #5c5c5c !important; +} From 9a99962c9094db04d01637412f625d816461a6cb Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Thu, 11 Feb 2021 14:01:50 -0500 Subject: [PATCH 028/119] Feature/broken styles (#1154) * styling bugs fixed !important is needed since it needs to override the default style for some angular material elements * workflow and tools have two columns hidden when screen size is small --- .../version-modal/version-modal.component.css | 6 ++++++ .../version-modal/version-modal.component.html | 2 +- src/app/container/versions/versions.component.html | 2 +- src/app/containers/list/list.component.html | 12 ++++++------ src/app/navbar/navbar.component.css | 4 ---- src/app/navbar/navbar.component.html | 6 +++--- src/app/shared/styles/entry-table.scss | 4 ---- src/app/workflows/list/list.component.html | 8 ++++---- src/ds-style-fix.scss | 5 +++++ 9 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/app/container/version-modal/version-modal.component.css b/src/app/container/version-modal/version-modal.component.css index f9b3ebf702..9ff53f2dc2 100644 --- a/src/app/container/version-modal/version-modal.component.css +++ b/src/app/container/version-modal/version-modal.component.css @@ -13,3 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +#file_copy { + font-size: initial; + transform: scale(1.3); + height: fit-content; +} diff --git a/src/app/container/version-modal/version-modal.component.html b/src/app/container/version-modal/version-modal.component.html index eb96fa0fe8..3e5c7d81e8 100644 --- a/src/app/container/version-modal/version-modal.component.html +++ b/src/app/container/version-modal/version-modal.component.html @@ -394,7 +394,7 @@

    {{ TagEditorMode[mode] }} Version Tag

    />
    diff --git a/src/app/container/versions/versions.component.html b/src/app/container/versions/versions.component.html index 28c9edcc19..b613e66fe5 100644 --- a/src/app/container/versions/versions.component.html +++ b/src/app/container/versions/versions.component.html @@ -44,7 +44,7 @@ > - + Default Name - + {{ @@ -38,17 +38,17 @@ - Verified - + Verified + check - Stars - {{ tool?.starredUsers.length === 0 ? '' : tool?.starredUsers.length }} + Stars + + {{ tool?.starredUsers.length === 0 ? '' : tool?.starredUsers.length }} star_rate diff --git a/src/app/navbar/navbar.component.css b/src/app/navbar/navbar.component.css index 808d741aaa..b976a7b5e0 100644 --- a/src/app/navbar/navbar.component.css +++ b/src/app/navbar/navbar.component.css @@ -58,7 +58,3 @@ a:focus { mat-menu { padding-right: 10px; } - -.icon-sm { - width: 25%; -} diff --git a/src/app/navbar/navbar.component.html b/src/app/navbar/navbar.component.html index 06b457ba48..6fbf39278d 100644 --- a/src/app/navbar/navbar.component.html +++ b/src/app/navbar/navbar.component.html @@ -87,9 +87,9 @@ diff --git a/src/app/shared/styles/entry-table.scss b/src/app/shared/styles/entry-table.scss index e3bda6dbb3..820e7b7f15 100644 --- a/src/app/shared/styles/entry-table.scss +++ b/src/app/shared/styles/entry-table.scss @@ -34,10 +34,6 @@ align-items: center; } -.mat-column-author { - flex: 0 0 180px; -} - .mat-column-name { word-break: break-word; } diff --git a/src/app/workflows/list/list.component.html b/src/app/workflows/list/list.component.html index e2ee453f68..5142dc6585 100644 --- a/src/app/workflows/list/list.component.html +++ b/src/app/workflows/list/list.component.html @@ -35,16 +35,16 @@ - Verified - + Verified + done - Stars - + Stars + {{ workflow?.starredUsers.length === 0 ? '' : workflow?.starredUsers.length }} star_rate diff --git a/src/ds-style-fix.scss b/src/ds-style-fix.scss index f201e9fb72..253cdd02cf 100644 --- a/src/ds-style-fix.scss +++ b/src/ds-style-fix.scss @@ -753,6 +753,11 @@ div.modal form { margin: 2px !important; } +.mat-chip-list-wrapper { + display: inline-flex !important; + margin: auto !important; +} + .mat-drawer-container { z-index: unset !important; background-color: #fff !important; From a2800a142158a7cf6c56dcad8b2252227c20544f Mon Sep 17 00:00:00 2001 From: "imgbot[bot]" <31301654+imgbot[bot]@users.noreply.github.com> Date: Fri, 12 Feb 2021 15:21:36 -0500 Subject: [PATCH 029/119] [ImgBot] Optimize images (#1153) *Total -- 151.02kb -> 127.14kb (15.81%) /src/assets/images/sponsors/non-coloured/ucsc.png -- 43.92kb -> 28.85kb (34.31%) /src/assets/images/dockstore/tag-cloud.svg -- 1.78kb -> 1.29kb (27.81%) /src/assets/images/thirdparty/cavatica.png -- 4.94kb -> 3.77kb (23.8%) /src/assets/images/sponsors/non-coloured/broad1.svg -- 9.28kb -> 7.42kb (20.06%) /src/assets/images/sponsors/non-coloured/ga.svg -- 26.43kb -> 22.88kb (13.43%) /src/assets/svg/Dockstore-logo-horizontal-white.svg -- 4.95kb -> 4.65kb (6.15%) /src/assets/images/sponsors/non-coloured/broad-gray.svg -- 24.78kb -> 23.36kb (5.71%) /src/assets/images/sponsors/non-coloured/oicr.svg -- 20.66kb -> 20.66kb (0.01%) /src/assets/images/sponsors/non-coloured/collaboratory.svg -- 14.27kb -> 14.27kb (0.01%) Signed-off-by: ImgBotApp Co-authored-by: ImgBotApp --- src/assets/images/dockstore/tag-cloud.svg | 24 +- .../sponsors/non-coloured/broad-gray.svg | 372 +------------ .../images/sponsors/non-coloured/broad1.svg | 180 +----- .../sponsors/non-coloured/collaboratory.svg | 2 +- .../images/sponsors/non-coloured/ga.svg | 517 +----------------- .../images/sponsors/non-coloured/oicr.svg | 2 +- .../images/sponsors/non-coloured/ucsc.png | Bin 44971 -> 29543 bytes src/assets/images/thirdparty/cavatica.png | Bin 5062 -> 3857 bytes .../svg/Dockstore-logo-horizontal-white.svg | 63 +-- 9 files changed, 7 insertions(+), 1153 deletions(-) diff --git a/src/assets/images/dockstore/tag-cloud.svg b/src/assets/images/dockstore/tag-cloud.svg index 64677053e5..036d715fa5 100644 --- a/src/assets/images/dockstore/tag-cloud.svg +++ b/src/assets/images/dockstore/tag-cloud.svg @@ -1,23 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/broad-gray.svg b/src/assets/images/sponsors/non-coloured/broad-gray.svg index c1eb4e7510..622f5a634d 100644 --- a/src/assets/images/sponsors/non-coloured/broad-gray.svg +++ b/src/assets/images/sponsors/non-coloured/broad-gray.svg @@ -1,371 +1 @@ - - - - - - image/svg+xml - - - - - - - - - - - + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/broad1.svg b/src/assets/images/sponsors/non-coloured/broad1.svg index 51fb5d4e99..13407e6490 100644 --- a/src/assets/images/sponsors/non-coloured/broad1.svg +++ b/src/assets/images/sponsors/non-coloured/broad1.svg @@ -1,179 +1 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/collaboratory.svg b/src/assets/images/sponsors/non-coloured/collaboratory.svg index 6463901646..c3720d6031 100644 --- a/src/assets/images/sponsors/non-coloured/collaboratory.svg +++ b/src/assets/images/sponsors/non-coloured/collaboratory.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/ga.svg b/src/assets/images/sponsors/non-coloured/ga.svg index d58ce29571..9f10aed8bf 100644 --- a/src/assets/images/sponsors/non-coloured/ga.svg +++ b/src/assets/images/sponsors/non-coloured/ga.svg @@ -1,516 +1 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/oicr.svg b/src/assets/images/sponsors/non-coloured/oicr.svg index 98244f790d..0edd4d3a6a 100644 --- a/src/assets/images/sponsors/non-coloured/oicr.svg +++ b/src/assets/images/sponsors/non-coloured/oicr.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/images/sponsors/non-coloured/ucsc.png b/src/assets/images/sponsors/non-coloured/ucsc.png index 6aa5364c1a01aa9905f60d428a297efbed017fda..1427e7cdff601fc470aea3a6b6c2e4cec01eef99 100644 GIT binary patch literal 29543 zcmdpe`9IWq8@Cp1P9z~&D*HAZDZ7*`GsZ4kV<|#nM$904%PIR{j6t?ysH|Csv9&Q- zr^ap!Wo>9o_880a<#gZoInVPSJo>?l_+HoNTHn|EbA3gdn;ITJcIFrx8{2URSkID; z?I4YfZJ+UxL%?@-%-h?6PX|4&np|aLD^K9qyu}WDea;nZX~M=9EXl_9;4e0|4d7c3 zzO%9U|H;NSdy|b#BaMxX|6V51LJRnhLoQH5J+__Qf6p6VCIjEu=i_I3eIGeD@EIGM zZxTfB>h=4>jK;tbC;hDEoUK`04h-dQOQ@S4s2B{e*0Z>7epMy_&oA@n0VPS+L<7tL zIwy{Ouuu2M3m&6$=O3Ora`eSPT`-v0n7YPH@EBkFHaW7Ep012+4=bHpAvzmnvpPek zk<*>&b@Nui%Ygj<4?jM|MfS*0* zxdUeTcqCIz;B~~7wT*ySsgEAd@rpIkMK7aC)gvZK+gB<550NWjkPqUZB;h%UMp^ow z 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 literal 44971 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 B3nc&m diff --git a/src/assets/images/thirdparty/cavatica.png b/src/assets/images/thirdparty/cavatica.png index be0a9be945e292d0e3bc30c97e7edc93e11845b3..42a138f01b63d87ffa69429bac3592ba485ff37d 100644 GIT binary patch literal 3857 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 literal 5062 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 diff --git a/src/assets/svg/Dockstore-logo-horizontal-white.svg b/src/assets/svg/Dockstore-logo-horizontal-white.svg index ed87190c87..2c6ce1ff05 100644 --- a/src/assets/svg/Dockstore-logo-horizontal-white.svg +++ b/src/assets/svg/Dockstore-logo-horizontal-white.svg @@ -1,62 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file From 643c82afb1fbbf89b7981bec2f6508a917a6cd92 Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Thu, 18 Feb 2021 10:59:45 -0500 Subject: [PATCH 030/119] created more data-cy IDs used for footer links (#1157) --- cypress/integration/manualTests/monitor.ts | 4 +++- src/app/footer/footer.component.html | 16 +++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/cypress/integration/manualTests/monitor.ts b/cypress/integration/manualTests/monitor.ts index 683f5482ca..c539f7d5fd 100644 --- a/cypress/integration/manualTests/monitor.ts +++ b/cypress/integration/manualTests/monitor.ts @@ -17,13 +17,15 @@ function checkExternalLink(selector: string, url: string): void { const selectorLinkTuples = [ ['[data-cy=register-button]', '/login'], ['[data-cy=homepage-organizations-button]', '/organizations'], + ['[data-cy=footer-organizations-link]', '/organizations'], ['[data-cy=homepage-search-link]', '/search'], + ['[data-cy=footer-search-link]', '/search'], ]; const externalLinkTuples = [ ['[data-cy=homepage-discuss-link]', 'discuss.dockstore.org'], ['[data-cy=footer-api-link]', '/static/swagger-ui/index.html'], - ['[data-cy=footer-about-link]', '/dockstore-introduction.html'], + ['[data-cy=footer-documentation-link]', '/dockstore-introduction.html'], ]; before(() => { diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index 2700c05566..1d760acce5 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -24,18 +24,24 @@
  • - + Explore
  • - + Organizations
  • - + About
  • @@ -43,7 +49,7 @@
  • - + The Team
  • @@ -53,7 +59,6 @@ target="_blank" rel="noopener noreferrer" class="footer-link" - data-cy="footer-about-link" > Roadmap @@ -112,6 +117,7 @@ target="_blank" rel="noopener noreferrer" class="footer-link" + data-cy="footer-documentation-link" > Documentation From 4187f5064a952382ff0e8ae3d305ac231b9b43ae Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Fri, 19 Feb 2021 17:04:39 -0500 Subject: [PATCH 031/119] Feature/4009/copy snackbar (#1158) * snackbar directive added * snackbar displays copied when button clicked --- src/app/app.module.ts | 2 ++ src/app/container/container.component.html | 1 + .../descriptors/descriptors.component.html | 2 +- .../container/info-tab/info-tab.component.html | 4 ++-- .../paramfiles/paramfiles.component.html | 2 +- .../version-modal/version-modal.component.html | 2 +- .../entry-file-tab.component.html | 2 +- src/app/footer/footer.component.html | 2 +- src/app/footer/footer.component.ts | 12 ++---------- .../accounts/external/accounts.component.html | 2 ++ .../downloadcliclient.component.html | 1 + src/app/search/search.component.html | 1 + src/app/search/search.module.ts | 2 ++ .../code-editor-list.component.html | 1 + src/app/shared/entry/entry.module.ts | 2 ++ src/app/shared/modules/container.module.ts | 2 ++ src/app/shared/modules/snackbar.module.ts | 8 ++++++++ src/app/shared/modules/workflow.module.ts | 2 ++ src/app/shared/snackbar.directive.ts | 17 +++++++++++++++++ .../descriptors/descriptors.component.html | 2 +- .../workflow/info-tab/info-tab.component.html | 2 +- .../paramfiles/paramfiles.component.html | 2 +- 22 files changed, 53 insertions(+), 20 deletions(-) create mode 100644 src/app/shared/modules/snackbar.module.ts create mode 100644 src/app/shared/snackbar.directive.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 86a227c100..63c5dd6a93 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -81,6 +81,7 @@ import { ListContainersModule } from './shared/modules/list-containers.module'; import { ListWorkflowsModule } from './shared/modules/list-workflows.module'; import { CustomMaterialModule } from './shared/modules/material.module'; import { OrderByModule } from './shared/modules/orderby.module'; +import { SnackbarModule } from './shared/modules/snackbar.module'; import { ApiModule as ApiModule2 } from './shared/openapi/api.module'; import { GA4GHV20Service } from './shared/openapi/api/gA4GHV20.service'; import { PagenumberService } from './shared/pagenumber.service'; @@ -178,6 +179,7 @@ export function configurationServiceFactory(configurationService: ConfigurationS RequestsModule, HomePageModule, HttpClientModule, + SnackbarModule, ], providers: [ AccountsService, diff --git a/src/app/container/container.component.html b/src/app/container/container.component.html index 9ab0ce3887..507d648d15 100644 --- a/src/app/container/container.component.html +++ b/src/app/container/container.component.html @@ -290,6 +290,7 @@

    Docker Pull Command

    type="button" [cdkCopyToClipboard]="dockerPullCmd" (cbOnSuccess)="toolCopyBtnClick('docker_pull_command')" + appSnackbar > file_copy diff --git a/src/app/container/descriptors/descriptors.component.html b/src/app/container/descriptors/descriptors.component.html index ef23a805ad..c715daa648 100644 --- a/src/app/container/descriptors/descriptors.component.html +++ b/src/app/container/descriptors/descriptors.component.html @@ -80,7 +80,7 @@ save_alt -
    diff --git a/src/app/container/info-tab/info-tab.component.html b/src/app/container/info-tab/info-tab.component.html index e4b80eb36e..d76fa77e02 100644 --- a/src/app/container/info-tab/info-tab.component.html +++ b/src/app/container/info-tab/info-tab.component.html @@ -51,7 +51,7 @@ {{ tool?.tool_path }} - @@ -60,7 +60,7 @@ {{ tool?.tool_path }} - diff --git a/src/app/container/paramfiles/paramfiles.component.html b/src/app/container/paramfiles/paramfiles.component.html index 5859c573bd..f6e9c102c9 100644 --- a/src/app/container/paramfiles/paramfiles.component.html +++ b/src/app/container/paramfiles/paramfiles.component.html @@ -82,7 +82,7 @@ save_alt -
    diff --git a/src/app/container/version-modal/version-modal.component.html b/src/app/container/version-modal/version-modal.component.html index 3e5c7d81e8..37ee40b897 100644 --- a/src/app/container/version-modal/version-modal.component.html +++ b/src/app/container/version-modal/version-modal.component.html @@ -393,7 +393,7 @@

    {{ TagEditorMode[mode] }} Version Tag

    disabled /> - diff --git a/src/app/entry/entry-file-tab/entry-file-tab.component.html b/src/app/entry/entry-file-tab/entry-file-tab.component.html index ba82cb89a4..b6b263cbf4 100644 --- a/src/app/entry/entry-file-tab/entry-file-tab.component.html +++ b/src/app/entry/entry-file-tab/entry-file-tab.component.html @@ -48,7 +48,7 @@ save_alt - diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index 1d760acce5..d60785251e 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -101,7 +101,7 @@
  • - diff --git a/src/app/footer/footer.component.ts b/src/app/footer/footer.component.ts index 7bdf9ddcb3..059d2213c9 100644 --- a/src/app/footer/footer.component.ts +++ b/src/app/footer/footer.component.ts @@ -15,7 +15,6 @@ */ import { HttpErrorResponse } from '@angular/common/http'; import { Component, OnInit } from '@angular/core'; -import { MatSnackBar } from '@angular/material/snack-bar'; import { takeUntil } from 'rxjs/operators'; import { MetadataService } from '../metadata/metadata.service'; @@ -29,7 +28,7 @@ import { versions } from './versions'; @Component({ selector: 'app-footer', templateUrl: './footer.component.html', - styleUrls: ['./footer.component.css'] + styleUrls: ['./footer.component.css'], }) export class FooterComponent extends Base implements OnInit { version: string; @@ -58,17 +57,10 @@ export class FooterComponent extends Base implements OnInit { */ private readonly WEBSERVICE_DOWN_STATUS_CODES = [0, 404, 502, 504]; - constructor(private metadataService: MetadataService, private footerService: FooterService, private matSnackBar: MatSnackBar) { + constructor(private metadataService: MetadataService, private footerService: FooterService) { super(); } - openSnackBar() { - this.matSnackBar.open('Copied!', '', { - duration: 500, - panelClass: 'custom_copy_snack_bar', - }); - } - ngOnInit() { this.year = new Date().getFullYear(); this.tag = versions.tag; diff --git a/src/app/loginComponents/accounts/external/accounts.component.html b/src/app/loginComponents/accounts/external/accounts.component.html index 352e64185c..1c418b3f58 100644 --- a/src/app/loginComponents/accounts/external/accounts.component.html +++ b/src/app/loginComponents/accounts/external/accounts.component.html @@ -38,6 +38,7 @@

    Dockstore Account

    [cdkCopyToClipboard]="dockstoreToken" (cbOnSuccess)="isCopied1 = true" matTooltip="Copy Token" + appSnackbar > file_copy @@ -83,6 +84,7 @@

    color="secondary" [cdkCopyToClipboard]="row.source | getTokenContent: tokens" (cbOnSuccess)="isCopied1 = true" + appSnackbar > file_copy diff --git a/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.html b/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.html index 10be1c331a..4e4c8c60f9 100644 --- a/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.html +++ b/src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.html @@ -27,6 +27,7 @@ type="button" [cdkCopyToClipboard]="inputTarget" (cbOnSuccess)="isCopied2 = true" + appSnackbar > file_copy diff --git a/src/app/search/search.component.html b/src/app/search/search.component.html index 7c2ab10621..a277111973 100644 --- a/src/app/search/search.component.html +++ b/src/app/search/search.component.html @@ -173,6 +173,7 @@ type="button" [cdkCopyToClipboard]="shortUrl$ | async" (cbOnSuccess)="isCopied = true" + appSnackbar > file_copy diff --git a/src/app/search/search.module.ts b/src/app/search/search.module.ts index f9bb09c47a..196d9982d5 100644 --- a/src/app/search/search.module.ts +++ b/src/app/search/search.module.ts @@ -27,6 +27,7 @@ import { TagCloudModule } from 'angular-tag-cloud-module'; import { RefreshAlertModule } from '../shared/alert/alert.module'; import { HeaderModule } from '../shared/modules/header.module'; import { CustomMaterialModule } from '../shared/modules/material.module'; +import { SnackbarModule } from '../shared/modules/snackbar.module'; import { PipeModule } from '../shared/pipe/pipe.module'; import { PrivateIconModule } from '../shared/private-icon/private-icon.module'; import { AdvancedSearchComponent } from './advancedsearch/advancedsearch.component'; @@ -65,6 +66,7 @@ import { SearchService } from './state/search.service'; RefreshAlertModule, FlexLayoutModule, MdePopoverModule, + SnackbarModule, ], providers: [SearchService, QueryBuilderService], exports: [SearchComponent], diff --git a/src/app/shared/code-editor-list/code-editor-list.component.html b/src/app/shared/code-editor-list/code-editor-list.component.html index 39e018d514..d4ca655ac0 100644 --- a/src/app/shared/code-editor-list/code-editor-list.component.html +++ b/src/app/shared/code-editor-list/code-editor-list.component.html @@ -67,6 +67,7 @@ class="mr-2" matTooltip="Copy to clipboard" [cdkCopyToClipboard]="sourcefile?.content" + appSnackbar > file_copy diff --git a/src/app/shared/entry/entry.module.ts b/src/app/shared/entry/entry.module.ts index 598a764829..cddb25e993 100644 --- a/src/app/shared/entry/entry.module.ts +++ b/src/app/shared/entry/entry.module.ts @@ -31,6 +31,7 @@ import { CodeEditorComponent } from '../code-editor/code-editor.component'; import { EntryActionsService } from '../entry-actions/entry-actions.service'; import { PublicFileDownloadPipe } from '../entry/public-file-download.pipe'; import { CustomMaterialModule } from '../modules/material.module'; +import { SnackbarModule } from '../modules/snackbar.module'; import { CommitUrlPipe } from './commit-url.pipe'; import { InfoTabCheckerWorkflowPathComponent } from './info-tab-checker-workflow-path/info-tab-checker-workflow-path.component'; import { LaunchCheckerWorkflowComponent } from './launch-checker-workflow/launch-checker-workflow.component'; @@ -55,6 +56,7 @@ import { VersionProviderUrlPipe } from './versionProviderUrl.pipe'; RouterModule, ReactiveFormsModule, RefreshAlertModule, + SnackbarModule, ], declarations: [ InfoTabCheckerWorkflowPathComponent, diff --git a/src/app/shared/modules/container.module.ts b/src/app/shared/modules/container.module.ts index b2e5543137..df5726d2a8 100644 --- a/src/app/shared/modules/container.module.ts +++ b/src/app/shared/modules/container.module.ts @@ -56,6 +56,7 @@ import { HeaderModule } from './header.module'; import { ListContainersModule } from './list-containers.module'; import { MarkdownWrapperModule } from './markdown-wrapper.module'; import { SelectModule } from './select.module'; +import { SnackbarModule } from './snackbar.module'; @NgModule({ declarations: [ @@ -91,6 +92,7 @@ import { SelectModule } from './select.module'; FlexLayoutModule, MarkdownModule, MarkdownWrapperModule, + SnackbarModule, ], providers: [ EmailService, diff --git a/src/app/shared/modules/snackbar.module.ts b/src/app/shared/modules/snackbar.module.ts new file mode 100644 index 0000000000..f7ccfd82bd --- /dev/null +++ b/src/app/shared/modules/snackbar.module.ts @@ -0,0 +1,8 @@ +import { NgModule } from '@angular/core'; +import { SnackbarDirective } from '../snackbar.directive'; + +@NgModule({ + declarations: [SnackbarDirective], + exports: [SnackbarDirective], +}) +export class SnackbarModule {} diff --git a/src/app/shared/modules/workflow.module.ts b/src/app/shared/modules/workflow.module.ts index 8819953dfa..757bc2181a 100644 --- a/src/app/shared/modules/workflow.module.ts +++ b/src/app/shared/modules/workflow.module.ts @@ -58,6 +58,7 @@ import { EntryModule } from './../entry/entry.module'; import { CustomMaterialModule } from './../modules/material.module'; import { RefreshService } from './../refresh.service'; import { MarkdownWrapperModule } from './markdown-wrapper.module'; +import { SnackbarModule } from './snackbar.module'; @NgModule({ declarations: [ @@ -97,6 +98,7 @@ import { MarkdownWrapperModule } from './markdown-wrapper.module'; MarkdownModule, RefreshAlertModule, MarkdownWrapperModule, + SnackbarModule, ], providers: [ DateService, diff --git a/src/app/shared/snackbar.directive.ts b/src/app/shared/snackbar.directive.ts new file mode 100644 index 0000000000..d3d84468a1 --- /dev/null +++ b/src/app/shared/snackbar.directive.ts @@ -0,0 +1,17 @@ +import { Directive, HostListener } from '@angular/core'; +import { MatSnackBar } from '@angular/material/snack-bar'; + +@Directive({ + selector: '[appSnackbar]', +}) +export class SnackbarDirective { + constructor(private matSnackBar: MatSnackBar) {} + + @HostListener('click') + onClick() { + this.matSnackBar.open('Copied!', '', { + duration: 1000, + panelClass: 'custom_copy_snack_bar', + }); + } +} diff --git a/src/app/workflow/descriptors/descriptors.component.html b/src/app/workflow/descriptors/descriptors.component.html index d9abfc3973..3b8f80e42d 100644 --- a/src/app/workflow/descriptors/descriptors.component.html +++ b/src/app/workflow/descriptors/descriptors.component.html @@ -56,7 +56,7 @@ save_alt -

  • diff --git a/src/app/workflow/info-tab/info-tab.component.html b/src/app/workflow/info-tab/info-tab.component.html index aff61cf010..a43713ad73 100644 --- a/src/app/workflow/info-tab/info-tab.component.html +++ b/src/app/workflow/info-tab/info-tab.component.html @@ -54,7 +54,7 @@
  • TRS: #{{ entryType$ | async }}/{{ workflow?.full_workflow_path }} -
  • diff --git a/src/app/workflow/paramfiles/paramfiles.component.html b/src/app/workflow/paramfiles/paramfiles.component.html index 0b2a84fa68..ce658fb93d 100644 --- a/src/app/workflow/paramfiles/paramfiles.component.html +++ b/src/app/workflow/paramfiles/paramfiles.component.html @@ -64,7 +64,7 @@ save_alt -
    From 45c637356b7db1da6b229f0e042df4706ad3adcd Mon Sep 17 00:00:00 2001 From: NatalieEO Date: Mon, 22 Feb 2021 09:07:42 -0800 Subject: [PATCH 032/119] 4040/launch with nextflow tower (#1156) * launch with nextflow tower dockstore/dockstore#4040 --- src/app/shared/dockstore.model.ts | 1 + .../launch-third-party.component.html | 28 +++++++++++++++++- .../images/thirdparty/nextflow-icon.png | Bin 0 -> 10838 bytes 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/assets/images/thirdparty/nextflow-icon.png diff --git a/src/app/shared/dockstore.model.ts b/src/app/shared/dockstore.model.ts index 63b5b59dbc..0fe115dfa5 100644 --- a/src/app/shared/dockstore.model.ts +++ b/src/app/shared/dockstore.model.ts @@ -37,6 +37,7 @@ export class Dockstore { static BD_CATALYST_SEVEN_BRIDGES_IMPORT_URL = 'https://sb.biodatacatalyst.nhlbi.nih.gov/integration/trs/import'; static BD_CATALYST_TERRA_IMPORT_URL = 'https://terra.biodatacatalyst.nhlbi.nih.gov/#import-tool/dockstore'; static CAVATICA_IMPORT_URL = 'https://cavatica.sbgenomics.com/integration/trs/import'; + static NEXTFLOW_TOWER_IMPORT_URL = 'https://tower.nf/launch'; static GITHUB_CLIENT_ID = 'will be filled in by configuration.service'; static GITHUB_AUTH_URL = 'https://github.com/login/oauth/authorize'; diff --git a/src/app/workflow/launch-third-party/launch-third-party.component.html b/src/app/workflow/launch-third-party/launch-third-party.component.html index 4453086842..b685fbb2bf 100644 --- a/src/app/workflow/launch-third-party/launch-third-party.component.html +++ b/src/app/workflow/launch-third-party/launch-third-party.component.html @@ -1,4 +1,7 @@ -
    +

    Launch with

    @@ -107,6 +110,29 @@

    Launch with

    > Cavatica
    +
    diff --git a/src/assets/images/thirdparty/nextflow-icon.png b/src/assets/images/thirdparty/nextflow-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c170f328ff6d4da7bee6160c2ec4775faf0db58e GIT binary patch literal 10838 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 BId=d6 literal 0 HcmV?d00001 From b7a996facaf3500a6b35056dc629c0f09bfaf56a Mon Sep 17 00:00:00 2001 From: Gary Luu Date: Mon, 22 Feb 2021 22:26:39 -0500 Subject: [PATCH 033/119] Fix for text search (#1151) * Fix for text search * Don't match substring in non-paths --- src/app/search/query-builder.service.ts | 33 ++++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/app/search/query-builder.service.ts b/src/app/search/query-builder.service.ts index 817b91a9ed..8cdbc16ab0 100644 --- a/src/app/search/query-builder.service.ts +++ b/src/app/search/query-builder.service.ts @@ -179,7 +179,7 @@ export class QueryBuilderService { appendQuery(body: any, values: string, oldAdvancedSearchObject: AdvancedSearchObject, searchTerm: boolean): any { const advancedSearchObject = { ...oldAdvancedSearchObject }; if (values.toString().length > 0) { - this.searchEverything(body, values); + body = this.searchEverything(body, values); } else { body = body.query('match_all', {}); } @@ -198,22 +198,25 @@ export class QueryBuilderService { /** * Appends search-everything filter to the query * Currently searches sourcefiles, description, labels, author, and path - * @param {*} body The original body - * @param {string} searchString the search string - * @memberof QueryBuilderService + * Some requirements: + * 1. Need to be able to match substring (ex. "chicken pot pie" should match "pot") + * 2. Need to be able to handle slashes (ex. "beef/stew" should match "beef/stew") + * Wildcard is used for #1 + * The paths use keyword instead of string because #2 wouldn't work otherwise + * + * @param body Body from the Bodybuilder package which will be mutated + * @param searchString The string entered into the basic search bar by the user */ - searchEverything(body: any, searchString: string): void { - body = body.filter('bool', (filter) => + private searchEverything(body: bodybuilder.Bodybuilder, searchString: string): bodybuilder.Bodybuilder { + return body.filter('bool', (filter) => filter - .orFilter('bool', (workflowVersionsFileContent) => - workflowVersionsFileContent.filter('match_phrase', 'workflowVersions.sourceFiles.content', searchString) - ) - .orFilter('bool', (tagsFileContent) => tagsFileContent.filter('match_phrase', 'tags.sourceFiles.content', searchString)) - .orFilter('bool', (descriptionFilter) => descriptionFilter.filter('match_phrase', 'description', searchString)) - .orFilter('bool', (labelsFilter) => labelsFilter.filter('match_phrase', 'labels', searchString)) - .orFilter('bool', (authorFilter) => authorFilter.filter('match_phrase', 'author', searchString)) - .orFilter('bool', (pathFilter) => pathFilter.filter('match_phrase', 'tool_path', searchString)) - .orFilter('bool', (pathFilter) => pathFilter.filter('match_phrase', 'full_workflow_path', searchString)) + .orFilter('wildcard', { 'full_workflow_path.keyword': { value: '*' + searchString + '*', case_insensitive: true } }) + .orFilter('wildcard', { 'tool_path.keyword': { value: '*' + searchString + '*', case_insensitive: true } }) + .orFilter('match_phrase', 'workflowVersions.sourceFiles.content', searchString) + .orFilter('match_phrase', 'tags.sourceFiles.content', searchString) + .orFilter('match_phrase', 'description', searchString) + .orFilter('match_phrase', 'labels', searchString) + .orFilter('match_phrase', 'author', searchString) ); } From 342b59a3cc742b11bf8134ce5000e0644bacd234 Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Tue, 23 Feb 2021 10:07:25 -0500 Subject: [PATCH 034/119] Feature/organization collection index (#1159) * new icons * reimplementation done without completing the organization header * one column organization members * added cy.wait for integration testing purposes * removed lines from organization.ts due to removing images from organization.component * styles recovered * hide name when screen size is small * param name changed * alt attribute added * get rid of unnecessary subscriptions and outputs * clean up css * maintainer view edit buttons styling update * pipe map observable --- cypress/integration/group2/organizations.ts | 4 - src/app/app.component.css | 4 - .../collection/collection.component.html | 2 +- .../collection/collection.component.scss | 4 + .../collections/collections.component.html | 61 ++++---- .../collections/collections.component.scss | 26 ++++ .../organization-members.component.html | 38 ++--- .../organization-members.component.scss | 30 +++- .../organization/organization.component.html | 141 ++++++++++-------- .../organization/organization.component.scss | 28 +++- .../organization/organization.component.ts | 11 +- .../organizations.component.html | 7 +- src/assets/svg/collections.svg | 21 +++ src/assets/svg/organization.svg | 15 ++ src/styles.css | 8 +- src/styles.scss | 7 +- 16 files changed, 270 insertions(+), 137 deletions(-) create mode 100644 src/assets/svg/collections.svg create mode 100644 src/assets/svg/organization.svg diff --git a/cypress/integration/group2/organizations.ts b/cypress/integration/group2/organizations.ts index a4d9e85b0d..2bd01e353b 100644 --- a/cypress/integration/group2/organizations.ts +++ b/cypress/integration/group2/organizations.ts @@ -75,7 +75,6 @@ describe('Dockstore Organizations', () => { cy.contains('Basement'); cy.contains('asdf@asdf.ca'); cy.contains('No collections found'); - cy.get('.orgLogo').should('have.attr', 'src').should('include', '../../../assets/images/dockstore/PlaceholderLC.png'); }); it('be able to edit an unapproved organization', () => { cy.get('#editOrgInfo').should('be.visible').click(); @@ -113,9 +112,6 @@ describe('Dockstore Organizations', () => { cy.contains('https://www.google.com'); cy.contains('UCSC Basement'); cy.contains('asdf@asdf.com'); - cy.get('.orgLogo') - .should('have.attr', 'src') - .should('include', 'https://www.gravatar.com/avatar/000?d=' + imageURL); }); it('have request shown on homepage', () => { diff --git a/src/app/app.component.css b/src/app/app.component.css index 37d85ce4fa..21aafbf186 100644 --- a/src/app/app.component.css +++ b/src/app/app.component.css @@ -18,7 +18,3 @@ font-display: swap; src: url('../assets/fonts/Gotham-BookItalic.otf') format('opentype'); } - -* { - font-family: 'Gotham'; -} diff --git a/src/app/organizations/collection/collection.component.html b/src/app/organizations/collection/collection.component.html index 36833482cc..dbcedcd3b2 100644 --- a/src/app/organizations/collection/collection.component.html +++ b/src/app/organizations/collection/collection.component.html @@ -40,7 +40,7 @@
    - +
    diff --git a/src/app/organizations/collection/collection.component.scss b/src/app/organizations/collection/collection.component.scss index e69de29bb2..b3a96ff9e3 100644 --- a/src/app/organizations/collection/collection.component.scss +++ b/src/app/organizations/collection/collection.component.scss @@ -0,0 +1,4 @@ +.orgLogo { + max-height: 150px; + max-width: 200px; +} diff --git a/src/app/organizations/collections/collections.component.html b/src/app/organizations/collections/collections.component.html index c8f732e2a0..d4b221dbc3 100644 --- a/src/app/organizations/collections/collections.component.html +++ b/src/app/organizations/collections/collections.component.html @@ -18,38 +18,41 @@ info No collections found.
    -
    - -
    - diff --git a/src/app/organizations/collections/collections.component.scss b/src/app/organizations/collections/collections.component.scss index 05c0d946ce..bf5e0e2e5b 100644 --- a/src/app/organizations/collections/collections.component.scss +++ b/src/app/organizations/collections/collections.component.scss @@ -1,3 +1,29 @@ .mat-action-row { border: 0; } + +.view-button { + background: #397a84; + color: white; + font-size: 12px; + padding: 0.5rem 1rem; +} + +hr { + margin: 0.5rem 0; + border: 1px solid #dfe0e2; +} + +.mat-card-title, +.mat-card-subtitle, +h4 { + color: #151c3d; +} + +.mat-card-title { + font-size: 1.7rem; +} + +.mat-card-subtitle { + font-size: 1.4rem; +} diff --git a/src/app/organizations/organization-members/organization-members.component.html b/src/app/organizations/organization-members/organization-members.component.html index 82cd018faa..f6be1ba369 100644 --- a/src/app/organizations/organization-members/organization-members.component.html +++ b/src/app/organizations/organization-members/organization-members.component.html @@ -14,26 +14,28 @@ limitations under the License. --> -
    +
    - -
    -
    - - - - {{ organizationUser.user?.username }} - {{ organizationUser.role | titlecase }} - - ORCID + +
    +
    + + +
    +
    +
    {{ organizationUser.user?.username }}
    + {{ organizationUser.role | titlecase }} +
    + +
    ORCID
    {{ organizationUser.user?.orcid }} - - +
    +
    diff --git a/src/app/organizations/organization-members/organization-members.component.scss b/src/app/organizations/organization-members/organization-members.component.scss index 19d59769b5..47202549bb 100644 --- a/src/app/organizations/organization-members/organization-members.component.scss +++ b/src/app/organizations/organization-members/organization-members.component.scss @@ -3,8 +3,13 @@ } .mat-card-avatar { - height: 90px !important; - width: 90px !important; + height: 50px !important; + width: 50px !important; +} + +.orcid { + font-size: 12px; + line-height: none; } .mat-action-row { @@ -16,3 +21,24 @@ width: 1.4rem; vertical-align: sub; } + +.mat-standard-chip { + font-size: 1.1rem; + border-radius: 1rem; + padding: none; +} + +a { + text-decoration: underline; +} + +.role-display { + background: #e0e0e0; + border-radius: 1rem; + padding: 0.5rem 0.7rem; + font-size: 1.3rem; +} + +* { + color: #151c3d; +} diff --git a/src/app/organizations/organization/organization.component.html b/src/app/organizations/organization/organization.component.html index 24a8128d36..0b3fcf4344 100644 --- a/src/app/organizations/organization/organization.component.html +++ b/src/app/organizations/organization/organization.component.html @@ -14,8 +14,14 @@ limitations under the License. --> - people - Organizations +
    +
    + organization icon + Organizations + / + {{ (organization$ | async)?.displayName }} +
    +
    Organization not found
    @@ -24,7 +30,7 @@

    {{ org.displayName }}

    -
    +
    {{ org.displayName }} accounts page. - -
    -
    - +
    +
    +
    +
    +

    {{ org.displayName }}

    + {{ org.topic }} +
    -
    - - -

    {{ org.displayName }}

    -
    - - {{ org.topic }} - -
    +
    +
    - -
    - - email - {{ org.email }} - - - link - {{ org?.link }} - - - location_on - {{ org.location }} - -
    - -
    - +
    -
    +
    - + + +
    + collections icon + Collections + {{ collectionsLength$ | async }} +
    +
    - + + +
    + people + Members + {{ (organizationMembersQuery.sortedOrganizationMembers$ | async).length }} +
    +
    - + + +
    + update + Updates + {{ (eventsQuery.organizationEvents$ | async).length }} +
    +
    - -
    -
    -
    Select edit to add a markdown description
    -
    This organization does not have a description
    +
    +
    +

    About the Organization

    +
    +
    +
    Select edit to add a markdown description
    +
    This organization does not have a description
    +
    +
    - +
    +
    + + link + {{ org?.link }} + + + location_on + {{ org.location }} +
    - +
    diff --git a/src/app/organizations/organization/organization.component.scss b/src/app/organizations/organization/organization.component.scss index b3a96ff9e3..a593007ffa 100644 --- a/src/app/organizations/organization/organization.component.scss +++ b/src/app/organizations/organization/organization.component.scss @@ -1,4 +1,26 @@ -.orgLogo { - max-height: 150px; - max-width: 200px; +.side-icons { + color: #397a84; +} + +.mat-tab-group { + color: #3f51b5; +} + +.tab-icons { + color: #7887cb; +} + +.tab-display { + border-radius: 0.5rem; + padding: 0.5rem; + font-size: 1.3rem; + background-color: #e0e0e0; +} + +.category-text { + text-decoration: underline; +} + +.name { + color: #151c3d; } diff --git a/src/app/organizations/organization/organization.component.ts b/src/app/organizations/organization/organization.component.ts index eb07ad6101..38b8bb56c6 100644 --- a/src/app/organizations/organization/organization.component.ts +++ b/src/app/organizations/organization/organization.component.ts @@ -28,6 +28,10 @@ import { OrganizationService } from '../state/organization.service'; // tslint:disable-next-line: max-line-length import { UpdateOrganizationOrCollectionDescriptionComponent } from './update-organization-description/update-organization-description.component'; +import { CollectionsQuery } from '../state/collections.query'; +import { EventsQuery } from '../state/events.query'; +import { OrganizationMembersQuery } from '../state/organization-members.query'; + @Component({ selector: 'organization', templateUrl: './organization.component.html', @@ -35,6 +39,7 @@ import { UpdateOrganizationOrCollectionDescriptionComponent } from './update-org }) export class OrganizationComponent implements OnInit { public organizationStarGazersClicked = false; + collectionsLength$: Observable; organization$: Observable; loading$: Observable; @@ -51,7 +56,10 @@ export class OrganizationComponent implements OnInit { private orgschemaService: OrgSchemaService, private matDialog: MatDialog, private activatedRoute: ActivatedRoute, - private userQuery: UserQuery + private userQuery: UserQuery, + public organizationMembersQuery: OrganizationMembersQuery, + public collectionsQuery: CollectionsQuery, + public eventsQuery: EventsQuery ) {} ngOnInit() { @@ -64,6 +72,7 @@ export class OrganizationComponent implements OnInit { this.isAdmin$ = this.userQuery.isAdmin$; this.isCurator$ = this.userQuery.isCurator$; this.schema$ = this.organization$.pipe(map((organization) => this.orgschemaService.getSchema(organization))); + this.collectionsLength$ = this.collectionsQuery.collections$.pipe(map((collections) => Object.keys(collections).length)); } /** diff --git a/src/app/organizations/organizations/organizations.component.html b/src/app/organizations/organizations/organizations.component.html index 8db325752e..cf0e95ed2a 100644 --- a/src/app/organizations/organizations/organizations.component.html +++ b/src/app/organizations/organizations/organizations.component.html @@ -14,8 +14,10 @@ limitations under the License. --> - people - Organizations +
    + organization icon + Organizations +
    +
    + + info This collection has no associated entries. To add an entry, navigate to the public page of the tool or + workflow you want to add and select `Add to collection` - -
    +
    - - info This collection has no associated entries. To add an entry, navigate to the public page of the tool or - workflow you want to add and select `Add to collection` - -
    +

    Workflows & Tools

    - - - -

    - + + +
    +
    + workflow icon + tool icon +
    {{ entry.entryPath + (entry.versionName ? ':' + entry.versionName : '') }} - -
    - - Last updated {{ entry.dbUpdateDate | date }} - - - - - - +

    +
    +
    + + + +
    +
    + +
    +
    + Last updated {{ entry.dbUpdateDate | date }} + + + +
    - -
    +
    +
    +
    +

    About the Collection

    + +
    Select edit to add a markdown description
    This collection does not have a description
    -
    - +
    diff --git a/src/app/organizations/collection/collection.component.scss b/src/app/organizations/collection/collection.component.scss index b3a96ff9e3..51a5381b80 100644 --- a/src/app/organizations/collection/collection.component.scss +++ b/src/app/organizations/collection/collection.component.scss @@ -1,4 +1,36 @@ .orgLogo { - max-height: 150px; + max-height: 100px; max-width: 200px; } + +.view-button { + background: #397a84; + color: white; + font-size: 12px; + padding: 0.5rem 1rem; +} + +hr { + margin: 0.5rem 0; + border: 1px solid #dfe0e2; +} + +.h5:hover { + text-decoration: underline; +} + +.mat-card-title { + font-size: 1.7rem; +} + +.update-time { + font-size: 12px; +} + +.collection-name { + color: #3f51b5; +} + +.org-name { + color: #151c3d; +} diff --git a/src/app/organizations/organization/organization.component.html b/src/app/organizations/organization/organization.component.html index 0b3fcf4344..76a8f30a5f 100644 --- a/src/app/organizations/organization/organization.component.html +++ b/src/app/organizations/organization/organization.component.html @@ -84,8 +84,7 @@

    {{ org.displayName }}

    >
    - -
    + diff --git a/src/assets/svg/tool.svg b/src/assets/svg/tool.svg new file mode 100644 index 0000000000..93781d45d0 --- /dev/null +++ b/src/assets/svg/tool.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/svg/workflow.svg b/src/assets/svg/workflow.svg new file mode 100644 index 0000000000..4d36eea942 --- /dev/null +++ b/src/assets/svg/workflow.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/styles.scss b/src/styles.scss index 35ac6c8d9d..3319c8f8bb 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -749,7 +749,7 @@ code { h5, .h5 { font-size: 16px; - color: #21335b; + color: #151c3d; font-weight: normal; } From cc24dfc2e366cb639141fcbef44383ed6d3b425b Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Thu, 25 Feb 2021 16:56:10 -0500 Subject: [PATCH 037/119] Feature/4051/UI bugs (#1162) * word break and fxflex adjusted * preview tag styling adjusted * responsive styling of add button * word break --- src/app/container/container.component.html | 1 + .../current-collections.component.html | 4 +++- .../search-workflow-table.component.html | 8 +++++--- src/app/workflow/workflow.component.html | 1 + src/ds-style-fix.scss | 5 ++++- src/styles.scss | 1 + 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/app/container/container.component.html b/src/app/container/container.component.html index 507d648d15..60e5dba1d9 100644 --- a/src/app/container/container.component.html +++ b/src/app/container/container.component.html @@ -266,6 +266,7 @@

    Recent Versions

    {{ sortedVersion.name }} {{ sortedVersion.last_built | date }} diff --git a/src/app/entry/current-collections/current-collections.component.html b/src/app/entry/current-collections/current-collections.component.html index 6e175760a2..35ae7b4649 100644 --- a/src/app/entry/current-collections/current-collections.component.html +++ b/src/app/entry/current-collections/current-collections.component.html @@ -39,7 +39,9 @@

    Collections

    (click)="addEntryToCollection()" id="addToolToCollectionButton" > - addAdd to my collection + add + Add to my collection + Add to mine
    diff --git a/src/app/search/search-workflow-table/search-workflow-table.component.html b/src/app/search/search-workflow-table/search-workflow-table.component.html index 0959247d3f..2e4297e6a4 100644 --- a/src/app/search/search-workflow-table/search-workflow-table.component.html +++ b/src/app/search/search-workflow-table/search-workflow-table.component.html @@ -33,8 +33,10 @@ {{ workflow?.author || 'n/a' }} - Format - + Format +
    {{ workflow?.descriptorType | uppercase }}
    @@ -42,7 +44,7 @@
    Project Links - + diff --git a/src/app/workflow/workflow.component.html b/src/app/workflow/workflow.component.html index 2a195fe796..5e6dafb27c 100644 --- a/src/app/workflow/workflow.component.html +++ b/src/app/workflow/workflow.component.html @@ -395,6 +395,7 @@

    Recent Versions

    {{ sortedVersion.name }} {{ sortedVersion.last_modified | date }} diff --git a/src/ds-style-fix.scss b/src/ds-style-fix.scss index 253cdd02cf..a20be580b9 100644 --- a/src/ds-style-fix.scss +++ b/src/ds-style-fix.scss @@ -295,7 +295,6 @@ div.panel-container-label.selected { clear: both; overflow: hidden; white-space: nowrap; - overflow: hidden; text-overflow: ellipsis; span { font-size: 14px; @@ -735,6 +734,10 @@ div.modal form { padding-bottom: 2px; } +.panel-body-anchor { + word-break: break-word; +} + .funding-img { position: absolute; transform: translate(-50%, -50%); diff --git a/src/styles.scss b/src/styles.scss index 3319c8f8bb..fe8c2c7be7 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -52,6 +52,7 @@ $material-design-icons-font-directory-path: '~material-design-icons-iconfont/dis text-align: center; text-transform: uppercase; font-size: 1rem; + padding: 0 0.5rem; } /* General Layout */ From 0b85de369e3f821de7768d6f9b836e4060c1f724 Mon Sep 17 00:00:00 2001 From: Richard-Hansen <36607471+Richard-Hansen@users.noreply.github.com> Date: Fri, 26 Feb 2021 18:04:42 -0500 Subject: [PATCH 038/119] Feature/3729/multiple account error messages (#1163) Auth 409 errors link to documentation on snackbar. dockstore/dockstore#3729 --- src/app/loginComponents/auth/auth.component.ts | 10 +++++++++- src/app/shared/alert/state/alert.service.ts | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/app/loginComponents/auth/auth.component.ts b/src/app/loginComponents/auth/auth.component.ts index edd7cabb97..12a38654d2 100644 --- a/src/app/loginComponents/auth/auth.component.ts +++ b/src/app/loginComponents/auth/auth.component.ts @@ -88,7 +88,15 @@ export class AuthComponent extends Base implements OnInit { }, (error) => { this.router.navigate([`${prevPage}`]); - this.alertService.detailedSnackBarError(error); + if (error.status === 409) { + this.alertService.detailedSnackBarErrorWithLink( + error, + 'Docs', + 'https://docs.dockstore.org/en/latest/faq.html#what-is-the-difference-between-logging-in-with-github-or-logging-in-with-google' + ); + } else { + this.alertService.detailedSnackBarError(error); + } } ); } diff --git a/src/app/shared/alert/state/alert.service.ts b/src/app/shared/alert/state/alert.service.ts index 41622f0cb8..9cef7af8f0 100644 --- a/src/app/shared/alert/state/alert.service.ts +++ b/src/app/shared/alert/state/alert.service.ts @@ -111,6 +111,24 @@ export class AlertService { this.matSnackBar.open(detailedError); } + /** + * + * Handles HTTP error responses that shows a detailed message in the matSnackBar and provides and action button + * that links to an external site (such as the documentation) + * + * @param error {HttpErrorResponse} error The HttpErrorResponse return by the failed Http call + * @param actionButtonText {string} The text of the action button + * @param link {link} The link that will open in a new tab + */ + public detailedSnackBarErrorWithLink(error: HttpErrorResponse, actionButtonText: string, link: string) { + this.clearEverything(); + const detailedError: string = AlertService.getDetailedErrorMessage(error); + this.matSnackBar + .open(detailedError, actionButtonText, { duration: 10000 }) + .onAction() + .subscribe(() => window.open(link, '_blank')); + } + /** * Handles error HTTP response and show matSnackBar * From 22372a6f5d025862ea51cab9c41ccf74986eb4f9 Mon Sep 17 00:00:00 2001 From: Nina Zhao <50606789+nrzhao4@users.noreply.github.com> Date: Wed, 3 Mar 2021 13:39:35 -0500 Subject: [PATCH 039/119] Feature/2073/seperate tools and workflows tab (#1127) * separate tab and facet functionality * moved tab group to search.component * tabs moved above table * added import to test * remove unused observables * linting * lint imports * lint * click tools tab in cypress test * flaky cypress test * There is only one query size * Fix * Random fixes * Remove all traces of _index as a facet * Remove a comment * Fix linking + add extra comments * Adjust test * Fix lgtm Co-authored-by: Gary Luu --- .../immutableDatabaseTests/elasticsearch.ts | 2 +- .../immutableDatabaseTests/searchTable.ts | 2 +- src/app/search/query-builder.service.ts | 8 +- .../search-results.component.html | 124 ++++++++---------- .../search-results.component.scss | 8 +- .../search-results.component.ts | 12 +- .../search-workflow-table.component.scss | 4 + src/app/search/search.component.html | 23 ++++ src/app/search/search.component.scss | 8 ++ src/app/search/search.component.spec.ts | 3 +- src/app/search/search.component.ts | 82 +++++++----- src/app/search/state/search.query.ts | 30 ----- src/app/search/state/search.service.ts | 26 ++-- src/assets/images/dockstore/tool.svg | 9 ++ src/assets/images/dockstore/workflow.svg | 9 ++ 15 files changed, 187 insertions(+), 163 deletions(-) create mode 100644 src/assets/images/dockstore/tool.svg create mode 100644 src/assets/images/dockstore/workflow.svg diff --git a/cypress/integration/immutableDatabaseTests/elasticsearch.ts b/cypress/integration/immutableDatabaseTests/elasticsearch.ts index daecd34e8d..d4c36d8d59 100644 --- a/cypress/integration/immutableDatabaseTests/elasticsearch.ts +++ b/cypress/integration/immutableDatabaseTests/elasticsearch.ts @@ -18,6 +18,6 @@ describe('elasticsearch from logged-out homepage', () => { it('Should be able to search entries for using text', () => { cy.visit('/'); cy.get('#searchBar').should('have.attr', 'placeholder', 'Search...').type('asdf{enter}'); - cy.url().should('eq', Cypress.config().baseUrl + '/search?search=asdf'); + cy.url().should('eq', Cypress.config().baseUrl + '/search?entryType=workflows&search=asdf'); }); }); diff --git a/cypress/integration/immutableDatabaseTests/searchTable.ts b/cypress/integration/immutableDatabaseTests/searchTable.ts index 2d74f5d16b..47603706af 100644 --- a/cypress/integration/immutableDatabaseTests/searchTable.ts +++ b/cypress/integration/immutableDatabaseTests/searchTable.ts @@ -394,7 +394,7 @@ describe('search table items per page', () => { cy.visit('/search'); cy.get('#mat-select-0 ').click(); cy.get('#mat-option-1 ').click(); - cy.contains('a', 'garyluu/dockstore-cgpmap/cgpmap-cramOut').click(); + cy.contains('A/l').click(); cy.get('.flex-toolbar ').contains(' Search ').click(); cy.get('.mat-select-value-text ').contains('20'); }); diff --git a/src/app/search/query-builder.service.ts b/src/app/search/query-builder.service.ts index 8cdbc16ab0..4a779d7a20 100644 --- a/src/app/search/query-builder.service.ts +++ b/src/app/search/query-builder.service.ts @@ -49,11 +49,13 @@ export class QueryBuilderService { searchTerm: boolean, bucketStubs: any, filters: any, - sortModeMap: any + sortModeMap: any, + index: 'workflows' | 'tools' ): string { const count = this.getNumberOfFilters(filters); let sidebarBody = bodybuilder().size(query_size); sidebarBody = this.excludeContent(sidebarBody); + sidebarBody = sidebarBody.query('match', '_index', index); sidebarBody = this.appendQuery(sidebarBody, values, advancedSearchObject, searchTerm); sidebarBody = this.appendAggregations(count, sidebarBody, bucketStubs, filters, sortModeMap); const builtSideBarBody = sidebarBody.build(); @@ -98,10 +100,12 @@ export class QueryBuilderService { values: string, advancedSearchObject: AdvancedSearchObject, searchTerm: boolean, - filters: any + filters: any, + index: 'tools' | 'workflows' ): string { let tableBody = bodybuilder().size(query_size); tableBody = this.sourceOptions(tableBody); + tableBody = tableBody.query('match', '_index', index); tableBody = this.appendQuery(tableBody, values, advancedSearchObject, searchTerm); tableBody = this.appendFilter(tableBody, null, filters); const builtTableBody = tableBody.build(); diff --git a/src/app/search/search-results/search-results.component.html b/src/app/search/search-results/search-results.component.html index 5069a48d48..e41a36c01c 100644 --- a/src/app/search/search-results/search-results.component.html +++ b/src/app/search/search-results/search-results.component.html @@ -13,86 +13,70 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - - - - - - Tools - -
    -
    -
    - -

    A Tool uses a single container and performs a single action or step that is outlined by a descriptor

    -
    -
    - -
    - - +
    + +
    + +
    -
    - + +
    +
    - - - - Workflows - -
    -
    -
    - -

    A Workflow can use multiple containers and executes multiple actions or steps, outlined by one or more descriptors

    -
    -
    - -
    - - +
    + +
    + +
    -
    - - + +
    +
    diff --git a/src/app/search/search-results/search-results.component.scss b/src/app/search/search-results/search-results.component.scss index 21709cdc23..685481b83b 100644 --- a/src/app/search/search-results/search-results.component.scss +++ b/src/app/search/search-results/search-results.component.scss @@ -14,17 +14,13 @@ * limitations under the License. */ -mat-tab-group.homeComponent { - border: 0.0625rem solid #cfd1d7; - border-bottom-right-radius: 1rem; - border-bottom-left-radius: 1rem; -} - .mat-tab-content { display: block; background-color: #fff; margin: 1rem 1rem 2rem; padding: 0.8rem; + border: 0.0625rem solid #cfd1d7; + border-radius: 0.3rem; } .tag-cloud-dropdown { diff --git a/src/app/search/search-results/search-results.component.ts b/src/app/search/search-results/search-results.component.ts index de9b760725..d6827b8d9d 100644 --- a/src/app/search/search-results/search-results.component.ts +++ b/src/app/search/search-results/search-results.component.ts @@ -17,7 +17,6 @@ import { Component, OnInit } from '@angular/core'; import { CloudData, CloudOptions } from 'angular-tag-cloud-module'; import { ExtendedGA4GHService } from 'app/shared/openapi'; import { Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; import { Base } from '../../shared/base'; import { QueryBuilderService } from '../query-builder.service'; import { SearchQuery } from '../state/search.query'; @@ -29,7 +28,6 @@ import { SearchService } from '../state/search.service'; styleUrls: ['./search-results.component.scss'], }) export class SearchResultsComponent extends Base implements OnInit { - public activeToolTab$: Observable; public noToolHits$: Observable; public noWorkflowHits$: Observable; public showWorkflowTagCloud$: Observable; @@ -50,7 +48,6 @@ export class SearchResultsComponent extends Base implements OnInit { private extendedGA4GHService: ExtendedGA4GHService ) { super(); - this.activeToolTab$ = this.searchQuery.activeToolTab$; this.noWorkflowHits$ = this.searchQuery.noWorkflowHits$; this.noToolHits$ = this.searchQuery.noToolHits$; this.showToolTagCloud$ = this.searchQuery.showToolTagCloud$; @@ -60,11 +57,6 @@ export class SearchResultsComponent extends Base implements OnInit { ngOnInit() { this.createTagCloud('tool'); this.createTagCloud('workflow'); - this.selectedIndex$ = this.searchQuery.activeToolTab$.pipe( - map((activeToolTab) => { - return { active: activeToolTab }; - }) - ); } createTagCloud(type: string) { @@ -120,8 +112,8 @@ export class SearchResultsComponent extends Base implements OnInit { this.searchService.toSaveSearch$.next(true); } - saveTabIndex(tab) { - this.searchService.saveCurrentTab(tab.index); + getTabIndex() { + return this.searchQuery.getValue().currentTabIndex; } tagClicked(clicked: CloudData) { diff --git a/src/app/search/search-workflow-table/search-workflow-table.component.scss b/src/app/search/search-workflow-table/search-workflow-table.component.scss index fb5f87965e..07c416269d 100644 --- a/src/app/search/search-workflow-table/search-workflow-table.component.scss +++ b/src/app/search/search-workflow-table/search-workflow-table.component.scss @@ -10,3 +10,7 @@ .mat-column-projectLinks { max-width: 105px; } + +td.mat-cell { + border-bottom-style: none; +} diff --git a/src/app/search/search.component.html b/src/app/search/search.component.html index a277111973..531597424f 100644 --- a/src/app/search/search.component.html +++ b/src/app/search/search.component.html @@ -18,6 +18,29 @@ search Search + + + + + Workflows + +
    +
    + + + + Tools + +
    +
    +
    +
    diff --git a/src/app/search/search.component.scss b/src/app/search/search.component.scss index c16c5f9f93..a205d7f9fb 100644 --- a/src/app/search/search.component.scss +++ b/src/app/search/search.component.scss @@ -14,6 +14,14 @@ * limitations under the License. */ +mat-tab-group.homeComponent { + margin: 0.5rem 5rem; +} + +::ng-deep .mat-tab-list .mat-tab-labels .mat-tab-label-active { + color: #151c3d; +} + .sidebar { position: fixed; top: 0; diff --git a/src/app/search/search.component.spec.ts b/src/app/search/search.component.spec.ts index c1ca568f87..48c0495311 100644 --- a/src/app/search/search.component.spec.ts +++ b/src/app/search/search.component.spec.ts @@ -16,6 +16,7 @@ import { ClipboardModule } from '@angular/cdk/clipboard'; import { Component } from '@angular/core'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { MdePopoverModule } from '@material-extended/mde'; @@ -59,7 +60,7 @@ describe('SearchComponent', () => { waitForAsync(() => { TestBed.configureTestingModule({ declarations: [SearchComponent, MapFriendlyValuesPipe, HeaderComponent, BasicSearchComponent, SearchResultsComponent], - imports: [CustomMaterialModule, ClipboardModule, FontAwesomeModule, RouterTestingModule, MdePopoverModule], + imports: [BrowserAnimationsModule, CustomMaterialModule, ClipboardModule, FontAwesomeModule, RouterTestingModule, MdePopoverModule], providers: [ { provide: SearchService, useClass: SearchStubService }, { provide: QueryBuilderService, useClass: QueryBuilderStubService }, diff --git a/src/app/search/search.component.ts b/src/app/search/search.component.ts index 71f37a4cce..ca4dd21c27 100644 --- a/src/app/search/search.component.ts +++ b/src/app/search/search.component.ts @@ -31,12 +31,24 @@ import { SearchQuery } from './state/search.query'; import { Hit, SearchService } from './state/search.service'; /** - * There are a total of 5 calls per search. - * 2 calls are from the tag cloud (1 for tool, 1 for workflow) - * 1 calls are for the sidebar bucket count - * 1 call for the autocomplete - * 1 call for the actual results * + * In general, the search works like this: + * There's the "view" which is what the user clicks which includes facet checkboxes and tab (tools/workflows), etc + * This causes some weird combination of the URL and/or Akita store and/or Angular global service to update + * The URL change causes the URL to be parsed again which sets the state once more before triggering a new set of ES query + * + * Additional notes: + * The URL is gospel so that that users with links will always work. + * The only time the ES queries are performed is after the URL is parsed + * + * Some manual tests: + * 1. Go to the home page and then click search and make sure there's 5 calls (2 tag cloud, 1 sidebar, 1 autocomplete, 1 table results) + * 2. Switch to a different tab and there should be 2 calls (1 for sidebar, 1 for table results). + * 3. Refresh page, should be 5 calls in total (same as 1.) + * + * TODO: + * Test #1 from above currently fails because this.advancedSearchQuery.advancedSearch$ and this.searchQuery.searchText$ subscriptions + * each triggers a parseParam which then causes the 2 more ES queries to get triggered * @export * @class SearchComponent * @implements {OnInit} @@ -61,6 +73,7 @@ export class SearchComponent implements OnInit, OnDestroy { public aNDNoSplitFilterText$: Observable; public oRFilterText$: Observable; public nOTFilterText$: Observable; + public selectedIndex$: Observable; /** current set of search results * TODO: this stores all results, but the real implementation should limit results * and paginate to be scalable @@ -69,10 +82,8 @@ export class SearchComponent implements OnInit, OnDestroy { private setFilter = false; public hits: Hit[]; - // Possibly 100 workflows and 100 tools (extra +1 is used to see if there are > 200 results) - // Set to 201 if searching both queries - public readonly query_size = 101; - public readonly query_size_full = 201; + // extra +1 is used to see if there are > 200 results + public readonly query_size = 201; searchTerm = false; /** a map from a field (like _type or author) in elastic search to specific values for that field (tool, workflow) and how many @@ -129,6 +140,7 @@ export class SearchComponent implements OnInit, OnDestroy { this.shortUrl$ = this.searchQuery.shortUrl$; this.filterKeys$ = this.searchQuery.filterKeys$; this.suggestTerm$ = this.searchQuery.suggestTerm$; + this.selectedIndex$ = this.searchQuery.savedTabIndex$; // Initialize mappings this.bucketStubs = this.searchService.initializeCommonBucketStubs(); this.friendlyNames = this.searchService.initializeFriendlyNames(); @@ -150,7 +162,7 @@ export class SearchComponent implements OnInit, OnDestroy { this.hasAdvancedSearchText$ = this.advancedSearchQuery.hasAdvancedSearchText$; this.values$ = this.searchQuery.searchText$; this.basicSearchText$ = this.searchQuery.basicSearchText$; - this.activatedRoute.queryParams.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.parseParams()); + this.activatedRoute.queryParams.pipe(distinctUntilChanged(), takeUntil(this.ngUnsubscribe)).subscribe(() => this.parseParams()); this.searchService.toSaveSearch$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toSaveSearch) => { if (toSaveSearch) { this.saveSearchFilter(); @@ -179,6 +191,11 @@ export class SearchComponent implements OnInit, OnDestroy { this.hasFacetAutoCompleteTerms$ = this.searchQuery.hasFacetAutoCompleteTerms$; } + saveTabIndex(tab) { + this.searchService.saveCurrentTab(tab.index); + this.updatePermalink(); + } + /** * Applies parameters from the permalink to the search */ @@ -202,6 +219,8 @@ export class SearchComponent implements OnInit, OnDestroy { categoryValue = decodeURIComponent(categoryValue); newFilters = this.searchService.updateFiltersFromParameter(key, categoryValue, newFilters); }); + } else if (key === 'entryType') { + this.searchService.saveCurrentTab(SearchService.convertEntryTypeToTabIndex(value[0])); } else if (key === 'search') { this.searchTerm = true; this.searchService.setSearchText(value[0]); @@ -275,6 +294,7 @@ export class SearchComponent implements OnInit, OnDestroy { setupOrderBuckets() { this.entryOrder.forEach((value, key) => { if (value.Items.size > 0 || value.SelectedItems.size > 0) { + // skip the Entry Type bucket, which is only aggregated for filtering results between tabs this.orderedBuckets.set(key, value); } }); @@ -343,6 +363,7 @@ export class SearchComponent implements OnInit, OnDestroy { searchValues: values, advancedSearchObject: advancedSearchObject, searchTerm: this.searchTerm, + entryType: SearchService.convertTabIndexToEntryType(this.searchQuery.getValue().currentTabIndex), }; const linkArray = this.searchService.createPermalinks(searchInfo); this.searchService.handleLink(linkArray); @@ -353,40 +374,35 @@ export class SearchComponent implements OnInit, OnDestroy { * =============================================== */ - // Called when any change to the search is made to update the results + // Called from one place which is only when the URL has parsed and query non-result state has been set updateQuery() { + const tabIndex = SearchService.convertTabIndexToEntryType(this.searchQuery.getValue().currentTabIndex); // Separating into 2 queries otherwise the queries interfere with each other (filter applied before aggregation) // The first query handles the aggregation and is used to update the sidebar buckets // The second query updates the result table const advancedSearchObject = this.advancedSearchQuery.getValue().advancedSearch; const values = this.advancedSearchQuery.getValue().searchText; const sideBarQuery = this.queryBuilderService.getSidebarQuery( - this.query_size_full, + this.query_size, values, advancedSearchObject, this.searchTerm, this.bucketStubs, this.filters, - this.sortModeMap + this.sortModeMap, + tabIndex ); - if (!values && this.filters.size === 0) { - const toolsQuery = this.queryBuilderService.getResultSingleIndexQuery(this.query_size, 'tools'); - const workflowsQuery = this.queryBuilderService.getResultSingleIndexQuery(this.query_size, 'workflows'); - this.resetEntryOrder(); - this.updateSideBar(sideBarQuery); - this.updateResultsTableSeparately(toolsQuery, workflowsQuery); - } else { - const tableQuery = this.queryBuilderService.getResultQuery( - this.query_size_full, - values, - advancedSearchObject, - this.searchTerm, - this.filters - ); - this.resetEntryOrder(); - this.updateSideBar(sideBarQuery); - this.updateResultsTable(tableQuery); - } + const tableQuery = this.queryBuilderService.getResultQuery( + this.query_size, + values, + advancedSearchObject, + this.searchTerm, + this.filters, + tabIndex + ); + this.resetEntryOrder(); + this.updateSideBar(sideBarQuery); + this.updateResultsTable(tableQuery); } updateSideBar(value: string) { @@ -411,7 +427,7 @@ export class SearchComponent implements OnInit, OnDestroy { this.extendedGA4GHService.toolsIndexSearch(value).subscribe( (hits: any) => { this.hits = hits.hits.hits; - const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); + const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size); const searchText = this.searchQuery.getValue().searchText; this.searchService.setHits(filteredHits[0], filteredHits[1]); if (searchText.length > 0 && hits) { @@ -441,7 +457,7 @@ export class SearchComponent implements OnInit, OnDestroy { const toolHits = results[0].hits.hits; const workflowHits = results[1].hits.hits; this.hits = toolHits.concat(workflowHits); - const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size_full); + const filteredHits: [Array, Array] = this.searchService.filterEntry(this.hits, this.query_size); this.searchService.setHits(filteredHits[0], filteredHits[1]); }); } diff --git a/src/app/search/state/search.query.ts b/src/app/search/state/search.query.ts index fc5d001edc..ca7597da07 100644 --- a/src/app/search/state/search.query.ts +++ b/src/app/search/state/search.query.ts @@ -22,9 +22,6 @@ export class SearchQuery extends Query { ) ); public savedTabIndex$: Observable = this.select((state) => state.currentTabIndex); - public activeToolTab$: Observable = combineLatest([this.tools$, this.workflows$]).pipe( - map(([tools, workflows]) => this.setTabActive(tools, workflows)) - ); public noToolHits$: Observable = this.tools$.pipe(map((tools: Array) => this.haveNoHits(tools))); public noWorkflowHits$: Observable = this.workflows$.pipe(map((workflows: Array) => this.haveNoHits(workflows))); public searchText$: Observable = this.select((state) => state.searchText); @@ -53,33 +50,6 @@ export class SearchQuery extends Query { super(store); } - /** - * This handles the which tab (tool or workflow) is set to active based on hits. - * The default is tool if both have hits - * - * @memberof SearchResultsComponent - */ - private readonly TOOLS_TAB_INDEX = 0; - private readonly WORKFLOWS_TAB_INDEX = 1; - setTabActive(tools: Array, workflows: Array): number { - if (!tools || !workflows) { - return this.TOOLS_TAB_INDEX; - } - const param = this.route.snapshot.queryParams['_index']; - - if (tools.length === 0 && workflows.length > 0) { - return this.WORKFLOWS_TAB_INDEX; - } else if (workflows.length === 0 && tools.length > 0) { - return this.TOOLS_TAB_INDEX; - } else if (workflows.length === 0 && param === 'workflow') { - return this.WORKFLOWS_TAB_INDEX; - } else if (workflows.length > 0 && tools.length > 0) { - return this.getValue().currentTabIndex; - } else { - return this.TOOLS_TAB_INDEX; - } - } - haveNoHits(object: Array): boolean { return !object || object.length === 0; } diff --git a/src/app/search/state/search.service.ts b/src/app/search/state/search.service.ts index d2d0dde8d4..d861c762f8 100644 --- a/src/app/search/state/search.service.ts +++ b/src/app/search/state/search.service.ts @@ -57,6 +57,8 @@ export enum SearchFields { @Injectable() export class SearchService { + private static readonly WORKFLOWS_TAB_INDEX = 0; + private static readonly TOOLS_TAB_INDEX = 1; private searchInfoSource = new BehaviorSubject(null); public toSaveSearch$ = new BehaviorSubject(false); public searchTerm$ = new BehaviorSubject(false); @@ -69,7 +71,7 @@ export class SearchService { * @private * @memberof SearchService */ - public exclusiveFilters = ['verified', 'private_access', '_index', 'has_checker']; + public exclusiveFilters = ['verified', 'private_access', 'has_checker']; constructor( private searchStore: SearchStore, private searchQuery: SearchQuery, @@ -79,6 +81,14 @@ export class SearchService { private extendedGA4GHService: ExtendedGA4GHService ) {} + static convertTabIndexToEntryType(index: number): 'tools' | 'workflows' { + return index === this.WORKFLOWS_TAB_INDEX ? 'workflows' : 'tools'; + } + + static convertEntryTypeToTabIndex(entryType: string): number { + return entryType === 'workflows' ? this.WORKFLOWS_TAB_INDEX : this.TOOLS_TAB_INDEX; + } + /** * Return a negative number if a sorts before b, positive if b sorts before a, and 0 if they are the same, * comparing based on the given attribute and direction @@ -326,6 +336,7 @@ export class SearchService { httpParams = httpParams.append(key, subBucket); }); }); + httpParams = httpParams.append('entryType', searchInfo.entryType); if (searchInfo.searchValues) { httpParams = httpParams.append('search', searchInfo.searchValues); } else { @@ -472,7 +483,6 @@ export class SearchService { // Initialization Functions initializeCommonBucketStubs() { return new Map([ - ['Entry Type', '_index'], ['Language', 'descriptorType'], ['Registry', 'registry'], ['Source Control', 'source_control_provider.keyword'], @@ -492,20 +502,19 @@ export class SearchService { initializeFriendlyNames() { return new Map([ - ['_index', 'Entry Type'], ['descriptorType', 'Language'], - ['registry', 'Tool: Registry'], - ['source_control_provider.keyword', 'Workflow: Source Control'], - ['private_access', 'Tool: Private Access'], // Workflow has no counterpart + ['registry', 'Registry'], + ['source_control_provider.keyword', 'Source Control'], + ['private_access', 'Private Access'], ['verified', 'Verified'], ['author', 'Author'], - ['namespace', 'Tool: Namespace'], + ['namespace', 'Namespace'], ['labels.value.keyword', 'Labels'], ['input_file_formats.value.keyword', 'Input File Formats'], ['output_file_formats.value.keyword', 'Output File Formats'], [SearchFields.VERIFIED_SOURCE, 'Verified Source'], ['has_checker', 'Has Checker Workflows'], - ['organization', 'Workflow: Organization'], + ['organization', 'Organization'], ['verified_platforms.keyword', 'Verified Platforms'], ]); } @@ -528,7 +537,6 @@ export class SearchService { initializeEntryOrder() { return new Map([ - ['_index', new SubBucket()], ['descriptorType', new SubBucket()], ['author', new SubBucket()], ['registry', new SubBucket()], diff --git a/src/assets/images/dockstore/tool.svg b/src/assets/images/dockstore/tool.svg new file mode 100644 index 0000000000..93781d45d0 --- /dev/null +++ b/src/assets/images/dockstore/tool.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/dockstore/workflow.svg b/src/assets/images/dockstore/workflow.svg new file mode 100644 index 0000000000..4f14cb7661 --- /dev/null +++ b/src/assets/images/dockstore/workflow.svg @@ -0,0 +1,9 @@ + + + + + + + + + From 35aec35e3f8732914b18afdcd9cc238e28c4d89b Mon Sep 17 00:00:00 2001 From: Wendy Zhang <57231021+wendidy@users.noreply.github.com> Date: Thu, 4 Mar 2021 17:39:09 -0500 Subject: [PATCH 040/119] Feature/footer modifications (#1165) * new icons and minor styling modifications * update img directory * revert to using mat-icon for rss logo --- src/app/footer/footer.component.html | 36 +++++++++--------- .../images/dockstore/github-mark-light.png | Bin 802 -> 0 bytes src/assets/images/dockstore/github.svg | 17 +++++++++ src/assets/images/dockstore/gitter.png | Bin 332 -> 0 bytes src/assets/images/dockstore/gitter.svg | 17 +++++++++ .../images/dockstore/twitter-logo-white.png | Bin 2323 -> 0 bytes src/assets/images/dockstore/twitter.svg | 17 +++++++++ src/styles.scss | 4 +- 8 files changed, 71 insertions(+), 20 deletions(-) delete mode 100644 src/assets/images/dockstore/github-mark-light.png create mode 100644 src/assets/images/dockstore/github.svg delete mode 100644 src/assets/images/dockstore/gitter.png create mode 100644 src/assets/images/dockstore/gitter.svg delete mode 100644 src/assets/images/dockstore/twitter-logo-white.png create mode 100644 src/assets/images/dockstore/twitter.svg diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index d60785251e..ea71dee7a3 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -149,28 +149,27 @@ @@ -225,7 +225,7 @@ Privacy Policy
    -