[KON-9] salutations
Signed-off-by: Peter Buschmann <peter.buschmann@pta.de>
diff --git a/hooks/pre-build.js b/hooks/pre-build.js
index afa25f2..555cb31 100644
--- a/hooks/pre-build.js
+++ b/hooks/pre-build.js
@@ -4,7 +4,8 @@
var localizationSourceFilesEN = [
"./i18n/general.de.json",
"./i18n/components.de.json",
- "./i18n/contacts.de.json",
+ "./i18n/contacts.en.json",
+ "./i18n/salutations.en.json"
"./i18n/persons.de.json",
];
@@ -13,6 +14,7 @@
"./i18n/components.de.json",
"./i18n/contacts.de.json",
"./i18n/persons.de.json",
+ "./i18n/salutations.de.json"
];
function mergeAndSaveJsonFiles(src, dest) {
diff --git a/hooks/pre-start.js b/hooks/pre-start.js
index 1f45764..7788d75 100644
--- a/hooks/pre-start.js
+++ b/hooks/pre-start.js
@@ -4,8 +4,9 @@
var localizationSourceFilesEN = [
"./i18n/general.de.json",
"./i18n/components.de.json",
- "./i18n/contacts.de.json",
+ "./i18n/contacts.en.json",
"./i18n/persons.de.json",
+ "./i18n/salutations.en.json"
];
var localizationSourceFilesDE = [
@@ -13,6 +14,7 @@
"./i18n/components.de.json",
"./i18n/contacts.de.json",
"./i18n/persons.de.json",
+ "./i18n/salutations.de.json"
];
function mergeAndSaveJsonFiles(src, dest) {
@@ -35,5 +37,5 @@
setEnvironment('./config/env.json', 'development');
// Merge all localization files into one
-mergeAndSaveJsonFiles(localizationSourceFilesEN, "./i18n/en.json");
+// mergeAndSaveJsonFiles(localizationSourceFilesEN, "./i18n/en.json");
mergeAndSaveJsonFiles(localizationSourceFilesDE, "./i18n/de.json");
diff --git a/i18n/components.de.json b/i18n/components.de.json
index 12e2d7c..2c37644 100644
--- a/i18n/components.de.json
+++ b/i18n/components.de.json
@@ -1,5 +1,4 @@
{
-
"PageNotFound": {
"Title": "Seite nicht gefunden",
"Subtitle": "Bitte zur vorherigen Seite navigieren",
diff --git a/i18n/contacts.de.json b/i18n/contacts.de.json
index 4229d41..e7a561a 100644
--- a/i18n/contacts.de.json
+++ b/i18n/contacts.de.json
@@ -9,5 +9,9 @@
"InternContact": "Interner Kontakt",
"ExternContact": "Externer Kontakt",
"Company": "Unternehmen"
+ },
+ "ContactDetails": {
+ "Title": "Details",
+ "MandatoryFieldsNotFilled": "Es ist mindestens ein Pflichtfeld nicht gefüllt."
}
}
diff --git a/i18n/general.de.json b/i18n/general.de.json
index 7eadef5..9a6c78e 100644
--- a/i18n/general.de.json
+++ b/i18n/general.de.json
@@ -16,8 +16,15 @@
"ConfirmDialog": {
"Title": "Bitte bestätigen Sie",
- "Content": "Möchten Sie die Seite ohne Speichern verlassen?",
+ "Content": "Möchten Sie das Formular ohne Speichern verlassen?",
+ "Deletion": "Möchten Sie den Datensatz wirklich löschen?",
"SubmitBtn": "Ja",
- "CancelBtn": "Nein"
- }
+ "CancelBtn": "Nein",
+ "Action": {
+ "delete": "Datensatz löschen",
+ "edit": "Änderung verwerfen"
+ }
+ },
+ "Tools": "Tools",
+ "MandatoryFieldError": "Es ist mindestens ein Pflichtfeld nicht gefüllt."
}
diff --git a/i18n/salutations.de.json b/i18n/salutations.de.json
new file mode 100644
index 0000000..07dee7d
--- /dev/null
+++ b/i18n/salutations.de.json
@@ -0,0 +1,8 @@
+{
+ "Salutations": {
+ "Title": "Übersicht Anrede",
+ "DetailsTitle": "Anrede Details",
+ "Type": "Typ",
+ "Description": "Beschreibung"
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index 2be270e..da730e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3173,6 +3173,14 @@
"to-fast-properties": "^2.0.0"
}
},
+ "@ng-bootstrap/ng-bootstrap": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-5.1.5.tgz",
+ "integrity": "sha512-DpeKD2LOv2LFSzYOOiWd6qv52i7KS2VY9SQs4533OPspJKq7mKo6zZ3jgAV+tPP+Bit1+pF3hkVpfh+rFMCejA==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"@ngrx/core": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ngrx/core/-/core-1.2.0.tgz",
diff --git a/package.json b/package.json
index 065e274..d7fa271 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"@angular/platform-browser-dynamic": "^8.2.14",
"@angular/router": "^8.2.14",
"@auth0/angular-jwt": "^3.0.1",
+ "@ng-bootstrap/ng-bootstrap": "^5.1.5",
"@ngrx/core": "^1.2.0",
"@ngrx/effects": "^8.6.0",
"@ngrx/store": "^8.6.0",
diff --git a/sonar-project.properties b/sonar-project.properties
index 1b44abd..39a7d49 100644
--- a/sonar-project.properties
+++ b/sonar-project.properties
@@ -9,7 +9,7 @@
sonar.sourceEncoding=UTF-8
sonar.sources=src
-sonar.exclusions=**/node_modules/**,**/*.spec.ts,**/test-data/*.ts,**/testing/*.ts,**/assets/js/*.js,**/*.model.*,**/*.action.*,**/*column-definition*,**/*.module.*,**/*column-definition*,**/*api-client.*,**/styles.scss
+sonar.exclusions=**/node_modules/**,**/*.spec.ts,**/test-data/*.ts,**/testing/*.ts,**/assets/js/*.js,**/*.model.*,**/*.action.*,**/*column-definition*,**/*.module.*,**/*column-definition*,**/*api-client.service.*,**/styles.scss
sonar.tests=src
sonar.test.inclusions=**/*.spec.ts
sonar.test.exclusions=**/multiselect-dropdown/*.ts
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 03d4f4b..628f628 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -4,6 +4,10 @@
const appRoutes: Routes = [
{ path: '', redirectTo: '/overview', pathMatch: 'full' },
+ {
+ path: 'admin',
+ loadChildren: './pages/admin/admin.module#AdminModule',
+ },
{ path: '**', component: PageNotFoundComponent },
];
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 6ea64a3..524d278 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,3 +1,4 @@
+import { AdminModule } from './pages/admin/admin.module';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpModule, Http } from '@angular/http';
// Angular core modules
@@ -41,6 +42,9 @@
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { environment } from 'environments/environment';
import { ContainersModule } from '@shared/containers';
+import { SalutationsEffects } from '@shared/store/effects/salutations.effect';
+import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';
+
/**
* Calling functions or calling new is not supported in metadata when using AoT.
@@ -76,7 +80,7 @@
// App custom dependencies
HttpServiceModule.forRoot(),
UtilityModule.forRoot(),
- EffectsModule.forRoot([ContactsEffects]),
+ EffectsModule.forRoot([ContactsEffects, SalutationsEffects]),
StoreModule.forRoot(reducers),
StoreDevtoolsModule.instrument({
maxAge: 25,
@@ -86,7 +90,9 @@
ContainersModule,
ContactsModule,
PersonsModule,
+ AdminModule,
AppRoutingModule,
+ NgbModalModule
],
providers: [
AuthGuard,
diff --git a/src/app/pages/admin/admin-routing.module.ts b/src/app/pages/admin/admin-routing.module.ts
new file mode 100644
index 0000000..24c2234
--- /dev/null
+++ b/src/app/pages/admin/admin-routing.module.ts
@@ -0,0 +1,20 @@
+import { SalutationsResolver } from '@pages/admin//salutations/salutations.resolver';
+import { SalutationsListComponent } from '@pages/admin/salutations/salutations-list/salutations-list.component';
+import { Routes, RouterModule } from '@angular/router';
+import { NgModule } from '@angular/core';
+
+const adminRoutes: Routes = [
+ {
+ path: 'salutations',
+ component: SalutationsListComponent,
+ resolve: {
+ salutationsTable: SalutationsResolver
+ },
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(adminRoutes)],
+ exports: [RouterModule]
+})
+export class AdminRoutingModule { }
diff --git a/src/app/pages/admin/admin.module.ts b/src/app/pages/admin/admin.module.ts
new file mode 100644
index 0000000..c979044
--- /dev/null
+++ b/src/app/pages/admin/admin.module.ts
@@ -0,0 +1,48 @@
+import { SalutationsDetailsComponent } from '@app/pages/admin/salutations/salutations-details/salutations-details.component';
+import { SalutationsResolver } from '@app/pages/admin/salutations/salutations.resolver';
+import { SalutationsSandbox } from '@app/pages/admin/salutations/salutations.sandbox';
+import { SalutationsApiClient } from '@app/pages/admin/salutations/salutations-api-client';
+import { SalutationsService } from '@app/pages/admin/salutations/salutations.service';
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { ComponentsModule } from '@app/shared/components';
+import { ContainersModule } from '@app/shared/containers';
+import { TranslateModule } from '@ngx-translate/core';
+import { DirectivesModule } from '@app/shared/directives';
+import { ReactiveFormsModule, FormsModule } from '@angular/forms';
+import { RouterModule } from '@angular/router';
+import { StoreModule } from '@ngrx/store';
+import { AgGridModule } from 'ag-grid-angular';
+import { NgrxFormsModule } from 'ngrx-forms';
+
+import { AdminRoutingModule } from '@pages/admin/admin-routing.module';
+import { SalutationsListComponent } from '@pages/admin/salutations/salutations-list/salutations-list.component';
+import { adminReducers } from '@app/shared/store';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ ComponentsModule,
+ ContainersModule,
+ TranslateModule,
+ DirectivesModule,
+ ReactiveFormsModule,
+ NgrxFormsModule,
+ RouterModule,
+ FormsModule,
+ StoreModule.forFeature('admin', adminReducers),
+ AgGridModule.withComponents([]),
+ AdminRoutingModule,
+ ],
+ declarations: [
+ SalutationsListComponent,
+ SalutationsDetailsComponent
+ ],
+ providers: [
+ SalutationsService,
+ SalutationsApiClient,
+ SalutationsSandbox,
+ SalutationsResolver
+ ]
+})
+export class AdminModule { }
diff --git a/src/app/pages/admin/salutations/salutations-api-client.ts b/src/app/pages/admin/salutations/salutations-api-client.ts
new file mode 100644
index 0000000..293bcea
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-api-client.ts
@@ -0,0 +1,73 @@
+import { SalutationsService } from '@pages/admin/salutations/salutations.service';
+import { Injectable } from '@angular/core';
+import { HttpService, GET, Adapter, DefaultHeaders, Path, PUT, Body, POST, DELETE } from '@shared/asyncServices/http';
+import { Observable } from 'rxjs';
+import { Salutation } from '@app/shared/models';
+
+@Injectable()
+@DefaultHeaders({
+ // prettier-ignore
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+})
+export class SalutationsApiClient extends HttpService {
+ public getSalutations(): Observable<any> {
+ return this._getSalutations();
+ }
+
+ /**
+ * Retrieves all salutations
+ */
+ @GET('/salutations')
+ @Adapter(SalutationsService.gridAdapter)
+ private _getSalutations(): Observable<any> {
+ return null;
+ }
+
+ /**
+ * Retrieves salutation details by id
+ *
+ * @param id
+ */
+ @GET('/salutations/{id}')
+ @Adapter(SalutationsService.salutationAdapter)
+ public getSalutationDetails(@Path('id') id: string): Observable<any> {
+ return null;
+ }
+
+ /**
+ * Saves edited salutation by id
+ *
+ * @param id
+ */
+ @PUT('/salutations/{id}')
+ @Adapter(SalutationsService.salutationAdapter)
+ public putSalutation(@Path('id') id: string, @Body() salutation: Salutation): Observable<Salutation> {
+ return null;
+ }
+
+ /**
+ * Saves new salutation
+ *
+ * @param id
+ */
+ @POST('/salutations')
+ @Adapter(SalutationsService.salutationAdapter)
+ public postSalutation(@Body() newSalutation: Salutation): Observable<Salutation> {
+ return null;
+ }
+
+ /**
+ * Deletes by a given id
+ *
+ * @param id
+ */
+ @DELETE('/salutations/{id}')
+ @Adapter(SalutationsService.salutationAdapter)
+ public deleteSalutation(@Path('id') id: string): Observable<void> {
+ return null;
+ }
+
+
+
+}
diff --git a/src/app/pages/admin/salutations/salutations-details/salutations-details.component.html b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.html
new file mode 100644
index 0000000..4222a65
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.html
@@ -0,0 +1,58 @@
+<form [ngrxFormState]="salutationsSandbox.formState$ | async">
+ <h4>{{ 'Salutations.DetailsTitle' | translate }}</h4>
+ <div>
+ <div class="logCodeDetails-contentWrapper">
+
+ <!-- type -->
+ <div class="form-group row">
+ <label for="salutationTyp" class="col-sm-2 col-form-label">{{ 'Salutations.Type' | translate }}</label>
+ <div class="col-sm-6">
+ <input type="text"
+ required
+ maxlength="30"
+ class="form-control"
+ id="salutationTyp"
+ [ngrxFormControlState]="((salutationsSandbox.formState$ | async)?.controls)['type']"
+ autocomplete="off"
+ />
+ </div>
+ </div>
+
+ <!-- description -->
+ <div class="form-group row">
+ <label for="salutationDescription" class="col-sm-2 col-form-label">{{ 'Salutations.Description' | translate }}</label>
+ <div class="col-sm-6">
+ <input type="text"
+ required
+ maxlength="255"
+ class="form-control"
+ id="salutationDescription"
+ [ngrxFormControlState]="((salutationsSandbox.formState$ | async)?.controls)['description']"
+ autocomplete="off"
+ />
+ </div>
+ </div>
+
+ <!-- buttons -->
+ <button
+ type="button"
+ class="btn btn-primary btn-sm btn-success"
+ (click)="salutationsSandbox.persistSalutation()"
+ >
+ {{ 'SaveBtn' | translate }}
+ </button>
+
+ <button
+ type="button"
+ class="btn btn-primary btn-sm"
+ (click)="salutationsSandbox.cancel()"
+ >
+ {{ 'CancelBtn' | translate }}
+ </button>
+ </div>
+
+ <app-spinner
+ [isRunning]="salutationsSandbox.salutationsLoading$ | async"
+ ></app-spinner>
+ </div>
+</form>
diff --git a/src/app/pages/admin/salutations/salutations-details/salutations-details.component.scss b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.scss
new file mode 100644
index 0000000..7c2eb40
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.scss
@@ -0,0 +1,8 @@
+.logCodeDetails-contentWrapper {
+ margin-top: 20px;
+ position: relative;
+}
+
+button {
+ margin: 10px 10px 10px 0;
+}
diff --git a/src/app/pages/admin/salutations/salutations-details/salutations-details.component.spec.ts b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.spec.ts
new file mode 100644
index 0000000..7b02501
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.spec.ts
@@ -0,0 +1,14 @@
+import { SalutationsDetailsComponent } from './salutations-details.component';
+
+describe('SalutationsDetailsComponent', () => {
+ let component: SalutationsDetailsComponent;
+ const sandbox: any = {};
+
+ beforeEach(() => {
+ component = new SalutationsDetailsComponent(sandbox);
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/pages/admin/salutations/salutations-details/salutations-details.component.ts b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.ts
new file mode 100644
index 0000000..04439e9
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-details/salutations-details.component.ts
@@ -0,0 +1,15 @@
+import { SalutationsSandbox } from '@app/pages/admin//salutations/salutations.sandbox';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-salutations-details',
+ templateUrl: './salutations-details.component.html',
+ styleUrls: ['./salutations-details.component.scss']
+})
+export class SalutationsDetailsComponent {
+
+ constructor(
+ public salutationsSandbox: SalutationsSandbox,
+ ) { }
+
+}
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list-column-definition.ts b/src/app/pages/admin/salutations/salutations-list/salutations-list-column-definition.ts
new file mode 100644
index 0000000..46d3f48
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-list/salutations-list-column-definition.ts
@@ -0,0 +1,28 @@
+import { IconCellRendererComponent } from '@app/shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component';
+
+export const SALUTATIONS_COLDEF = [
+ {
+ field: 'type',
+ headerName: 'Salutations.Type',
+ sortable: true,
+ filter: 'setFilterComponent'
+ },
+ {
+ field: 'description',
+ headerName: 'Salutations.Description',
+ sortable: true,
+ filter: 'setFilterComponent'
+ },
+ {
+ field: 'tools',
+ headerName: 'Tools',
+ pinned: 'right',
+ maxWidth: 100,
+ lockPosition: true,
+ sortable: false,
+ filter: false,
+ suppressMenu: true,
+ suppressSizeToFit: true,
+ cellRendererFramework: IconCellRendererComponent
+ }
+];
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html
new file mode 100644
index 0000000..c71a8fd
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html
@@ -0,0 +1,28 @@
+<app-card-layout>
+ <div header>
+ <span>{{ 'Salutations.Title' | translate }}</span>
+ <div class="pull-right">
+ <button class="btn btn-primary new-button" (click)="salutationsSandbox.setDisplayForm()">
+ Neu
+ </button>
+ </div>
+ </div>
+ <div class="salutations-grid-wrapper" body>
+ <ag-grid-angular
+ autoresizecolumns
+ class="ag-theme-balham"
+ [gridOptions]="gridOptions"
+ [columnDefs]="columnDefinition"
+ [rowSelection]="'single'"
+ [frameworkComponents]="frameworkComponents"
+ [rowData]="salutationsSandbox.salutations$ | async"
+ >
+ </ag-grid-angular>
+ <div *ngIf="salutationsSandbox.displayForm" class="salutations-details">
+ <app-salutations-details></app-salutations-details>
+ </div>
+ </div>
+
+</app-card-layout>
+
+
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.scss b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.scss
new file mode 100644
index 0000000..e71fac3
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.scss
@@ -0,0 +1,15 @@
+.salutations-grid-wrapper {
+ position: relative;
+}
+
+.salutations-details {
+ margin-top: 20px;
+}
+
+ag-grid-angular {
+ height: calc(100vh - 450px);
+}
+
+.new-button {
+ margin-right: 20px;
+}
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.spec.ts b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.spec.ts
new file mode 100644
index 0000000..d5dd873
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.spec.ts
@@ -0,0 +1,44 @@
+import { Salutation } from '@shared/models';
+import { async } from '@angular/core/testing';
+import { SalutationsListComponent } from './salutations-list.component';
+
+describe('SalutationsListComponent', () => {
+ let component: SalutationsListComponent;
+ // let sandbox: SalutationsSandbox;
+ const sandbox: any = {
+ setDisplayForm: () => {},
+ loadSalutation: () => {},
+ deleteSalutation: () => {},
+ };
+
+ beforeEach(() => {
+ component = new SalutationsListComponent(sandbox);
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+
+ it('should initialize gridOptions context', () => {
+ component.ngOnInit();
+ expect(component.gridOptions.context.icons.edit).toBeTruthy();
+ expect(component.gridOptions.context.icons.delete).toBeTruthy();
+ });
+
+ it('should call appropriate functions for edit event', () => {
+ const spy1: any = spyOn(sandbox, 'setDisplayForm');
+ const spy2: any = spyOn(sandbox, 'loadSalutation');
+ component.ngOnInit();
+ component.gridOptions.context.eventSubject.next({type: "edit", data: new Salutation()});
+ expect(spy1).toHaveBeenCalled();
+ expect(spy2).toHaveBeenCalled();
+ });
+
+ it('should call appropriate functions for delete event', () => {
+ const spy3: any = spyOn(sandbox, 'deleteSalutation');
+ component.ngOnInit();
+ component.gridOptions.context.eventSubject.next({type: "delete", data: new Salutation()});
+ expect(spy3).toHaveBeenCalled();
+ });
+
+});
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.ts b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.ts
new file mode 100644
index 0000000..8703dd7
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.ts
@@ -0,0 +1,40 @@
+import { SalutationsSandbox } from '@pages/admin/salutations/salutations.sandbox';
+import { SALUTATIONS_COLDEF } from '@pages/admin/salutations/salutations-list/salutations-list-column-definition';
+import { Component, OnInit } from '@angular/core';
+import { BaseList } from '@app/shared/components/base-components/base.list';
+import { SetFilterComponent } from '@app/shared/filters/ag-grid/set-filter/set-filter.component';
+
+@Component({
+ selector: 'app-salutations-list',
+ templateUrl: './salutations-list.component.html',
+ styleUrls: ['./salutations-list.component.scss']
+})
+export class SalutationsListComponent extends BaseList implements OnInit {
+
+ public columnDefinition: any = SALUTATIONS_COLDEF;
+ public frameworkComponents: { setFilterComponent: any };
+
+ constructor(public salutationsSandbox: SalutationsSandbox) {
+ super();
+ this.frameworkComponents = { setFilterComponent: SetFilterComponent };
+ }
+
+ ngOnInit() {
+
+ this.gridOptions.context = {
+ ...this.gridOptions.context,
+ icons: { edit: true, delete: true }
+ };
+
+ this.gridOptions.context.eventSubject.subscribe(event => {
+ if (event.type === 'edit') {
+ this.salutationsSandbox.setDisplayForm();
+ this.salutationsSandbox.loadSalutation(event.data.id);
+ };
+ if (event.type === 'delete') {
+ this.salutationsSandbox.deleteSalutation(event.data.id);
+ };
+ });
+
+ }
+}
diff --git a/src/app/pages/admin/salutations/salutations.resolver.ts b/src/app/pages/admin/salutations/salutations.resolver.ts
new file mode 100644
index 0000000..df4b9cf
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations.resolver.ts
@@ -0,0 +1,17 @@
+import { SalutationsSandbox } from '@pages/admin/salutations/salutations.sandbox';
+import { Observable } from 'rxjs';
+import { Injectable } from '@angular/core';
+import { Resolve } from '@angular/router';
+
+@Injectable()
+export class SalutationsResolver implements Resolve<any> {
+
+ constructor(private redispatchMonitoringSandbox: SalutationsSandbox) {}
+
+ /**
+ * Resolver
+ */
+ public resolve(): Observable<any> {
+ return this.redispatchMonitoringSandbox.loadSalutations();
+ }
+}
diff --git a/src/app/pages/admin/salutations/salutations.sandbox.spec.ts b/src/app/pages/admin/salutations/salutations.sandbox.spec.ts
new file mode 100644
index 0000000..337af13
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations.sandbox.spec.ts
@@ -0,0 +1,52 @@
+import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
+import { SalutationsSandbox } from '@pages/admin/salutations/salutations.sandbox';
+import { Store, ActionsSubject} from '@ngrx/store';
+import { State } from '@shared/store';
+import { UtilService } from '@shared/utility/utility.service';
+import { of } from 'rxjs';
+import { Router } from '@angular/router';
+import * as salutationsActions from '@shared/store/actions/salutations.action';
+
+describe('SalutationsSandbox', () => {
+ let service: SalutationsSandbox = {} as any;
+ let appState: Store<State>;
+ let actionSubject: ActionsSubject;
+ let utilService: UtilService;
+ let router: Router;
+ let modalService: NgbModal;
+
+ beforeEach(() => {
+ appState = { dispatch:()=> {}, pipe: () => of(true), select:()=> of(true) } as any;
+ actionSubject = { pipe: () => of(true) } as any;
+ router = { navigateByUrl() {} } as any;
+ modalService = { open() {} } as any;
+ spyOn(appState, 'dispatch').and.callFake(() => {});
+
+ service = new SalutationsSandbox(appState, actionSubject, router, utilService, modalService);
+ });
+
+ it('should create SalutationsSandbox service', () => {
+ expect(service).toBeTruthy();
+ });
+
+ it('should set DisplayForm property', () => {
+ service.setDisplayForm();
+ expect(service.displayForm).toBeTruthy();
+ });
+
+ it('should dispatch loadSalutations Action via loadSalutations()', () => {
+ service.loadSalutations();
+ expect(appState.dispatch).toHaveBeenCalledWith(salutationsActions.loadSalutations());
+ });
+
+ it('should dispatch loadSalutation Action via loadSalutation(id)', () => {
+ service.loadSalutation('x');
+ expect(appState.dispatch).toHaveBeenCalledWith(salutationsActions.loadSalutation({ payload: 'x' }));
+ });
+
+ // it('should xxx', () => {
+ // spyOn(modalService, 'open');
+ // service.deleteSalutation('x');
+ // expect(appState.dispatch).toHaveBeenCalledWith(salutationsActions.deleteSalutation({ payload: 'x' }));
+ // });
+});
diff --git a/src/app/pages/admin/salutations/salutations.sandbox.ts b/src/app/pages/admin/salutations/salutations.sandbox.ts
new file mode 100644
index 0000000..0d86505
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations.sandbox.ts
@@ -0,0 +1,148 @@
+import { UtilService } from '@shared/utility/utility.service';
+import { Injectable } from '@angular/core';
+import { Store, ActionsSubject } from '@ngrx/store';
+import { Observable } from 'rxjs';
+import { BaseSandbox } from '@shared/sandbox/base.sandbox';
+import * as store from '@shared/store';
+import * as salutationsActions from '@shared/store/actions/salutations.action';
+import * as salutationFormReducer from '@shared/store/reducers/salutations/salutations-details-form.reducer';
+import { Salutation } from '@shared/models';
+import { FormGroupState, SetValueAction, ResetAction, MarkAsTouchedAction } from 'ngrx-forms';
+import { ofType } from '@ngrx/effects';
+import { Router } from '@angular/router';
+import { takeUntil, take } from 'rxjs/operators';
+import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
+import { SafetyQueryDialogComponent } from '@app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component';
+
+@Injectable()
+export class SalutationsSandbox extends BaseSandbox {
+
+ public salutations$ = this.appState$.select(store.getSalutationsData);
+ public salutationsLoading$ = this.appState$.select(store.getSalutationsLoading);
+ public formState$ = this.appState$.select(store.getSalutationDetails);
+
+ public currentFormState: FormGroupState<Salutation>;
+ public displayForm: boolean = false;
+
+ /**
+ * Sandbox constructor
+ */
+ constructor(
+ protected appState$: Store<store.State>,
+ protected actionsSubject: ActionsSubject,
+ protected router: Router,
+ protected utilService: UtilService,
+ protected modalService: NgbModal
+ ) {
+ super(appState$);
+ this._registerEvents();
+ }
+
+ /**
+ * Display form
+ */
+ public setDisplayForm(): void {
+ this.displayForm = true;
+ }
+
+ /**
+ * Loads list from the server
+ */
+ public loadSalutations(): Observable<any> {
+ this.appState$.dispatch(salutationsActions.loadSalutations());
+ return this.actionsSubject.pipe(ofType(salutationsActions.loadSalutationsSuccess), take(1));
+ }
+
+ /**
+ * Loads salutation from the server
+ */
+ public loadSalutation(id: string): void {
+ this.appState$.dispatch(
+ salutationsActions.loadSalutation({ payload: id })
+ );
+ }
+
+ /**
+ * Deletes salutation
+ */
+ public deleteSalutation(id: string): void {
+ const modalRef = this.modalService.open(SafetyQueryDialogComponent);
+ modalRef.componentInstance.title = 'ConfirmDialog.Action.delete';
+ modalRef.componentInstance.body = 'ConfirmDialog.Deletion';
+ modalRef.result.then(() => {
+ this.appState$.dispatch(
+ salutationsActions.deleteSalutation({ payload: id })
+ );
+ }, () => {
+ });
+ }
+
+ /**
+ * Cancel
+ */
+ public cancel(): void {
+ if (!this.currentFormState.isPristine) {
+ const modalRef = this.modalService.open(SafetyQueryDialogComponent);
+ modalRef.componentInstance.title = 'ConfirmDialog.Action.edit';
+ modalRef.componentInstance.body = 'ConfirmDialog.Content';
+ modalRef.result.then(() => {
+ this.clear();
+ }, () => {
+ });
+ } else {
+ this.clear();
+ }
+ }
+
+ /**
+ * Clear
+ */
+ clear(): void {
+ this.appState$.dispatch(
+ new SetValueAction(
+ salutationFormReducer.FORM_ID,
+ salutationFormReducer.INITIAL_STATE.value
+ )
+ );
+ this.appState$.dispatch(new ResetAction(salutationFormReducer.FORM_ID));
+ this.displayForm = false;
+ }
+
+ /**
+ * Persist
+ */
+ public persistSalutation(): void {
+ this.appState$.dispatch(new MarkAsTouchedAction(salutationFormReducer.FORM_ID));
+ if (this.currentFormState.isValid) {
+ this.appState$.dispatch(
+ salutationsActions.persistSalutation({
+ payload: new Salutation(this.currentFormState.value)
+ })
+ );
+ this.actionsSubject
+ .pipe(
+ ofType(salutationsActions.persistSalutationSuccess),
+ takeUntil(this._endSubscriptions$)
+ )
+ .subscribe(() => {
+ this.clear();
+ });
+ } else {
+ this.utilService.displayNotification(
+ 'MandatoryFieldError',
+ 'error'
+ );
+ }
+ }
+
+ /**
+ * subscribes to formState
+ */
+ private _registerEvents(): void {
+
+ this.formState$.pipe(takeUntil(this._endSubscriptions$)).subscribe(
+ (formState: FormGroupState<Salutation>) =>
+ (this.currentFormState = formState)
+ )
+ }
+}
diff --git a/src/app/pages/admin/salutations/salutations.service.spec.ts b/src/app/pages/admin/salutations/salutations.service.spec.ts
new file mode 100644
index 0000000..554b4fb
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations.service.spec.ts
@@ -0,0 +1,24 @@
+import { Salutation } from '@shared/models';
+import { SalutationsService } from './salutations.service';
+
+describe('SalutationsService', () => {
+ let service: SalutationsService;
+
+ beforeEach(() => {
+ });
+
+ it('should transform salutations list', () => {
+ const response = [new Salutation()];
+ response[0].type = 'Herr';
+
+ expect(SalutationsService.gridAdapter(response)[0].type).toBe('Herr');
+ });
+
+
+ it('should transform salutations details', () => {
+ const response: any = { type: 'Herr'};
+ const salutation = SalutationsService.salutationAdapter(response);
+
+ expect(salutation.type).toBe(response.type);
+ });
+});
diff --git a/src/app/pages/admin/salutations/salutations.service.ts b/src/app/pages/admin/salutations/salutations.service.ts
new file mode 100644
index 0000000..0dc8fe0
--- /dev/null
+++ b/src/app/pages/admin/salutations/salutations.service.ts
@@ -0,0 +1,28 @@
+import { Injectable } from '@angular/core';
+import { Salutation } from '@shared/models';
+
+/**
+ * Used to retrieve salutations
+ *
+ * @export
+ * @class SalutationsService
+ */
+@Injectable()
+export class SalutationsService {
+ /**
+ * Transforms grid data recieved from the API into array of model instances
+ *
+ * @param response
+ */
+ static gridAdapter(response: any): Array<Salutation> {
+ return response.map(salutation => new Salutation(salutation));
+ }
+ /**
+ * Transforms api reponse into model instance
+ *
+ * @param response
+ */
+ static salutationAdapter(response: any): Salutation {
+ return new Salutation(response);
+ }
+}
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.html b/src/app/pages/contacts/contacts-list/contacts-list.component.html
index 584b99d..01991e7 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.html
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.html
@@ -3,7 +3,6 @@
<span>{{ 'Contacts.Title' | translate }}</span>
</div>
<div class="contacts-grid-wrapper" body>
-
<div class="diverse-btn">
<div class="select-type-of-new-contact">
<select type="text" class="form-control" (change)="navigateTo($event.target.value)">
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
index 402fd3a..db86079 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
@@ -46,7 +46,7 @@
...this.gridOptions.context,
icons: { edit: true, delete: false }
};
- this.gridOptions.context.eventBus.subscribe(this._handleBusEvents.bind(this));
+ this.gridOptions.context.eventSubject.subscribe(this._handleBusEvents.bind(this));
}
private _handleBusEvents(event: any): any {
diff --git a/src/app/pages/contacts/contacts.service.spec.ts b/src/app/pages/contacts/contacts.service.spec.ts
index 162b96c..2c129f4 100644
--- a/src/app/pages/contacts/contacts.service.spec.ts
+++ b/src/app/pages/contacts/contacts.service.spec.ts
@@ -4,7 +4,7 @@
-describe('ContactsSandbox', () => {
+describe('ContactsService ', () => {
let service: ContactsService;
@@ -24,5 +24,5 @@
const transContact = ContactsService.contactDetailsAdapter(abstractContact);
expect(transContact.lastName).toBe(abstractContact.lastName);
- });
+ });
});
diff --git a/src/app/pages/persons/persons.service.ts b/src/app/pages/persons/persons.service.ts
index 01ba262..5b888c7 100644
--- a/src/app/pages/persons/persons.service.ts
+++ b/src/app/pages/persons/persons.service.ts
@@ -1,4 +1,4 @@
-import { ExternalPerson } from '@shared/models/external-contact.model';
+import { ExternalPerson } from '@app/shared/models/external-person.model';
import { Injectable } from '@angular/core';
/**
diff --git a/src/app/shared/components/base-components/base.list.ts b/src/app/shared/components/base-components/base.list.ts
index a8cf4a6..1891197 100644
--- a/src/app/shared/components/base-components/base.list.ts
+++ b/src/app/shared/components/base-components/base.list.ts
@@ -7,7 +7,7 @@
public gridOptions: GridOptions = {
context: {
- eventBus: this.events$
+ eventSubject: this.events$
}
};
diff --git a/src/app/shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component.ts b/src/app/shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component.ts
index e68ffbe..2e7303b 100644
--- a/src/app/shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component.ts
+++ b/src/app/shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component.ts
@@ -27,6 +27,6 @@
}
public clicked(eventType: string) {
- this.params.context.eventBus.next({ 'type': eventType, 'data': this.params.data });
+ this.params.context.eventSubject.next({ 'type': eventType, 'data': this.params.data });
}
}
diff --git a/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.html b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.html
new file mode 100644
index 0000000..e579832
--- /dev/null
+++ b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.html
@@ -0,0 +1,11 @@
+<div class="modal-header">
+ <h4 class="modal-title">{{title | translate}}</h4>
+</div>
+<div class="modal-body">
+ <p>{{body | translate}}</p>
+</div>
+<div class="modal-footer">
+ <button type="button" class="btn btn-outline-danger" (click)="activeModal.close()">{{ 'ConfirmDialog.SubmitBtn' | translate }}</button>
+ <button type="button" class="btn btn-outline-secondary" (click)="activeModal.dismiss()">{{ 'ConfirmDialog.CancelBtn' | translate }}</button>
+
+</div>
diff --git a/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.scss b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.scss
diff --git a/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.spec.ts b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.spec.ts
new file mode 100644
index 0000000..2ca45ed
--- /dev/null
+++ b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.spec.ts
@@ -0,0 +1,14 @@
+import { SafetyQueryDialogComponent } from './safety-query-dialog.component';
+
+describe('SafetyQueryDialogComponent', () => {
+ let component: SafetyQueryDialogComponent;
+ const sandbox: any = {};
+
+ beforeEach(() => {
+ component = new SafetyQueryDialogComponent(sandbox);
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.ts b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.ts
new file mode 100644
index 0000000..f55b6e9
--- /dev/null
+++ b/src/app/shared/components/dialogs/safety-query-dialog/safety-query-dialog.component.ts
@@ -0,0 +1,19 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
+
+@Component({
+ selector: 'app-safety-query-dialog',
+ templateUrl: './safety-query-dialog.component.html',
+ styleUrls: ['./safety-query-dialog.component.scss']
+})
+export class SafetyQueryDialogComponent implements OnInit {
+
+ @Input() title;
+ @Input() body;
+
+ constructor(public activeModal: NgbActiveModal) {}
+
+ ngOnInit() {
+ }
+
+}
diff --git a/src/app/shared/components/header/header.component.html b/src/app/shared/components/header/header.component.html
index 8c6b30e..4ea3a72 100644
--- a/src/app/shared/components/header/header.component.html
+++ b/src/app/shared/components/header/header.component.html
@@ -10,9 +10,21 @@
<button type="button" class="btn btn-link navbar-btn" routerLink="/overview">
<fa name="home"></fa>
</button>
- <button type="button" class="btn btn-link navbar-btn" routerLink="/admin">
- <fa name="cog"></fa>
- </button>
+ <div class="dropdown">
+ <button class="btn btn-link navbar-btn dropdown-toggle"
+ type="button"
+ id="dropdownMenuButton"
+ data-toggle="dropdown"
+ aria-haspopup="true"
+ aria-expanded="false"
+ >
+ <fa name="server"></fa>
+ </button>
+ <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+ <a class="dropdown-item" routerLink="/admin/salutations">Anreden verwalten</a>
+ <a class="dropdown-item" href="#">Kommunikationstypen verwalten (geplant)</a>
+ </div>
+ </div>
<span class="divider"></span>
<div></div>
<div class="dropdown-open nav-user nav-overview-user">
@@ -21,7 +33,7 @@
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
- <li class="dropdown-item"><a routerLink="/loguout" (click)="logout.emit()">Abmelden</a></li>
+ <li class="dropdown-item"><a routerLink="/logout" (click)="logout.emit()">Abmelden</a></li>
</ul>
</div>
</div>
diff --git a/src/app/shared/components/header/header.component.ts b/src/app/shared/components/header/header.component.ts
index 5a1c2c0..3f37dd9 100644
--- a/src/app/shared/components/header/header.component.ts
+++ b/src/app/shared/components/header/header.component.ts
@@ -1,6 +1,7 @@
import { Component, Output, Input, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
import { Router } from '@angular/router';
+
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
diff --git a/src/app/shared/components/index.ts b/src/app/shared/components/index.ts
index 71a53ed..9728b85 100644
--- a/src/app/shared/components/index.ts
+++ b/src/app/shared/components/index.ts
@@ -1,3 +1,5 @@
+import { SafetyQueryDialogComponent } from '@shared/components/dialogs/safety-query-dialog/safety-query-dialog.component';
+import { IconCellRendererComponent } from '@shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component';
import { ContactTypeCellRendererComponent } from '@shared/components/cell-renderer/contact-type-cell-renderer/contact-type-cell-renderer.component';
import { PaginatorComponent } from '@shared/components/paginator/paginator.component';
import { LoadingSpinnerComponent } from './loading-spinner/loading-spinner.component';
@@ -15,7 +17,6 @@
import { VersionInfo } from '@shared/components/version-info/version-info.component';
import { AngularFontAwesomeModule } from 'angular-font-awesome';
-import { IconCellRendererComponent } from './cell-renderer/icon-cell-renderer/icon-cell-renderer.component';
export const COMPONENTS = [
SpinnerComponent,
@@ -27,7 +28,8 @@
LoadingSpinnerComponent,
PaginatorComponent,
ContactTypeCellRendererComponent,
- IconCellRendererComponent
+ IconCellRendererComponent,
+ SafetyQueryDialogComponent
];
@NgModule({
@@ -37,7 +39,8 @@
entryComponents: [
PaginatorComponent,
ContactTypeCellRendererComponent,
- IconCellRendererComponent
+ IconCellRendererComponent,
+ SafetyQueryDialogComponent
],
})
export class ComponentsModule {}
diff --git a/src/app/shared/models/external-contact.model.ts b/src/app/shared/models/external-person.model.ts
similarity index 100%
rename from src/app/shared/models/external-contact.model.ts
rename to src/app/shared/models/external-person.model.ts
diff --git a/src/app/shared/models/index.ts b/src/app/shared/models/index.ts
index 8d3c0e0..4223193 100644
--- a/src/app/shared/models/index.ts
+++ b/src/app/shared/models/index.ts
@@ -1,4 +1,4 @@
export * from './product.model';
export * from './contact.model';
-export * from './external-contact.model';
-
+export * from './external-person.model';
+export * from './salutation.model';
diff --git a/src/app/shared/models/salutation.model.ts b/src/app/shared/models/salutation.model.ts
new file mode 100644
index 0000000..14bc590
--- /dev/null
+++ b/src/app/shared/models/salutation.model.ts
@@ -0,0 +1,12 @@
+export class Salutation {
+
+ public id: string = null;
+ public type: string = null;
+ public description: string = null;
+
+ public constructor(data: any = null) {
+ Object.keys(data || {})
+ .filter(property => this.hasOwnProperty(property))
+ .forEach(property => (this[property] = data[property]));
+ }
+}
diff --git a/src/app/shared/store/actions/salutations.action.ts b/src/app/shared/store/actions/salutations.action.ts
new file mode 100644
index 0000000..7b57260
--- /dev/null
+++ b/src/app/shared/store/actions/salutations.action.ts
@@ -0,0 +1,66 @@
+import { createAction, props } from '@ngrx/store';
+import { Salutation } from '@shared/models';
+
+export interface ILoadSalutationsSuccess {
+ payload: Array<Salutation>;
+}
+
+export interface ILoadSalutationsFail {
+ payload: string;
+}
+
+/**
+ * Loads salutation list
+ */
+export const loadSalutations = createAction('[Salutations] Load');
+export const loadSalutationsSuccess = createAction(
+ '[Salutations] Load Success',
+ props<ILoadSalutationsSuccess>());
+export const loadSalutationsFail = createAction(
+ '[Salutations] Load Fail',
+ props<ILoadSalutationsFail>());
+
+/**
+ * Loads single salutation
+ */
+export const loadSalutation = createAction(
+ '[Salutation Details] Load',
+ props<{ payload: string }>()
+);
+export const loadSalutationSuccess = createAction(
+ '[Salutation Details] Load Success',
+ props<{ payload: Salutation }>()
+);
+export const loadSalutationFail = createAction(
+ '[Salutation Details] Load Fail',
+ props<{ payload: string }>()
+);
+/**
+ * Save edited salutation
+ */
+export const persistSalutation = createAction(
+ '[Salutation Details] Persist',
+ props<{ payload: Salutation }>()
+);
+export const persistSalutationSuccess = createAction(
+ '[Salutation Details] Persist Success',
+ props<{ payload: Salutation }>()
+);
+export const persistSalutationFail = createAction(
+ '[Salutation Details] Persist Fail',
+ props<{ payload: string }>()
+);
+/**
+ * Delete salutation
+ */
+export const deleteSalutation = createAction(
+ '[Salutation Details] Delete',
+ props<{ payload: string }>()
+);
+export const deleteSalutationSuccess = createAction(
+ '[Salutation Details] Delete Success'
+);
+export const deleteSalutationFail = createAction(
+ '[Salutation Details] Delete Fail',
+ props<{ payload: string }>()
+);
diff --git a/src/app/shared/store/effects/contacts.effect.ts b/src/app/shared/store/effects/contacts.effect.ts
index 7a14299..155b1b0 100644
--- a/src/app/shared/store/effects/contacts.effect.ts
+++ b/src/app/shared/store/effects/contacts.effect.ts
@@ -25,9 +25,7 @@
@Injectable()
export class ContactsEffects {
- /**
- * Product list
- */
+ /* plain list */
getContacts$: any = createEffect(() =>
this.actions$.pipe(
ofType(contactsActions.loadContacts),
@@ -39,7 +37,7 @@
})
)
);
-
+ /* paged list */
getContactsPage$: any = createEffect(() =>
this.actions$.pipe(
ofType(contactsActions.loadContactsPage),
diff --git a/src/app/shared/store/effects/contacts.effects.spec.ts b/src/app/shared/store/effects/contacts.effects.spec.ts
index 1a4c9bd..287e856 100644
--- a/src/app/shared/store/effects/contacts.effects.spec.ts
+++ b/src/app/shared/store/effects/contacts.effects.spec.ts
@@ -1,67 +1,86 @@
+import { PageRequestInterface } from './../../models/page/page-request.interface';
import { take } from 'rxjs/operators';
import { ContactsEffects } from '@shared/store/effects/contacts.effect';
-import { Subject, of, Subscription } from 'rxjs';
-import { Action } from '@ngrx/store';
-import { TestBed } from '@angular/core/testing';
-import { NO_ERRORS_SCHEMA } from '@angular/core';
-import { Actions } from '@ngrx/effects';
-import { PageModel } from '@app/shared/models/page/page.model';
+import { Subject, of, throwError } from 'rxjs';
import { Contact } from '@app/shared/models';
import * as contactsActions from '@shared/store/actions/contacts.action';
+import { ContactsApiClient } from '@app/pages/contacts/contacts-api-client';
+import { PageModel } from '@app/shared/models/page/page.model';
+
describe('Contacts Effects', () => {
let effects: ContactsEffects;
- let actions: Subject<Action>;
- let subscriptions: Subscription;
-
- const contactsApiClientMock = {
- getContacts: () => {},
- };
+ let actions$: Subject<any>;
+ let apiClient: ContactsApiClient;
+ let apiResponse = new PageModel<Contact>(
+ {
+ content: [new Contact({id: "1"})]
+ }
+ ) as any;
beforeEach(() => {
- TestBed.configureTestingModule({
- schemas: [NO_ERRORS_SCHEMA],
- providers: [
- ContactsEffects,
- { provide: Actions, useValue: new Subject<Action>() },
- ]
- });
- subscriptions = new Subscription();
- actions = TestBed.get(Actions);
- effects = new ContactsEffects(
- actions,
- contactsApiClientMock as any
- );
+ apiClient = {
+ getContacts() {}
+ } as any;
+ actions$ = new Subject();
+ effects = new ContactsEffects(actions$, apiClient);
});
- afterEach(() => {
- subscriptions.unsubscribe();
- });
-
- it('should be created', () => {
- expect(effects).toBeDefined();
+ it('should be truthy', () => {
expect(effects).toBeTruthy();
});
- // it('should dispatch success action when LoadAction triggered with valid result', done => {
- // const payload = [new Contact()];
- // const contacts: contactsActions.ILoadContactsSuccess = {payload: [new Contact()]};
- // spyOn(contactsApiClientMock, 'getContacts').and.returnValue(of(payload) as any);
+ it('should equal loadContactsSuccess after getContacts', (done) => {
+ spyOn(apiClient, 'getContacts').and.returnValue(of(apiResponse));
+ effects.getContacts$.pipe(take(1)).subscribe(result => {
+ expect(result).toEqual(contactsActions.loadContactsSuccess({payload: apiResponse.content}));
+ });
+ done();
+ actions$.next(contactsActions.loadContacts());
+ });
- // subscriptions.add(
- // effects.getContacts$.pipe(take(1)).subscribe(
- // action => {
- // expect(action).toEqual(contactsActions.loadContactsSuccess(contacts));
- // done();
- // },
- // err => {
- // throw err;
- // }
- // )
- // );
- // // Act
- // actions.next(contactsActions.loadContacts());
- // });
+ it('should equal loadContactsFail after getContacts Error', (done) => {
+ spyOn(apiClient, 'getContacts').and.returnValue(throwError('x'));
+
+ effects.getContacts$.pipe(take(1)).subscribe(result => {
+ expect(result).toEqual(contactsActions.loadContactsFail({payload: 'x'}));
+ });
+ done();
+
+ actions$.next(contactsActions.loadContacts());
+ });
+
+ it('should equal loadContactsPageSuccess after getContactsPage', (done) => {
+ let request = {payload: {
+ pageNumber: 1,
+ pageSize: 3,
+ } as PageRequestInterface
+ }
+ spyOn(apiClient, 'getContacts').and.returnValue(of(apiResponse));
+
+ effects.getContactsPage$.pipe(take(1)).subscribe(result => {
+ expect(result).toEqual(contactsActions.loadContactsPageSuccess({payload: apiResponse}));
+ });
+ done();
+
+ actions$.next(contactsActions.loadContactsPage(request));
+ });
+
+ it('should equal loadContactsPageFail after getContactsPage Error', (done) => {
+ let request = {payload: {
+ pageNumber: 1,
+ pageSize: 3,
+ } as PageRequestInterface
+ }
+ spyOn(apiClient, 'getContacts').and.returnValue(throwError('x'));
+
+ effects.getContactsPage$.pipe(take(1)).subscribe(result => {
+ expect(result).toEqual(contactsActions.loadContactsPageFail({payload: 'x'}));
+ });
+ done();
+
+ actions$.next(contactsActions.loadContactsPage(request));
+ });
});
diff --git a/src/app/shared/store/effects/salutations.effect.ts b/src/app/shared/store/effects/salutations.effect.ts
new file mode 100644
index 0000000..6821847
--- /dev/null
+++ b/src/app/shared/store/effects/salutations.effect.ts
@@ -0,0 +1,111 @@
+import 'rxjs/add/operator/catch';
+import 'rxjs/add/operator/map';
+import 'rxjs/add/operator/switchMap';
+import { Injectable } from '@angular/core';
+import { createEffect, Actions, ofType } from '@ngrx/effects';
+import { of } from 'rxjs/observable/of';
+import * as salutationsActions from '@shared/store/actions/salutations.action';
+import { SalutationsApiClient } from '@app/pages/admin/salutations/salutations-api-client';
+import { catchError, map, switchMap } from 'rxjs/operators';
+import { Salutation } from '@app/shared/models';
+import { Store } from '@ngrx/store';
+
+/**
+ * Effects offer a way to isolate and easily test side-effects within your
+ * application. StateUpdates is an observable of the latest state and
+ * dispatched action. The `toPayload` helper function returns just
+ * the payload of the currently dispatched action, useful in
+ * instances where the current state is not necessary.
+ *
+ * If you are unfamiliar with the operators being used in these examples, please
+ * check out the sources below:
+ *
+ * Official Docs: http://reactivex.io/rxjs/manual/overview.html#categories-of-operators
+ * RxJS 5 Operators By Example: https://gist.github.com/btroncone/d6cf141d6f2c00dc6b35
+ */
+
+@Injectable()
+export class SalutationsEffects {
+ /**
+ * Salutations list
+ */
+ getSalutations$: any = createEffect(() =>
+ this.actions$.pipe(
+ ofType(salutationsActions.loadSalutations),
+ switchMap(() => {
+ return this.salutationsApiClient.getSalutations().pipe(
+ map(salutations => salutationsActions.loadSalutationsSuccess({ payload: salutations })),
+ catchError(error => of(salutationsActions.loadSalutationsFail({ payload: error })))
+ );
+ })
+ )
+ );
+
+ /**
+ * Load salutation details
+ */
+ getSalutation$: any = createEffect(() =>
+ this.actions$.pipe(
+ ofType(salutationsActions.loadSalutation),
+ switchMap(action => {
+ return this.salutationsApiClient
+ .getSalutationDetails(action['payload'])
+ .map((salutation: Salutation) =>
+ salutationsActions.loadSalutationSuccess({ payload: salutation })
+ )
+ .catch(error =>
+ of(salutationsActions.loadSalutationFail({ payload: error }))
+ );
+ })
+ )
+ );
+
+ /**
+ * persist new or edited salutation
+ */
+ persistLog$: any = createEffect(() =>
+ this.actions$.pipe(
+ ofType(salutationsActions.persistSalutation),
+ map(action => action['payload']),
+ switchMap((payloadSalutation: Salutation) => {
+ return (payloadSalutation.id ?
+ this.salutationsApiClient.putSalutation(payloadSalutation.id, payloadSalutation) :
+ this.salutationsApiClient.postSalutation(payloadSalutation)
+ ).pipe(
+ map((salutation: Salutation) => {
+ this.store.dispatch(salutationsActions.loadSalutations());
+ return salutationsActions.persistSalutationSuccess({ payload: salutation });
+ }),
+ catchError(error =>
+ of(salutationsActions.persistSalutationFail({ payload: error }))
+ )
+ );
+ })
+ )
+ );
+
+ /**
+ * delete salutation
+ */
+ deleteSalutation$: any = createEffect(() =>
+ this.actions$.pipe(
+ ofType(salutationsActions.deleteSalutation),
+ map((action) => action['payload']),
+ switchMap((id: string) => {
+ return this.salutationsApiClient.deleteSalutation(id).pipe(
+ map(() => {
+ this.store.dispatch(salutationsActions.loadSalutations());
+ return salutationsActions.deleteSalutationSuccess();
+ }),
+ catchError(error => of(salutationsActions.deleteSalutationFail({ payload: error })))
+ );
+ })
+ )
+ );
+
+ constructor(
+ private actions$: Actions,
+ private salutationsApiClient: SalutationsApiClient,
+ private store: Store<any>
+ ) {}
+}
diff --git a/src/app/shared/store/effects/salutations.effects.spec.ts b/src/app/shared/store/effects/salutations.effects.spec.ts
new file mode 100644
index 0000000..33e5677
--- /dev/null
+++ b/src/app/shared/store/effects/salutations.effects.spec.ts
@@ -0,0 +1,48 @@
+import { take } from 'rxjs/operators';
+import { Subject, of, Subscription } from 'rxjs';
+import { Action } from '@ngrx/store';
+import { TestBed } from '@angular/core/testing';
+import { NO_ERRORS_SCHEMA } from '@angular/core';
+import { Actions } from '@ngrx/effects';
+import { SalutationsEffects } from './salutations.effect';
+
+class MockStore{}
+
+describe('Salutations Effects', () => {
+
+ let effects: SalutationsEffects;
+ let actions: Subject<Action>;
+ let subscriptions: Subscription;
+ let store: MockStore;
+
+ const salutationsApiClientMock = {
+ getSalutations: () => {},
+ };
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ schemas: [NO_ERRORS_SCHEMA],
+ providers: [
+ SalutationsEffects,
+ { provide: Actions, useValue: new Subject<Action>() },
+ ]
+ });
+ subscriptions = new Subscription();
+ actions = TestBed.get(Actions);
+ effects = new SalutationsEffects(
+ actions,
+ salutationsApiClientMock as any,
+ store as any
+ );
+ });
+
+ afterEach(() => {
+ subscriptions.unsubscribe();
+ });
+
+ it('should be created', () => {
+ expect(effects).toBeDefined();
+ expect(effects).toBeTruthy();
+ });
+
+});
diff --git a/src/app/shared/store/index.ts b/src/app/shared/store/index.ts
index 4e2df04..1201ba3 100644
--- a/src/app/shared/store/index.ts
+++ b/src/app/shared/store/index.ts
@@ -1,3 +1,4 @@
+import { Salutation } from './../models/salutation.model';
import { createSelector } from 'reselect';
/**
* Every reducer module's default export is the reducer function itself. In
@@ -12,6 +13,9 @@
import { ExternalPerson } from '@shared/models';
import { FormGroupState } from 'ngrx-forms';
import { createFeatureSelector } from '@ngrx/store';
+import * as fromSalutations from '@shared/store/reducers/salutations/salutations.reducer';
+import * as fromSalutationsDetailForm from '@shared/store/reducers/salutations/salutations-details-form.reducer';
+
/**
* We treat each reducer like a table in a database. This means
@@ -33,6 +37,11 @@
externalPersonDetailsForm: fromExternalPersonForm.reducer,
}
+export interface AdminState {
+ salutations: fromSalutations.State;
+ salutationsDetailForm: FormGroupState<Salutation>;
+}
+
/**
* Because metareducers take a reducer function and return a new reducer,
* we can use our compose helper to chain them together. Here we are
@@ -46,6 +55,11 @@
contactsPage: fromContactsPage.reducer,
};
+export const adminReducers = {
+ salutations: fromSalutations.reducer,
+ salutationsDetailForm: fromSalutationsDetailForm.reducer
+};
+
/**
* Every reducer module exports selector functions, however child reducers
* have no knowledge of the overall state tree. To make them useable, we
@@ -77,8 +91,14 @@
export const getContactsPageLoading = createSelector(getContactsPageState, fromContactsPage.getLoading);
export const getContactsPageFailed = createSelector(getContactsPageState, fromContactsPage.getFailed);
export const getContactsPageData = createSelector(getContactsPageState, fromContactsPage.getData);
-
+/**
+ * Settings store functions
+ */
export const getUser = createSelector(getSettingsState, fromSettings.getUser);
+/**
+ * Admin store functions
+ */
+export const selectAdminState = createFeatureSelector<AdminState>('admin');
/**
* ExternalPersonDetails store functions
@@ -91,3 +111,21 @@
selectExternalPersonDetails,
fromExternalPersonForm.getFormState
);
+export const selectSalutationDetails = createSelector(
+ selectAdminState,
+ (state: AdminState) => state.salutationsDetailForm
+);
+export const getSalutationDetails = createSelector(
+ selectSalutationDetails,
+ fromSalutationsDetailForm.getFormState
+);
+
+export const selectSalutations = createSelector(
+ selectAdminState,
+ (state: AdminState) => state.salutations
+);
+// export const getSalutationsState = (state: State) => state.salutations;
+export const getSalutationsLoaded = createSelector(selectSalutations, fromSalutations.getLoaded);
+export const getSalutationsLoading = createSelector(selectSalutations, fromSalutations.getLoading);
+export const getSalutationsFailed = createSelector(selectSalutations, fromSalutations.getFailed);
+export const getSalutationsData = createSelector(selectSalutations, fromSalutations.getData);
diff --git a/src/app/shared/store/reducers/contacts/contacts-page.reducer.spec.ts b/src/app/shared/store/reducers/contacts/contacts-page.reducer.spec.ts
index e462e04..e4ec047 100644
--- a/src/app/shared/store/reducers/contacts/contacts-page.reducer.spec.ts
+++ b/src/app/shared/store/reducers/contacts/contacts-page.reducer.spec.ts
@@ -11,13 +11,13 @@
expect(result).toBe(INITIAL_STATE);
});
- it('should return initial state in case of missing action', () => {
- const result = reducer(undefined, null);
- expect(result).toBe(INITIAL_STATE);
- });
+ // it('should return initial state in case of missing action', () => {
+ // const result = reducer(undefined, null);
+ // expect(result).toBe(INITIAL_STATE);
+ // });
it('should trigger loading state', () => {
- const action = contactsActions.loadContactsPage({payload: 'x'} as any);
+ const action = contactsActions.loadContactsPage({payload: 'xy'} as any);
const result = contactsPageReducer(INITIAL_STATE, action);
expect(result).toEqual({
diff --git a/src/app/shared/store/reducers/contacts/contacts-page.reducer.ts b/src/app/shared/store/reducers/contacts/contacts-page.reducer.ts
index ad5d3f5..9d0e3f7 100644
--- a/src/app/shared/store/reducers/contacts/contacts-page.reducer.ts
+++ b/src/app/shared/store/reducers/contacts/contacts-page.reducer.ts
@@ -1,7 +1,9 @@
import { PageModel } from '@shared/models/page/page.model';
import * as contactsActions from '@shared/store/actions/contacts.action';
import { Contact } from '@shared/models';
-import { createReducer, on } from '@ngrx/store';
+import { Action, createReducer, on } from '@ngrx/store';
+
+/* ref.: https://ngrx.io/guide/store/reducers */
export interface State {
loading: boolean;
@@ -18,7 +20,7 @@
};
export const contactsPageReducer = createReducer(
INITIAL_STATE,
- on(contactsActions.loadContactsPage, (state: any, action: any) => {
+ on(contactsActions.loadContactsPage, (state: State | undefined, action: Action) => {
return {
...state,
loading: true,
@@ -27,7 +29,7 @@
data: null
};
}),
- on(contactsActions.loadContactsPageSuccess, (state: any, action: any) => {
+ on(contactsActions.loadContactsPageSuccess, (state: State | undefined, action: Action) => {
return {
...state,
loading: false,
@@ -36,7 +38,7 @@
data: action['payload']
};
}),
- on(contactsActions.loadContactsPageFail, (state: any, action: any) => {
+ on(contactsActions.loadContactsPageFail, (state: State | undefined, action: Action) => {
return {
...state,
loaded: false,
@@ -46,10 +48,10 @@
};
})
);
-export function reducer(state = INITIAL_STATE, action: any): State {
- if (!action) {
- return state;
- }
+export function reducer(state = INITIAL_STATE, action: Action): State {
+ // if (!action) {
+ // return state;
+ // }
return contactsPageReducer(state, action);
}
diff --git a/src/app/shared/store/reducers/salutations/salutations-details-form.reducer.ts b/src/app/shared/store/reducers/salutations/salutations-details-form.reducer.ts
new file mode 100644
index 0000000..9705ebb
--- /dev/null
+++ b/src/app/shared/store/reducers/salutations/salutations-details-form.reducer.ts
@@ -0,0 +1,67 @@
+import { Action, ActionReducer, INIT } from '@ngrx/store';
+import * as salutationActions from '@shared/store/actions/salutations.action';
+import {
+ createFormGroupState,
+ createFormStateReducerWithUpdate,
+ updateGroup,
+ FormGroupState,
+ FormState,
+ SetValueAction,
+ validate,
+} from 'ngrx-forms';
+import { Salutation } from '@shared/models';
+import { required } from 'ngrx-forms/validation';
+
+export const FORM_ID = 'salutationDetailForm';
+
+/**
+ * The initial state of the details form.
+ *
+ * @author Peter Buschmann <peter.buschmann@pta.de>
+ */
+export const INITIAL_STATE: FormGroupState<Salutation> = createFormGroupState<
+ Salutation
+>(FORM_ID, new Salutation());
+
+/**
+ * Validation function.
+ *
+ * @author Peter Buschmann <peter.buschmann@pta.de>
+ * @export
+ */
+export const validateForm: ActionReducer<FormState<Salutation>> = createFormStateReducerWithUpdate<Salutation>(
+ updateGroup<Salutation>(
+ {
+ type: validate(required),
+ description: validate(required),
+ }
+ )
+);
+
+/**
+ * The reducer function.
+ *
+ * @author Peter Buschmann <peter.buschmann@pta.de>
+ * @export
+ * @param {FormGroupState<LogProcessModel>} state FormGroupState
+ * @param {Action} action Action
+ */
+export function reducer(
+ state: FormGroupState<Salutation> = INITIAL_STATE,
+ action: Action
+): FormGroupState<Salutation> {
+ if (!action || action.type === INIT) {
+ return INITIAL_STATE;
+ }
+
+ if (action.type === salutationActions.loadSalutationSuccess.type) {
+ const salutation: Salutation = <Salutation>action['payload'];
+ const setValueAction: SetValueAction<any> = new SetValueAction<any>(FORM_ID, salutation);
+
+ return validateForm(state, setValueAction);
+ }
+
+ return validateForm(state, action);
+}
+export const getFormState = (state: FormGroupState<Salutation>) => state;
+
diff --git a/src/app/shared/store/reducers/salutations/salutations.reducer.spec.ts b/src/app/shared/store/reducers/salutations/salutations.reducer.spec.ts
new file mode 100644
index 0000000..58f7307
--- /dev/null
+++ b/src/app/shared/store/reducers/salutations/salutations.reducer.spec.ts
@@ -0,0 +1,73 @@
+import {SalutationsReducer, INITIAL_STATE, getData, getLoading, getLoaded, getFailed, reducer} from '@shared/store/reducers/salutations/salutations.reducer';
+import * as salutationsActions from '@shared/store/actions/salutations.action';
+import { Salutation } from '@shared/models';
+
+describe('Salutations reducer', () => {
+
+ it('should return the initial state', () => {
+ const action = { type: 'NOOP' } as any;
+ const result = reducer(undefined, action);
+
+ expect(result).toBe(INITIAL_STATE);
+ });
+
+ it('should return initial state in case of missing action', () => {
+ const result = reducer(undefined, null);
+ expect(result).toBe(INITIAL_STATE);
+ });
+
+ it('should trigger loading state', () => {
+ const action = salutationsActions.loadSalutations();
+ const result = SalutationsReducer(INITIAL_STATE, action);
+
+ expect(result).toEqual({
+ ...INITIAL_STATE,
+ loading: true,
+ });
+ });
+
+ it('should trigger loaded state', () => {
+ const salutations: salutationsActions.ILoadSalutationsSuccess = {payload: [new Salutation()]};
+ salutations.payload[0].type = 'testme';
+ const action = salutationsActions.loadSalutationsSuccess(salutations);
+ const result = SalutationsReducer(INITIAL_STATE, action);
+
+ expect(result.loaded).toBe(true);
+ });
+
+ it('should trigger failed state', () => {
+ const error: salutationsActions.ILoadSalutationsFail = {payload: 'err_msg'};
+ const action = salutationsActions.loadSalutationsFail(error);
+ const result = SalutationsReducer(INITIAL_STATE, action);
+
+ expect(result).toEqual({
+ ...INITIAL_STATE,
+ failed: true,
+ });
+ });
+
+ it('getData return state.data', () => {
+ const state = { ...INITIAL_STATE };
+ const result = getData(state);
+ expect(result).toBe(state.data);
+ });
+
+ it('getLoading return state.loading', () => {
+ const state = { ...INITIAL_STATE };
+ const result = getLoading(state);
+ expect(result).toBe(state.loading);
+ });
+
+ it('getLoaded return state.loaded', () => {
+ const state = { ...INITIAL_STATE };
+ const result = getLoaded(state);
+ expect(result).toBe(state.loaded);
+ });
+
+ it('getFailed return state.failed', () => {
+ const state = { ...INITIAL_STATE };
+ const result = getFailed(state);
+ expect(result).toBe(state.failed);
+ });
+
+});
diff --git a/src/app/shared/store/reducers/salutations/salutations.reducer.ts b/src/app/shared/store/reducers/salutations/salutations.reducer.ts
new file mode 100644
index 0000000..17a1538
--- /dev/null
+++ b/src/app/shared/store/reducers/salutations/salutations.reducer.ts
@@ -0,0 +1,61 @@
+import * as salutationsActions from '@shared/store/actions/salutations.action';
+import { Salutation } from '@shared/models';
+import { createReducer, on } from '@ngrx/store';
+
+export interface State {
+ loading: boolean;
+ loaded: boolean;
+ failed: boolean;
+ data: Array<Salutation>;
+}
+
+export const INITIAL_STATE: State = {
+ loading: false,
+ loaded: false,
+ failed: false,
+ data: []
+};
+
+export const SalutationsReducer = createReducer(
+ INITIAL_STATE,
+ on(salutationsActions.loadSalutations, (state: any, action: any) => {
+ return {
+ ...state,
+ loading: true,
+ loaded: false,
+ failed: false,
+ data: []
+ };
+ }),
+ on(salutationsActions.loadSalutationsSuccess, (state: any, action: any) => {
+ return {
+ ...state,
+ loading: false,
+ loaded: true,
+ failed: false,
+ data: action['payload']
+ };
+ }),
+ on(salutationsActions.loadSalutationsFail, (state: any, action: any) => {
+ return {
+ ...state,
+ loaded: false,
+ loading: false,
+ failed: true,
+ data: []
+ };
+ })
+);
+
+export function reducer(state = INITIAL_STATE, action: any): State {
+ if (!action) {
+ return state;
+ }
+
+ return SalutationsReducer(state, action);
+}
+
+export const getData = (state: State) => state.data;
+export const getLoading = (state: State) => state.loading;
+export const getLoaded = (state: State) => state.loaded;
+export const getFailed = (state: State) => state.failed;
diff --git a/yarn.lock b/yarn.lock
index df62e65..9717340 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,39 +2,40 @@
# yarn lockfile v1
-"@angular-devkit/architect@0.803.4":
- version "0.803.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.803.4.tgz#d1f058123ca33e77b674e9c1080a0c8be7aa670c"
- integrity sha512-Ek+xb9GfzHLbD+ATmupbzTSNFGddkH6dbb36cB6gme+vnlBVfXP0dxOg5lRKZoUIFJyREl9jSrA5zUhVwXaoVg==
+"@angular-devkit/architect@0.803.22":
+ version "0.803.22"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.803.22.tgz#33b54099298aaef5f93ffefb8b91a98ea9f85387"
+ integrity sha512-5Gr0LH+Hjd/NLdmi660VBoo3WbzQM7/yeG+ziktb7hbeVaYK4Mejtcg/DJnCoZ3hzlZuZokWVwvpdFo+A9xKbg==
dependencies:
- "@angular-devkit/core" "8.3.4"
+ "@angular-devkit/core" "8.3.22"
rxjs "6.4.0"
-"@angular-devkit/build-angular@~0.803.4":
- version "0.803.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.803.4.tgz#5c8b24e20ece98f1aa2435ace6228bb69022ea03"
- integrity sha512-tL0MdAPtUjqG+F6Hc0xhaKb2gk8g55AeBjSZognlJkqPRS+b+gF1qDmyW0n5HXbyDk+zIGZyvYpzkBBL8VI6bg==
+"@angular-devkit/build-angular@^0.803.21":
+ version "0.803.22"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.803.22.tgz#0fa668e84c237c6b1ab524e50b0ccaedc3a92929"
+ integrity sha512-2q9qLsD52D4GACUAuQhvkgQ7vLAhZzdU0jzfs74RTxqUZ3PS6Ltrrwpdg2kp9RlQ53+nSCYjWBDLk1CxoEt4pg==
dependencies:
- "@angular-devkit/architect" "0.803.4"
- "@angular-devkit/build-optimizer" "0.803.4"
- "@angular-devkit/build-webpack" "0.803.4"
- "@angular-devkit/core" "8.3.4"
- "@babel/core" "7.5.5"
- "@babel/preset-env" "7.5.5"
- "@ngtools/webpack" "8.3.4"
+ "@angular-devkit/architect" "0.803.22"
+ "@angular-devkit/build-optimizer" "0.803.22"
+ "@angular-devkit/build-webpack" "0.803.22"
+ "@angular-devkit/core" "8.3.22"
+ "@babel/core" "7.7.5"
+ "@babel/preset-env" "7.7.6"
+ "@ngtools/webpack" "8.3.22"
ajv "6.10.2"
autoprefixer "9.6.1"
- browserslist "4.6.6"
+ browserslist "4.8.3"
cacache "12.0.2"
- caniuse-lite "1.0.30000989"
+ caniuse-lite "1.0.30001019"
circular-dependency-plugin "5.2.0"
clean-css "4.2.1"
- copy-webpack-plugin "5.0.4"
+ copy-webpack-plugin "5.1.1"
core-js "3.2.1"
file-loader "4.2.0"
find-cache-dir "3.0.0"
glob "7.1.4"
istanbul-instrumenter-loader "3.0.1"
+ jest-worker "24.9.0"
karma-source-map-support "1.4.0"
less "3.9.0"
less-loader "5.0.0"
@@ -60,22 +61,21 @@
style-loader "1.0.0"
stylus "0.54.5"
stylus-loader "3.0.2"
- terser "4.1.4"
- terser-webpack-plugin "1.4.1"
+ terser "4.3.9"
+ terser-webpack-plugin "1.4.3"
tree-kill "1.2.1"
webpack "4.39.2"
- webpack-dev-middleware "3.7.0"
- webpack-dev-server "3.8.0"
+ webpack-dev-middleware "3.7.2"
+ webpack-dev-server "3.9.0"
webpack-merge "4.2.1"
webpack-sources "1.4.3"
webpack-subresource-integrity "1.1.0-rc.6"
- worker-farm "1.7.0"
worker-plugin "3.2.0"
-"@angular-devkit/build-optimizer@0.803.4":
- version "0.803.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.803.4.tgz#e9a4fc4be42b9cd9b33d42827b2b06ed9e73d79e"
- integrity sha512-VGkHCyU/OC0BoTeoERb0cFG00Ippjhtx2du+7JgwGNU1GF+g2H6Ka1NJRQf/TrwgH5ATmagvlTKQRDOMo51jqg==
+"@angular-devkit/build-optimizer@0.803.22":
+ version "0.803.22"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.803.22.tgz#6d09cbb5fd28ab7bd22ddc54e938f305dfff8b20"
+ integrity sha512-VIDeQcBn88PjHBTen3BRVA7DJiKEJdDwukx61mUvUDOcY7S5Ot5WqG0nrZifRjha17Z+fl3XuwS9TZNYmlF7WQ==
dependencies:
loader-utils "1.2.3"
source-map "0.7.3"
@@ -83,20 +83,19 @@
typescript "3.5.3"
webpack-sources "1.4.3"
-"@angular-devkit/build-webpack@0.803.4":
- version "0.803.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.803.4.tgz#5d9c24555f3ac1d66c23826fd6bfa1ef140f9c88"
- integrity sha512-IbXoKyhdfaza+K8orCwDx3r7C/8qaTwiXUlarW/adoH5XBwzAtYGGsMmmWRffBnBiZtI2LT3VK21QAostklNxg==
+"@angular-devkit/build-webpack@0.803.22":
+ version "0.803.22"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.803.22.tgz#079b2ded794308b2dc93769406bdb0a1e32015c0"
+ integrity sha512-RDLAhKHfTFzthzeawHEefYB1MxHiU2I32QzXI3XTCpR2XySw5JG9jIVIcsyDHQH1JtIfpHGq8vgfiTsE3r0YWA==
dependencies:
- "@angular-devkit/architect" "0.803.4"
- "@angular-devkit/core" "8.3.4"
+ "@angular-devkit/architect" "0.803.22"
+ "@angular-devkit/core" "8.3.22"
rxjs "6.4.0"
- webpack-merge "4.2.1"
-"@angular-devkit/core@8.3.4":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.4.tgz#cdd0593ca4dc5eaff2adc77bda9aed1327dbb405"
- integrity sha512-QjUN9EakpQ+sFYeMfBMecxVhgI4Vdg0k20h6PZDjZ9lqYNXjpaQVtBo7qiPYHh5kQeJEvdrzca6yeYuCP3TvZw==
+"@angular-devkit/core@8.3.22":
+ version "8.3.22"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.22.tgz#085cc1cf356cec00d0a1cea83ef1f21277f5ff55"
+ integrity sha512-lOEYcvK3MktjR9YZT/cUjiQE5dZxl8rZ/vgWgwDiL7RtzfXTt8lPapoJe7YKS53gLbUYiBNPCtTyTAqnslWgGA==
dependencies:
ajv "6.10.2"
fast-json-stable-stringify "2.0.0"
@@ -104,65 +103,67 @@
rxjs "6.4.0"
source-map "0.7.3"
-"@angular-devkit/schematics@8.3.4":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.4.tgz#09735ac05fa23780b0edcbe3ac906892c753daec"
- integrity sha512-+QXhrAEcReQJL4fn+35NbcdW5d1vawqSZUokqga8E971YUVUk55mHpIQ39Vpj3S9jhTRYwxsHl+7v9N7UaREmg==
+"@angular-devkit/schematics@8.3.22":
+ version "8.3.22"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.22.tgz#41461768cc6cf54708d55311e59b9defa7bff484"
+ integrity sha512-ETLdV1ftT+ZuuiHl6FjFQ4XLQznWMcxWognX+qgByn+DQOXsYRRvZK1L5eG/SG8CKJ8NL5oteTDloDnghARHFw==
dependencies:
- "@angular-devkit/core" "8.3.4"
+ "@angular-devkit/core" "8.3.22"
rxjs "6.4.0"
-"@angular/animations@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-8.2.6.tgz#f453493c2dd88294911fb1e32a659606621226f2"
- integrity sha512-beakpSjzF+bP2jCDmeGHwSim04u9x1Uf3dCFAj1CqRwJGb8POpUA1KlnGrEm2pzWzHKVqQH6VQ+8uGPLl17PFA==
+"@angular/animations@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-8.2.14.tgz#76736b21e56165e6ca4925fb69605bdcc56aba7d"
+ integrity sha512-3Vc9TnNpKdtvKIXcWDFINSsnwgEMiDmLzjceWg1iYKwpeZGQahUXPoesLwQazBMmxJzQiA4HOMj0TTXKZ+Jzkg==
dependencies:
tslib "^1.9.0"
-"@angular/cdk@^8.2.0":
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-8.2.0.tgz#fe183aaf9907421086e413a80af6ec0995983a9d"
- integrity sha512-vsjKiUirICP9fTxnBT3jjqW14ipZLJPkyT3dKZQETKcml1fTY1L9QVXclvLTeUliuPSl490anuBvpQpfMeJDhQ==
+"@angular/cdk@^8.2.3":
+ version "8.2.3"
+ resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-8.2.3.tgz#16b96ffa935cbf5a646757ecaf2b19c434678f72"
+ integrity sha512-ZwO5Sn720RA2YvBqud0JAHkZXjmjxM0yNzCO8RVtRE9i8Gl26Wk0j0nQeJkVm4zwv2QO8MwbKUKGTMt8evsokA==
dependencies:
tslib "^1.7.1"
optionalDependencies:
parse5 "^5.0.0"
-"@angular/cli@^8.3.4":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-8.3.4.tgz#1e64fd25e8c69a62f984c4b11da15802874d773d"
- integrity sha512-5Jp7a1/Yepm2JkrMHY2Q7nO1FxlNvGp1Zc3m9dp4ydH08qO6/Z8WO0HF+/BxAsHZzB+XV91E1ZzbLR0RdsM8ag==
+"@angular/cli@^8.3.21":
+ version "8.3.22"
+ resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-8.3.22.tgz#2512e0aeaffdbb30ace35dc288eeba9a86f28b95"
+ integrity sha512-OT2rzwnxwI0ETP7rXCxjxsIAZEYo9wHP/5rRbu3m15GlQ3Bclq34ZDRwC/bRxXL5+1DfmhAs9AjtYNoFoDM4Tg==
dependencies:
- "@angular-devkit/architect" "0.803.4"
- "@angular-devkit/core" "8.3.4"
- "@angular-devkit/schematics" "8.3.4"
- "@schematics/angular" "8.3.4"
- "@schematics/update" "0.803.4"
+ "@angular-devkit/architect" "0.803.22"
+ "@angular-devkit/core" "8.3.22"
+ "@angular-devkit/schematics" "8.3.22"
+ "@schematics/angular" "8.3.22"
+ "@schematics/update" "0.803.22"
"@yarnpkg/lockfile" "1.1.0"
ansi-colors "4.1.1"
debug "^4.1.1"
ini "1.3.5"
inquirer "6.5.1"
npm-package-arg "6.1.0"
+ npm-pick-manifest "3.0.2"
open "6.4.0"
pacote "9.5.5"
read-package-tree "5.3.1"
+ rimraf "3.0.0"
semver "6.3.0"
symbol-observable "1.2.0"
universal-analytics "^0.4.20"
uuid "^3.3.2"
-"@angular/common@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/common/-/common-8.2.6.tgz#21d2479875c149ac6b3e0ddc351f14bb6ff01687"
- integrity sha512-OlU3LCPShHJEsOHS+qczY52P0kWtjJD8N7NDHaGMB6Xp8GMgItjQIeeO6yf8DJyaCIC4qk4G7jPdnQk6IE1SbQ==
+"@angular/common@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/common/-/common-8.2.14.tgz#027e52b2951c14082d6e3af1a4ffa1356220e439"
+ integrity sha512-Qmt+aX2quUW54kaNT7QH7WGXnFxr/cC2C6sf5SW5SdkZfDQSiz8IaItvieZfXVQUbBOQKFRJ7TlSkt0jI/yjvw==
dependencies:
tslib "^1.9.0"
-"@angular/compiler-cli@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-8.2.6.tgz#5ff7b1800ee5ebc022fe18952790044522aed55f"
- integrity sha512-WLlBO/oGcQBKE8rYcENZQ4HgkbrmMqSNJXHLK/HnZpvbot2+mPiDXykI/p5rKdpAei/lgTU8g8GskoiDeLXsgw==
+"@angular/compiler-cli@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-8.2.14.tgz#1997bec04a6b9d022954e5747505fe8906994594"
+ integrity sha512-XDrTyrlIZM+0NquVT+Kbg5bn48AaWFT+B3bAT288PENrTdkuxuF9AhjFRZj8jnMdmaE4O2rioEkXBtl6z3zptA==
dependencies:
canonical-path "1.0.0"
chokidar "^2.1.1"
@@ -175,24 +176,24 @@
tslib "^1.9.0"
yargs "13.1.0"
-"@angular/compiler@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-8.2.6.tgz#85d63493962263433d4416f9094d0906be852214"
- integrity sha512-NdTY2n0XNRmKixbKDWB++9tEDLFwN0/Bp/1lXJ4qF/8V5Wju6IJ/UZZKjR5C4uiKtF17T3GzubhXgghumt5UVA==
+"@angular/compiler@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-8.2.14.tgz#46db7a9d1c17f236126518ff26480c160d5a6183"
+ integrity sha512-ABZO4E7eeFA1QyJ2trDezxeQM5ZFa1dXw1Mpl/+1vuXDKNjJgNyWYwKp/NwRkLmrsuV0yv4UDCDe4kJOGbPKnw==
dependencies:
tslib "^1.9.0"
-"@angular/core@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/core/-/core-8.2.6.tgz#26f4b4b2beb766964ea2b76183f69c443860849a"
- integrity sha512-l+BrvPGwtPUh/rQyB9mjtonMsFEAoRHgDYWeQu/QukIZbItNdFqrhewn2zQ8Skx75BpwFLAVIVXp9ioDyvP2eQ==
+"@angular/core@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/core/-/core-8.2.14.tgz#35566f5b19480369229477e7e0e0fde740bd5204"
+ integrity sha512-zeePkigi+hPh3rN7yoNENG/YUBUsIvUXdxx+AZq+QPaFeKEA2FBSrKn36ojHFrdJUjKzl0lPMEiGC2b6a6bo6g==
dependencies:
tslib "^1.9.0"
-"@angular/forms@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-8.2.6.tgz#b0dad08073cded208bf4b5b857b396ba32527038"
- integrity sha512-sYUspJYJGq0OaBuxgdUXPf0TwYyED9OVWNCl9jDJCW//2NAbrZG8BSujvV54Dtg2emY1Uc7EFyQ8Wc8yxS7KSg==
+"@angular/forms@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-8.2.14.tgz#7d357c346a3884881beb044c50ec4a09d3d7ee8e"
+ integrity sha512-zhyKL3CFIqcyHJ/TQF/h1OZztK611a6rxuPHCrt/5Sn1SuBTJJQ1pPTkOYIDy6IrCrtyANc8qB6P17Mao71DNQ==
dependencies:
tslib "^1.9.0"
@@ -203,24 +204,24 @@
dependencies:
tslib "^1.9.0"
-"@angular/platform-browser-dynamic@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.6.tgz#2fc4b053a0efc0a30f9741a7448ed95f2dadc64b"
- integrity sha512-4azHzNBYYeyzIsktN2P+d0stCisOvYfxU7U0oD+FaGalxg2Ch1mGjnZA+5UcmbMZOOXo4TMcKmzpB6VcLGe+Hw==
+"@angular/platform-browser-dynamic@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.14.tgz#4439a79fe10ec45170e6940a28835e9ff0918950"
+ integrity sha512-mO2JPR5kLU/A3AQngy9+R/Q5gaF9csMStBQjwsCRI0wNtlItOIGL6+wTYpiTuh/ux+WVN1F2sLcEYU4Zf1ud9A==
dependencies:
tslib "^1.9.0"
-"@angular/platform-browser@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-8.2.6.tgz#f22419e41ac20a17fb7c9ca8bfd40122dd877d5b"
- integrity sha512-wUgcdTXItforNA+6qykPL9SDmV1uSIUQcEZrm3YCoVt7CuwMav3dq9Lg1zZ7HKv0A8It0fAKpXBkamzpRxvZEw==
+"@angular/platform-browser@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-8.2.14.tgz#31f082e8ba977f9b89964d721c38cbc32ce0e433"
+ integrity sha512-MtJptptyKzsE37JZ2VB/tI4cvMrdAH+cT9pMBYZd66YSZfKjIj5s+AZo7z8ncoskQSB1o3HMfDjSK7QXGx1mLQ==
dependencies:
tslib "^1.9.0"
-"@angular/router@^8.2.6":
- version "8.2.6"
- resolved "https://registry.yarnpkg.com/@angular/router/-/router-8.2.6.tgz#b08883950ab580d02fd491729d60e091f8363529"
- integrity sha512-XAqhrPbU+z/ztf2b0VxFytHPJRpWfhnhCJ2qf9Tie1Cov6zOlgIKInOSF+WtsFEUZAnwSbAfGk4KSXrwBWw8zA==
+"@angular/router@^8.2.14":
+ version "8.2.14"
+ resolved "https://registry.yarnpkg.com/@angular/router/-/router-8.2.14.tgz#5f9f9707710983c2143aead79dcd2da520ae3eb8"
+ integrity sha512-DHA2BhODqV7F0g6ZKgFaZgbsqzHHWRcfWchCOrOVKu2rYiKUTwwHVLBgZAhrpNeinq2pWanVYSIhMr7wy+LfEA==
dependencies:
tslib "^1.9.0"
@@ -238,19 +239,19 @@
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/core@7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30"
- integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==
+"@babel/core@7.7.5":
+ version "7.7.5"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e"
+ integrity sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==
dependencies:
"@babel/code-frame" "^7.5.5"
- "@babel/generator" "^7.5.5"
- "@babel/helpers" "^7.5.5"
- "@babel/parser" "^7.5.5"
- "@babel/template" "^7.4.4"
- "@babel/traverse" "^7.5.5"
- "@babel/types" "^7.5.5"
- convert-source-map "^1.1.0"
+ "@babel/generator" "^7.7.4"
+ "@babel/helpers" "^7.7.4"
+ "@babel/parser" "^7.7.5"
+ "@babel/template" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
+ convert-source-map "^1.7.0"
debug "^4.1.0"
json5 "^2.1.0"
lodash "^4.17.13"
@@ -258,7 +259,7 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.4.0", "@babel/generator@^7.5.5", "@babel/generator@^7.6.0":
+"@babel/generator@^7.4.0", "@babel/generator@^7.6.0":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.0.tgz#e2c21efbfd3293ad819a2359b448f002bfdfda56"
integrity sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==
@@ -269,46 +270,64 @@
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/helper-annotate-as-pure@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
- integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
+"@babel/generator@^7.7.4":
+ version "7.7.7"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.7.tgz#859ac733c44c74148e1a72980a64ec84b85f4f45"
+ integrity sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.7.4"
+ jsesc "^2.5.1"
+ lodash "^4.17.13"
+ source-map "^0.5.0"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
- integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
+"@babel/helper-annotate-as-pure@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce"
+ integrity sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.7.4"
-"@babel/helper-call-delegate@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"
- integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f"
+ integrity sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==
dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/helper-explode-assignable-expression" "^7.7.4"
+ "@babel/types" "^7.7.4"
-"@babel/helper-define-map@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369"
- integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==
+"@babel/helper-call-delegate@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801"
+ integrity sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/types" "^7.5.5"
+ "@babel/helper-hoist-variables" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
+
+"@babel/helper-create-regexp-features-plugin@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59"
+ integrity sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==
+ dependencies:
+ "@babel/helper-regex" "^7.4.4"
+ regexpu-core "^4.6.0"
+
+"@babel/helper-define-map@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176"
+ integrity sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==
+ dependencies:
+ "@babel/helper-function-name" "^7.7.4"
+ "@babel/types" "^7.7.4"
lodash "^4.17.13"
-"@babel/helper-explode-assignable-expression@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
- integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
+"@babel/helper-explode-assignable-expression@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84"
+ integrity sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==
dependencies:
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
"@babel/helper-function-name@^7.1.0":
version "7.1.0"
@@ -319,6 +338,15 @@
"@babel/template" "^7.1.0"
"@babel/types" "^7.0.0"
+"@babel/helper-function-name@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e"
+ integrity sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.7.4"
+ "@babel/template" "^7.7.4"
+ "@babel/types" "^7.7.4"
+
"@babel/helper-get-function-arity@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
@@ -326,45 +354,52 @@
dependencies:
"@babel/types" "^7.0.0"
-"@babel/helper-hoist-variables@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
- integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==
+"@babel/helper-get-function-arity@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0"
+ integrity sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==
dependencies:
- "@babel/types" "^7.4.4"
+ "@babel/types" "^7.7.4"
-"@babel/helper-member-expression-to-functions@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590"
- integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==
+"@babel/helper-hoist-variables@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12"
+ integrity sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==
dependencies:
- "@babel/types" "^7.5.5"
+ "@babel/types" "^7.7.4"
-"@babel/helper-module-imports@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
- integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
+"@babel/helper-member-expression-to-functions@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74"
+ integrity sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.7.4"
-"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a"
- integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==
+"@babel/helper-module-imports@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91"
+ integrity sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==
dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/template" "^7.4.4"
- "@babel/types" "^7.5.5"
+ "@babel/types" "^7.7.4"
+
+"@babel/helper-module-transforms@^7.7.4", "@babel/helper-module-transforms@^7.7.5":
+ version "7.7.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835"
+ integrity sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.7.4"
+ "@babel/helper-simple-access" "^7.7.4"
+ "@babel/helper-split-export-declaration" "^7.7.4"
+ "@babel/template" "^7.7.4"
+ "@babel/types" "^7.7.4"
lodash "^4.17.13"
-"@babel/helper-optimise-call-expression@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
- integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
+"@babel/helper-optimise-call-expression@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2"
+ integrity sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.7.4"
"@babel/helper-plugin-utils@^7.0.0":
version "7.0.0"
@@ -378,34 +413,34 @@
dependencies:
lodash "^4.17.13"
-"@babel/helper-remap-async-to-generator@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
- integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
+"@babel/helper-remap-async-to-generator@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234"
+ integrity sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-wrap-function" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.7.4"
+ "@babel/helper-wrap-function" "^7.7.4"
+ "@babel/template" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
-"@babel/helper-replace-supers@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2"
- integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==
+"@babel/helper-replace-supers@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2"
+ integrity sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.5.5"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/traverse" "^7.5.5"
- "@babel/types" "^7.5.5"
+ "@babel/helper-member-expression-to-functions" "^7.7.4"
+ "@babel/helper-optimise-call-expression" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
-"@babel/helper-simple-access@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
- integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
+"@babel/helper-simple-access@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294"
+ integrity sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==
dependencies:
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/template" "^7.7.4"
+ "@babel/types" "^7.7.4"
"@babel/helper-split-export-declaration@^7.4.4":
version "7.4.4"
@@ -414,24 +449,31 @@
dependencies:
"@babel/types" "^7.4.4"
-"@babel/helper-wrap-function@^7.1.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
- integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==
+"@babel/helper-split-export-declaration@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8"
+ integrity sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.2.0"
+ "@babel/types" "^7.7.4"
-"@babel/helpers@^7.5.5":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.0.tgz#21961d16c6a3c3ab597325c34c465c0887d31c6e"
- integrity sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==
+"@babel/helper-wrap-function@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace"
+ integrity sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==
dependencies:
- "@babel/template" "^7.6.0"
- "@babel/traverse" "^7.6.0"
- "@babel/types" "^7.6.0"
+ "@babel/helper-function-name" "^7.7.4"
+ "@babel/template" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
+
+"@babel/helpers@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302"
+ integrity sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==
+ dependencies:
+ "@babel/template" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@babel/types" "^7.7.4"
"@babel/highlight@^7.0.0":
version "7.5.0"
@@ -442,399 +484,409 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.4.3", "@babel/parser@^7.5.5", "@babel/parser@^7.6.0":
+"@babel/parser@^7.4.3", "@babel/parser@^7.6.0":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.0.tgz#3e05d0647432a8326cb28d0de03895ae5a57f39b"
integrity sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==
-"@babel/plugin-proposal-async-generator-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e"
- integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==
+"@babel/parser@^7.7.4", "@babel/parser@^7.7.5":
+ version "7.7.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937"
+ integrity sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==
+
+"@babel/plugin-proposal-async-generator-functions@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d"
+ integrity sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
+ "@babel/helper-remap-async-to-generator" "^7.7.4"
+ "@babel/plugin-syntax-async-generators" "^7.7.4"
-"@babel/plugin-proposal-dynamic-import@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506"
- integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==
+"@babel/plugin-proposal-dynamic-import@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d"
+ integrity sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-dynamic-import" "^7.2.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.7.4"
-"@babel/plugin-proposal-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
- integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==
+"@babel/plugin-proposal-json-strings@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d"
+ integrity sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
+ "@babel/plugin-syntax-json-strings" "^7.7.4"
-"@babel/plugin-proposal-object-rest-spread@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58"
- integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==
+"@babel/plugin-proposal-object-rest-spread@^7.7.4":
+ version "7.7.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz#9f27075004ab99be08c5c1bd653a2985813cb370"
+ integrity sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.7.4"
-"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5"
- integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==
+"@babel/plugin-proposal-optional-catch-binding@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379"
+ integrity sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.7.4"
-"@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78"
- integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==
+"@babel/plugin-proposal-unicode-property-regex@^7.7.4":
+ version "7.7.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz#433fa9dac64f953c12578b29633f456b68831c4e"
+ integrity sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==
dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
-"@babel/plugin-syntax-async-generators@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"
- integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==
+"@babel/plugin-syntax-async-generators@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889"
+ integrity sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-dynamic-import@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612"
- integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==
+"@babel/plugin-syntax-dynamic-import@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec"
+ integrity sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
- integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==
+"@babel/plugin-syntax-json-strings@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc"
+ integrity sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-object-rest-spread@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
- integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==
+"@babel/plugin-syntax-object-rest-spread@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46"
+ integrity sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c"
- integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==
+"@babel/plugin-syntax-optional-catch-binding@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6"
+ integrity sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-arrow-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
- integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==
+"@babel/plugin-syntax-top-level-await@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da"
+ integrity sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-async-to-generator@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e"
- integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
-
-"@babel/plugin-transform-block-scoped-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"
- integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==
+"@babel/plugin-transform-arrow-functions@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12"
+ integrity sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-block-scoping@^7.5.5":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz#c49e21228c4bbd4068a35667e6d951c75439b1dc"
- integrity sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==
+"@babel/plugin-transform-async-to-generator@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba"
+ integrity sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.7.4"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.7.4"
+
+"@babel/plugin-transform-block-scoped-functions@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b"
+ integrity sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-block-scoping@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224"
+ integrity sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
lodash "^4.17.13"
-"@babel/plugin-transform-classes@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9"
- integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==
+"@babel/plugin-transform-classes@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec"
+ integrity sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.5.5"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.7.4"
+ "@babel/helper-define-map" "^7.7.4"
+ "@babel/helper-function-name" "^7.7.4"
+ "@babel/helper-optimise-call-expression" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.5.5"
- "@babel/helper-split-export-declaration" "^7.4.4"
+ "@babel/helper-replace-supers" "^7.7.4"
+ "@babel/helper-split-export-declaration" "^7.7.4"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da"
- integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==
+"@babel/plugin-transform-computed-properties@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d"
+ integrity sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-destructuring@^7.5.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6"
- integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==
+"@babel/plugin-transform-destructuring@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267"
+ integrity sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
- integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==
+"@babel/plugin-transform-dotall-regex@^7.7.4":
+ version "7.7.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz#3e9713f1b69f339e87fa796b097d73ded16b937b"
+ integrity sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==
dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
-"@babel/plugin-transform-duplicate-keys@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853"
- integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==
+"@babel/plugin-transform-duplicate-keys@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91"
+ integrity sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-exponentiation-operator@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008"
- integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==
+"@babel/plugin-transform-exponentiation-operator@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9"
+ integrity sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-for-of@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
- integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==
+"@babel/plugin-transform-for-of@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc"
+ integrity sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-function-name@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad"
- integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==
+"@babel/plugin-transform-function-name@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1"
+ integrity sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-function-name" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1"
- integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==
+"@babel/plugin-transform-literals@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e"
+ integrity sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-member-expression-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d"
- integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==
+"@babel/plugin-transform-member-expression-literals@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a"
+ integrity sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-modules-amd@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91"
- integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==
+"@babel/plugin-transform-modules-amd@^7.7.5":
+ version "7.7.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c"
+ integrity sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==
dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-module-transforms" "^7.7.5"
"@babel/helper-plugin-utils" "^7.0.0"
babel-plugin-dynamic-import-node "^2.3.0"
-"@babel/plugin-transform-modules-commonjs@^7.5.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486"
- integrity sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==
+"@babel/plugin-transform-modules-commonjs@^7.7.5":
+ version "7.7.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345"
+ integrity sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==
dependencies:
- "@babel/helper-module-transforms" "^7.4.4"
+ "@babel/helper-module-transforms" "^7.7.5"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
+ "@babel/helper-simple-access" "^7.7.4"
babel-plugin-dynamic-import-node "^2.3.0"
-"@babel/plugin-transform-modules-systemjs@^7.5.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249"
- integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==
+"@babel/plugin-transform-modules-systemjs@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30"
+ integrity sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==
dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
+ "@babel/helper-hoist-variables" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
babel-plugin-dynamic-import-node "^2.3.0"
-"@babel/plugin-transform-modules-umd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae"
- integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==
+"@babel/plugin-transform-modules-umd@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f"
+ integrity sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==
dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-module-transforms" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz#1e6e663097813bb4f53d42df0750cf28ad3bb3f1"
- integrity sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220"
+ integrity sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==
dependencies:
- regexp-tree "^0.1.13"
+ "@babel/helper-create-regexp-features-plugin" "^7.7.4"
-"@babel/plugin-transform-new-target@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5"
- integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==
+"@babel/plugin-transform-new-target@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167"
+ integrity sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-object-super@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9"
- integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==
+"@babel/plugin-transform-object-super@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262"
+ integrity sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.5.5"
+ "@babel/helper-replace-supers" "^7.7.4"
-"@babel/plugin-transform-parameters@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16"
- integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==
+"@babel/plugin-transform-parameters@^7.7.4":
+ version "7.7.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz#7a884b2460164dc5f194f668332736584c760007"
+ integrity sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==
dependencies:
- "@babel/helper-call-delegate" "^7.4.4"
- "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/helper-call-delegate" "^7.7.4"
+ "@babel/helper-get-function-arity" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-property-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905"
- integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==
+"@babel/plugin-transform-property-literals@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2"
+ integrity sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-regenerator@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f"
- integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==
+"@babel/plugin-transform-regenerator@^7.7.5":
+ version "7.7.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9"
+ integrity sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==
dependencies:
regenerator-transform "^0.14.0"
-"@babel/plugin-transform-reserved-words@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634"
- integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==
+"@babel/plugin-transform-reserved-words@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb"
+ integrity sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-shorthand-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
- integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==
+"@babel/plugin-transform-shorthand-properties@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e"
+ integrity sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-spread@^7.2.0":
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406"
- integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==
+"@babel/plugin-transform-spread@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578"
+ integrity sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-sticky-regex@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1"
- integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==
+"@babel/plugin-transform-sticky-regex@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c"
+ integrity sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-regex" "^7.0.0"
-"@babel/plugin-transform-template-literals@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0"
- integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==
+"@babel/plugin-transform-template-literals@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604"
+ integrity sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-typeof-symbol@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2"
- integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==
+"@babel/plugin-transform-typeof-symbol@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e"
+ integrity sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-unicode-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f"
- integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==
+"@babel/plugin-transform-unicode-regex@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae"
+ integrity sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==
dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
-"@babel/preset-env@7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a"
- integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==
+"@babel/preset-env@7.7.6":
+ version "7.7.6"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.6.tgz#39ac600427bbb94eec6b27953f1dfa1d64d457b2"
+ integrity sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==
dependencies:
- "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-module-imports" "^7.7.4"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.2.0"
- "@babel/plugin-proposal-dynamic-import" "^7.5.0"
- "@babel/plugin-proposal-json-strings" "^7.2.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.5.5"
- "@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
- "@babel/plugin-syntax-dynamic-import" "^7.2.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
- "@babel/plugin-transform-arrow-functions" "^7.2.0"
- "@babel/plugin-transform-async-to-generator" "^7.5.0"
- "@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.5.5"
- "@babel/plugin-transform-classes" "^7.5.5"
- "@babel/plugin-transform-computed-properties" "^7.2.0"
- "@babel/plugin-transform-destructuring" "^7.5.0"
- "@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/plugin-transform-duplicate-keys" "^7.5.0"
- "@babel/plugin-transform-exponentiation-operator" "^7.2.0"
- "@babel/plugin-transform-for-of" "^7.4.4"
- "@babel/plugin-transform-function-name" "^7.4.4"
- "@babel/plugin-transform-literals" "^7.2.0"
- "@babel/plugin-transform-member-expression-literals" "^7.2.0"
- "@babel/plugin-transform-modules-amd" "^7.5.0"
- "@babel/plugin-transform-modules-commonjs" "^7.5.0"
- "@babel/plugin-transform-modules-systemjs" "^7.5.0"
- "@babel/plugin-transform-modules-umd" "^7.2.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5"
- "@babel/plugin-transform-new-target" "^7.4.4"
- "@babel/plugin-transform-object-super" "^7.5.5"
- "@babel/plugin-transform-parameters" "^7.4.4"
- "@babel/plugin-transform-property-literals" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.4.5"
- "@babel/plugin-transform-reserved-words" "^7.2.0"
- "@babel/plugin-transform-shorthand-properties" "^7.2.0"
- "@babel/plugin-transform-spread" "^7.2.0"
- "@babel/plugin-transform-sticky-regex" "^7.2.0"
- "@babel/plugin-transform-template-literals" "^7.4.4"
- "@babel/plugin-transform-typeof-symbol" "^7.2.0"
- "@babel/plugin-transform-unicode-regex" "^7.4.4"
- "@babel/types" "^7.5.5"
+ "@babel/plugin-proposal-async-generator-functions" "^7.7.4"
+ "@babel/plugin-proposal-dynamic-import" "^7.7.4"
+ "@babel/plugin-proposal-json-strings" "^7.7.4"
+ "@babel/plugin-proposal-object-rest-spread" "^7.7.4"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.7.4"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.7.4"
+ "@babel/plugin-syntax-async-generators" "^7.7.4"
+ "@babel/plugin-syntax-dynamic-import" "^7.7.4"
+ "@babel/plugin-syntax-json-strings" "^7.7.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.7.4"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.7.4"
+ "@babel/plugin-syntax-top-level-await" "^7.7.4"
+ "@babel/plugin-transform-arrow-functions" "^7.7.4"
+ "@babel/plugin-transform-async-to-generator" "^7.7.4"
+ "@babel/plugin-transform-block-scoped-functions" "^7.7.4"
+ "@babel/plugin-transform-block-scoping" "^7.7.4"
+ "@babel/plugin-transform-classes" "^7.7.4"
+ "@babel/plugin-transform-computed-properties" "^7.7.4"
+ "@babel/plugin-transform-destructuring" "^7.7.4"
+ "@babel/plugin-transform-dotall-regex" "^7.7.4"
+ "@babel/plugin-transform-duplicate-keys" "^7.7.4"
+ "@babel/plugin-transform-exponentiation-operator" "^7.7.4"
+ "@babel/plugin-transform-for-of" "^7.7.4"
+ "@babel/plugin-transform-function-name" "^7.7.4"
+ "@babel/plugin-transform-literals" "^7.7.4"
+ "@babel/plugin-transform-member-expression-literals" "^7.7.4"
+ "@babel/plugin-transform-modules-amd" "^7.7.5"
+ "@babel/plugin-transform-modules-commonjs" "^7.7.5"
+ "@babel/plugin-transform-modules-systemjs" "^7.7.4"
+ "@babel/plugin-transform-modules-umd" "^7.7.4"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4"
+ "@babel/plugin-transform-new-target" "^7.7.4"
+ "@babel/plugin-transform-object-super" "^7.7.4"
+ "@babel/plugin-transform-parameters" "^7.7.4"
+ "@babel/plugin-transform-property-literals" "^7.7.4"
+ "@babel/plugin-transform-regenerator" "^7.7.5"
+ "@babel/plugin-transform-reserved-words" "^7.7.4"
+ "@babel/plugin-transform-shorthand-properties" "^7.7.4"
+ "@babel/plugin-transform-spread" "^7.7.4"
+ "@babel/plugin-transform-sticky-regex" "^7.7.4"
+ "@babel/plugin-transform-template-literals" "^7.7.4"
+ "@babel/plugin-transform-typeof-symbol" "^7.7.4"
+ "@babel/plugin-transform-unicode-regex" "^7.7.4"
+ "@babel/types" "^7.7.4"
browserslist "^4.6.0"
- core-js-compat "^3.1.1"
+ core-js-compat "^3.4.7"
invariant "^2.2.2"
js-levenshtein "^1.1.3"
semver "^5.5.0"
-"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0":
+"@babel/template@^7.1.0", "@babel/template@^7.4.0":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6"
integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==
@@ -843,7 +895,16 @@
"@babel/parser" "^7.6.0"
"@babel/types" "^7.6.0"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.0":
+"@babel/template@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b"
+ integrity sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.7.4"
+ "@babel/types" "^7.7.4"
+
+"@babel/traverse@^7.4.3":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.0.tgz#389391d510f79be7ce2ddd6717be66d3fed4b516"
integrity sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==
@@ -858,7 +919,22 @@
globals "^11.1.0"
lodash "^4.17.13"
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0":
+"@babel/traverse@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558"
+ integrity sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==
+ dependencies:
+ "@babel/code-frame" "^7.5.5"
+ "@babel/generator" "^7.7.4"
+ "@babel/helper-function-name" "^7.7.4"
+ "@babel/helper-split-export-declaration" "^7.7.4"
+ "@babel/parser" "^7.7.4"
+ "@babel/types" "^7.7.4"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.13"
+
+"@babel/types@^7.0.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0":
version "7.6.1"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648"
integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==
@@ -867,32 +943,48 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
+"@babel/types@^7.7.4":
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193"
+ integrity sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==
+ dependencies:
+ esutils "^2.0.2"
+ lodash "^4.17.13"
+ to-fast-properties "^2.0.0"
+
+"@ng-bootstrap/ng-bootstrap@^5.1.5":
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-5.1.5.tgz#862f82c0c51c02076538fd266141f45e4209e608"
+ integrity sha512-DpeKD2LOv2LFSzYOOiWd6qv52i7KS2VY9SQs4533OPspJKq7mKo6zZ3jgAV+tPP+Bit1+pF3hkVpfh+rFMCejA==
+ dependencies:
+ tslib "^1.9.0"
+
"@ngrx/core@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@ngrx/core/-/core-1.2.0.tgz#882b46abafa2e0e6d887cb71a1b2c2fa3e6d0dc6"
integrity sha1-iCtGq6+i4ObYh8txobLC+j5tDcY=
-"@ngrx/effects@^8.2.0":
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/@ngrx/effects/-/effects-8.3.0.tgz#d99a777ab352d4efdf456a7dec307514187ba496"
- integrity sha512-/DdBqCFpHOJZUAmIpefQ8EVwmJXXkcEdLhsV8aXncCNWkK61sy/MbZZfDAbee6Cd1is33bVXRUKD49Z+Upvw5A==
+"@ngrx/effects@^8.6.0":
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/@ngrx/effects/-/effects-8.6.0.tgz#a0d7339597a5128c5cf896ddcf93f73406a45860"
+ integrity sha512-JdyJLQbv/wnE0ZPY9DcDOtF9PzJuzsKWmIWgIGunHF18wdjk5O8Zpkcrxq18wDRL6geg5UTtNJRMvTQhpDbzow==
-"@ngrx/store-devtools@^8.2.0":
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/@ngrx/store-devtools/-/store-devtools-8.3.0.tgz#c9e9f5bd9fe7e32c605d3a85888d4da91a582b02"
- integrity sha512-7jsmN8wz6PMKrbqHnUulMvf8OSYUZbXXOwkcXRaGqIjlnEG9RCHQL0cXuF8zB6uX5xencdEXsRVQe3MdZXWQng==
+"@ngrx/store-devtools@^8.6.0":
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/@ngrx/store-devtools/-/store-devtools-8.6.0.tgz#ac287e4b094d099781cdc9f3281039c0e988296c"
+ integrity sha512-PWZmiOZE0J56GFfZpuzKLb7w0K2c6OXZSp/eWDeAvtdHFD4/Nas1i4TXtiWWMWWnSZeNs0hNIg4nFJXi2EddJQ==
-"@ngrx/store@^8.3.0":
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/@ngrx/store/-/store-8.3.0.tgz#f2eaf428ec9e8379801cc37e3f6bffe88c2af472"
- integrity sha512-QtM5T6/wTYqAlqeW60ptqqrsBwYF7jvQHsh0yE3AnwZIQvSbLFM2t5S2kN+753v4rHiXVRrA5pLaLzjGhAKcSg==
+"@ngrx/store@^8.6.0":
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/@ngrx/store/-/store-8.6.0.tgz#8540c5bd40b33fc2f443e7e86f47c0d801b8f413"
+ integrity sha512-K4cvCEa+5hw9qrETQWO+Cha3YbVCAT8yaIKJr/N35KntTL9mQMjoL+51JWLZfBwPV0e19CFgJIyrBnVUTxwr2A==
-"@ngtools/webpack@8.3.4":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-8.3.4.tgz#c4cf9a077eecec76cb1a9004fb7f0feade3d43db"
- integrity sha512-hNikQ6cjvCmA/bK8dor+oijPKF9sQAcM29FCPn3t0l3ucoVSOvbFpvtMYqlIHN5pw6WitZpImnkk2OW3o1JaDA==
+"@ngtools/webpack@8.3.22":
+ version "8.3.22"
+ resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-8.3.22.tgz#f6792d66430fb48c890a8145dee5088e3519860b"
+ integrity sha512-MES7Q0k6GpQEY74cxElUVy7jIaDBSLvY+eOUN2GKL5CznvBSp3+U5px6X7ZjPGzCp7no1L1JkV9g2e0hPatlcw==
dependencies:
- "@angular-devkit/core" "8.3.4"
+ "@angular-devkit/core" "8.3.22"
enhanced-resolve "4.1.0"
rxjs "6.4.0"
tree-kill "1.2.1"
@@ -912,21 +1004,21 @@
dependencies:
tslib "^1.9.0"
-"@schematics/angular@8.3.4":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-8.3.4.tgz#54bc83b12b96d5027fefe102e0356005f7b93a81"
- integrity sha512-/HO6vZosULsJnwZLG9JLePyaR2g4MePrk27c3H/WbFNN4ajBePe1Mj34q6HCzje30NduLV8B3SykPnG1CoNy5Q==
+"@schematics/angular@8.3.22":
+ version "8.3.22"
+ resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-8.3.22.tgz#fab009312bd3d50115332f2c41a92e15744ac09f"
+ integrity sha512-vD+UgPdbEoFPOH6xe2laFpHn/MC9R5C4A/+J9yQ6HBg5kt1YdyIBakvPOcXQCyWr5VZzDmTyMO76rd3zaef3DQ==
dependencies:
- "@angular-devkit/core" "8.3.4"
- "@angular-devkit/schematics" "8.3.4"
+ "@angular-devkit/core" "8.3.22"
+ "@angular-devkit/schematics" "8.3.22"
-"@schematics/update@0.803.4":
- version "0.803.4"
- resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.803.4.tgz#88142bdf6acffcdd0f618e2fa5ba8b160fe45fb2"
- integrity sha512-ZLCUR7VpUkv3zjeOmcny3UAtwHbQLeBeDsoLYIVQZyepqk3kRPBGaW/xYwmNng04bVfMCtcTx9yrs7n4+Lt/Iw==
+"@schematics/update@0.803.22":
+ version "0.803.22"
+ resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.803.22.tgz#88b2fd3c5c2e3c5b2f453b912b281df14c94fd34"
+ integrity sha512-X+1sJ7YadcYxDqcLX7l7MEAIL3SHIXpCqToQdAZbAE06NdTFvg5eqiKreSdmm7ZdfL0dBe6oXi/yCDVMoL2zcw==
dependencies:
- "@angular-devkit/core" "8.3.4"
- "@angular-devkit/schematics" "8.3.4"
+ "@angular-devkit/core" "8.3.22"
+ "@angular-devkit/schematics" "8.3.22"
"@yarnpkg/lockfile" "1.1.0"
ini "1.3.5"
pacote "9.5.5"
@@ -968,11 +1060,16 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
-"@types/node@*", "@types/node@^12.7.1":
+"@types/node@*":
version "12.7.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f"
integrity sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==
+"@types/node@^12.12.24":
+ version "12.12.24"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.24.tgz#d4606afd8cf6c609036b854360367d1b2c78931f"
+ integrity sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug==
+
"@types/q@^0.0.32":
version "0.0.32"
resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5"
@@ -1194,12 +1291,12 @@
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
-ag-grid-angular@^21.2.1:
+ag-grid-angular@^21.2.2:
version "21.2.2"
resolved "https://registry.yarnpkg.com/ag-grid-angular/-/ag-grid-angular-21.2.2.tgz#7eb5fa6d8794ce6ab83bcb2a68f891436a8f1b1b"
integrity sha512-cd6mYMLn0ah1guISN+4SQZ6OFTLosbfFweaIsGWeVWN8mIOZGBNIpOy+GkuAJH53lkpsMqGgo9CEeUmTh/RhNg==
-ag-grid-community@^21.2.1:
+ag-grid-community@^21.2.2:
version "21.2.2"
resolved "https://registry.yarnpkg.com/ag-grid-community/-/ag-grid-community-21.2.2.tgz#a5696a303fa04d03d26e4c9e09e114d308ff4ad4"
integrity sha512-x8kQmynYM/7zoigs7wIe7DkK1TIlUP5N1TYrGPsK8vO2gN+rqOok9csGPy4YamggWTcSxpy7wji/Kcz/gUp8/w==
@@ -1518,11 +1615,6 @@
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-async@^1.5.2:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
- integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
-
async@^2.5.0, async@^2.6.2:
version "2.6.3"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
@@ -1563,7 +1655,7 @@
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-axobject-query@^2.0.2:
+axobject-query@2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==
@@ -1914,16 +2006,16 @@
dependencies:
pako "~1.0.5"
-browserslist@4.6.6:
- version "4.6.6"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453"
- integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==
+browserslist@4.8.3, browserslist@^4.8.3:
+ version "4.8.3"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.3.tgz#65802fcd77177c878e015f0e3189f2c4f627ba44"
+ integrity sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==
dependencies:
- caniuse-lite "^1.0.30000984"
- electron-to-chromium "^1.3.191"
- node-releases "^1.1.25"
+ caniuse-lite "^1.0.30001017"
+ electron-to-chromium "^1.3.322"
+ node-releases "^1.1.44"
-browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.6:
+browserslist@^4.6.0, browserslist@^4.6.3:
version "4.7.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17"
integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==
@@ -2037,26 +2129,6 @@
unique-filename "^1.1.1"
y18n "^4.0.0"
-cacache@^11.3.3:
- version "11.3.3"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
- integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
- dependencies:
- bluebird "^3.5.5"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.4"
- graceful-fs "^4.1.15"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.3"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3:
version "12.0.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390"
@@ -2145,11 +2217,21 @@
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-caniuse-lite@1.0.30000989, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30000989:
+caniuse-lite@1.0.30001019:
+ version "1.0.30001019"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001019.tgz#857e3fccaad2b2feb3f1f6d8a8f62d747ea648e1"
+ integrity sha512-6ljkLtF1KM5fQ+5ZN0wuyVvvebJxgJPTmScOMaFuQN2QuOzvRJnWSKfzQskQU5IOU4Gap3zasYPIinzwUjoj/g==
+
+caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000989:
version "1.0.30000989"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9"
integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==
+caniuse-lite@^1.0.30001017:
+ version "1.0.30001020"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz#3f04c1737500ffda78be9beb0b5c1e2070e15926"
+ integrity sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==
+
canonical-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d"
@@ -2205,7 +2287,7 @@
optionalDependencies:
fsevents "^2.0.6"
-chokidar@^2.0.2, chokidar@^2.1.1, chokidar@^2.1.6:
+chokidar@^2.0.2, chokidar@^2.1.1, chokidar@^2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
@@ -2374,14 +2456,14 @@
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-codelyzer@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.1.0.tgz#a0eb89497622679ea4c53b6974aa45598f06a4b5"
- integrity sha512-QiyY2/oDQnYx4mAVEDqr+z9MwrOto18tQFjExiuRChXCy0yvngS5fQpWIxvAGpbOmZFiR1PRTRLbEI71u10maA==
+codelyzer@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.2.1.tgz#44fd431e128009f38c761828c33ebacba9549d32"
+ integrity sha512-awBZXFcJUyC5HMYXiHzjr3D24tww2l1D1OqtfA9vUhEtYr32a65A+Gblm/OvsO+HuKLYzn8EDMw1inSM3VbxWA==
dependencies:
app-root-path "^2.2.1"
aria-query "^3.0.0"
- axobject-query "^2.0.2"
+ axobject-query "2.0.2"
css-selector-tokenizer "^0.7.1"
cssauron "^1.4.0"
damerau-levenshtein "^1.0.4"
@@ -2563,13 +2645,20 @@
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1:
+convert-source-map@^1.5.0, convert-source-map@^1.5.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
dependencies:
safe-buffer "~5.1.1"
+convert-source-map@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
+ integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
@@ -2602,12 +2691,12 @@
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-copy-webpack-plugin@5.0.4:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655"
- integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==
+copy-webpack-plugin@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88"
+ integrity sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==
dependencies:
- cacache "^11.3.3"
+ cacache "^12.0.3"
find-cache-dir "^2.1.0"
glob-parent "^3.1.0"
globby "^7.1.1"
@@ -2615,20 +2704,20 @@
loader-utils "^1.2.3"
minimatch "^3.0.4"
normalize-path "^3.0.0"
- p-limit "^2.2.0"
+ p-limit "^2.2.1"
schema-utils "^1.0.0"
- serialize-javascript "^1.7.0"
+ serialize-javascript "^2.1.2"
webpack-log "^2.0.0"
-core-js-compat@^3.1.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150"
- integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==
+core-js-compat@^3.4.7:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.2.tgz#314ca8b84d5e71c27c19f1ecda966501b1cf1f10"
+ integrity sha512-+G28dzfYGtAM+XGvB1C5AS1ZPKfQ47HLhcdeIQdZgQnJVdp7/D0m+W/TErwhgsX6CujRUk/LebB6dCrKrtJrvQ==
dependencies:
- browserslist "^4.6.6"
- semver "^6.3.0"
+ browserslist "^4.8.3"
+ semver "7.0.0"
-core-js@3.2.1, core-js@^3.1.3:
+core-js@3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09"
integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==
@@ -2819,14 +2908,14 @@
dependencies:
ms "2.0.0"
-debug@^3.0.0, debug@^3.1.0, debug@^3.2.5, debug@^3.2.6:
+debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
dependencies:
ms "^2.1.1"
-debuglog@*, debuglog@^1.0.1:
+debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
@@ -3116,11 +3205,16 @@
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.247:
+electron-to-chromium@^1.3.247:
version "1.3.261"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.261.tgz#51b35a3126fb09b6852f24e907a6d3bd01c67724"
integrity sha512-nA9xFj1SgHXlW/6T4+udW2u/Ic/bne25UoFsddoNM7Ut2bgNGLLQUhLhk+vQlbKh9WiRgDDlHaC36Oy7AgRR9w==
+electron-to-chromium@^1.3.322:
+ version "1.3.329"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.329.tgz#ff3644fb216bdccc33b2063c36f679deb5316cde"
+ integrity sha512-CoyYGbkQLwmOpaWRUZgeSNnEPH5fE5R8T7dhQIWV/rlIt+Kx6NFppQJ2oHELmzw8ZGabOBY5CrjGjyA+74QVoQ==
+
elliptic@^6.0.0:
version "6.5.1"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b"
@@ -4212,7 +4306,7 @@
agent-base "4"
debug "3.1.0"
-http-proxy-middleware@^0.19.1:
+http-proxy-middleware@0.19.1:
version "0.19.1"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
@@ -4347,7 +4441,7 @@
pkg-dir "^3.0.0"
resolve-cwd "^2.0.0"
-imurmurhash@*, imurmurhash@^0.1.4:
+imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
@@ -4475,10 +4569,10 @@
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-is-absolute-url@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.2.tgz#554f2933e7385cc46e94351977ca2081170a206e"
- integrity sha512-+5g/wLlcm1AcxSP7014m6GvbPHswDx980vD/3bZaap8aGV9Yfs7Q6y6tfaupgZ5O74Byzc8dGrSCJ+bFXx0KdA==
+is-absolute-url@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
+ integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
is-accessor-descriptor@^0.1.6:
version "0.1.6"
@@ -4916,11 +5010,16 @@
dependencies:
handlebars "^4.1.2"
-jasmine-core@^3.3, jasmine-core@^3.4.0:
+jasmine-core@^3.3:
version "3.4.0"
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.4.0.tgz#2a74618e966026530c3518f03e9f845d26473ce3"
integrity sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg==
+jasmine-core@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.5.0.tgz#132c23e645af96d85c8bca13c8758b18429fc1e4"
+ integrity sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==
+
jasmine-core@~2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e"
@@ -4940,6 +5039,14 @@
resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e"
integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=
+jest-worker@24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
+ integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
+ dependencies:
+ merge-stream "^2.0.0"
+ supports-color "^6.1.0"
+
jquery@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2"
@@ -5083,18 +5190,18 @@
dependencies:
resolve "^1.3.3"
-karma-coverage-istanbul-reporter@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.0.tgz#5f1bcc13c5e14ee1d91821ee8946861674f54c75"
- integrity sha512-UH0mXPJFJyK5uiK7EkwGtQ8f30lCBAfqRResnZ4pzLJ04SOp4SPlYkmwbbZ6iVJ6sQFVzlDUXlntBEsLRdgZpg==
+karma-coverage-istanbul-reporter@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz#37a775fbfbb3cbe98cebf19605c94c6277c3b88a"
+ integrity sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==
dependencies:
istanbul-api "^2.1.6"
minimatch "^3.0.4"
-karma-jasmine-html-reporter@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.4.2.tgz#16d100fd701271192d27fd28ddc90b710ad36fff"
- integrity sha512-7g0gPj8+9JepCNJR9WjDyQ2RkZ375jpdurYQyAYv8PorUCadepl8vrD6LmMqOGcM17cnrynBawQYZHaumgDjBw==
+karma-jasmine-html-reporter@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.1.tgz#0fad2d2ac416bc04724318aad29b89bd86f7bfbc"
+ integrity sha512-LlLqsoGyxT1981z46BRaC1SaY4pTo4EHCA/qZvJEMQXzTtGMyIlmwtxny6FiLO/N/OmZh69eaoNzvBkbHVVFQA==
karma-jasmine@^2.0.1:
version "2.0.1"
@@ -5118,10 +5225,10 @@
dependencies:
source-map-support "^0.5.5"
-karma@^4.2.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/karma/-/karma-4.3.0.tgz#e14471ea090a952265a42ebb442b1a3c09832559"
- integrity sha512-NSPViHOt+RW38oJklvYxQC4BSQsv737oQlr/r06pCM+slDOr4myuI1ivkRmp+3dVpJDfZt2DmaPJ2wkx+ZZuMQ==
+karma@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/karma/-/karma-4.4.1.tgz#6d9aaab037a31136dc074002620ee11e8c2e32ab"
+ integrity sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==
dependencies:
bluebird "^3.3.0"
body-parser "^1.16.1"
@@ -5129,7 +5236,6 @@
chokidar "^3.0.0"
colors "^1.1.0"
connect "^3.6.0"
- core-js "^3.1.3"
di "^0.0.1"
dom-serialize "^2.2.0"
flatted "^2.0.0"
@@ -5464,11 +5570,6 @@
dependencies:
signal-exit "^3.0.2"
-lodash._baseindexof@*:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
- integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=
-
lodash._baseuniq@~4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
@@ -5477,33 +5578,11 @@
lodash._createset "~4.0.0"
lodash._root "~3.0.0"
-lodash._bindcallback@*:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
- integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
-
-lodash._cacheindexof@*:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
- integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=
-
-lodash._createcache@*:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
- integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=
- dependencies:
- lodash._getnative "^3.0.0"
-
lodash._createset@~4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=
-lodash._getnative@*, lodash._getnative@^3.0.0:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
- integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
-
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -5524,11 +5603,6 @@
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
-lodash.restparam@*:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
- integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
-
lodash.template@^4.4.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
@@ -5575,10 +5649,10 @@
rfdc "^1.1.4"
streamroller "^1.0.6"
-loglevel@^1.6.3:
- version "1.6.4"
- resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56"
- integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==
+loglevel@^1.6.4:
+ version "1.6.6"
+ resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.6.tgz#0ee6300cc058db6b3551fa1c4bf73b83bb771312"
+ integrity sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==
loose-envify@^1.0.0:
version "1.4.0"
@@ -5759,6 +5833,11 @@
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
@@ -5813,7 +5892,7 @@
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-mime@^2.0.3, mime@^2.3.1, mime@^2.4.2, mime@^2.4.4:
+mime@^2.0.3, mime@^2.3.1, mime@^2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
@@ -6020,10 +6099,10 @@
resolved "https://registry.yarnpkg.com/ng2-popover/-/ng2-popover-0.0.14.tgz#6cad6a6555fd2b81759f3d85b4cb8c3e3731f296"
integrity sha1-bK1qZVX9K4F1nz2FtMuMPjcx8pY=
-ngrx-forms@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/ngrx-forms/-/ngrx-forms-5.2.1.tgz#b147f6089946c901b8ed34f467464b2a9deb6f79"
- integrity sha512-vQ3E8fLHA3idTnoDzXVakGAV9lJ49Bzfk3ya0QbMBWKr2lwvLf/jcxJUpc6wwSPGFKPjQiT8uclfNmjbq+wpLA==
+ngrx-forms@^5.2.3:
+ version "5.2.3"
+ resolved "https://registry.yarnpkg.com/ngrx-forms/-/ngrx-forms-5.2.3.tgz#770d54f6feedc6c558ad713ca8ab9b8e74973416"
+ integrity sha512-C3iQ2qsmqJOqsceJcAuEJsmxebZ04Hq6j2Xw0H0U84ev7Z88QHW4RoXI4f8vc7VhKIR7EMpPgz2scmWeICFRqw==
dependencies:
tslib "^1.9.0"
@@ -6041,10 +6120,10 @@
json-parse-better-errors "^1.0.0"
safe-buffer "^5.1.1"
-node-forge@0.8.2:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.8.2.tgz#b4bcc59fb12ce77a8825fc6a783dfe3182499c5a"
- integrity sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg==
+node-forge@0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
+ integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==
node-gyp@^5.0.2, node-gyp@^5.0.3:
version "5.0.3"
@@ -6125,13 +6204,20 @@
semver "^5.3.0"
tar "^4"
-node-releases@^1.1.25, node-releases@^1.1.29:
+node-releases@^1.1.29:
version "1.1.32"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.32.tgz#485b35c1bf9b4d8baa105d782f8ca731e518276e"
integrity sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A==
dependencies:
semver "^5.3.0"
+node-releases@^1.1.44:
+ version "1.1.45"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.45.tgz#4cf7e9175d71b1317f15ffd68ce63bce1d53e9f2"
+ integrity sha512-cXvGSfhITKI8qsV116u2FTzH5EWZJfgG7d4cpqwF8I8+1tWpD6AsvvGRKq2onR0DNj1jfqsjkXZsm14JMS7Cyg==
+ dependencies:
+ semver "^6.3.0"
+
"nopt@2 || 3":
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -6298,19 +6384,19 @@
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
-npm-pick-manifest@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40"
- integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==
+npm-pick-manifest@3.0.2, npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7"
+ integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==
dependencies:
figgy-pudding "^3.5.1"
npm-package-arg "^6.0.0"
semver "^5.4.1"
-npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7"
- integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==
+npm-pick-manifest@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40"
+ integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==
dependencies:
figgy-pudding "^3.5.1"
npm-package-arg "^6.0.0"
@@ -6831,6 +6917,13 @@
dependencies:
p-try "^2.0.0"
+p-limit@^2.2.1:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e"
+ integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==
+ dependencies:
+ p-try "^2.0.0"
+
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@@ -7206,14 +7299,19 @@
dependencies:
find-up "^4.0.0"
-portfinder@^1.0.21:
- version "1.0.24"
- resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.24.tgz#11efbc6865f12f37624b6531ead1d809ed965cfa"
- integrity sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==
+popper.js@^1.16.0:
+ version "1.16.0"
+ resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.0.tgz#2e1816bcbbaa518ea6c2e15a466f4cb9c6e2fbb3"
+ integrity sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==
+
+portfinder@^1.0.25:
+ version "1.0.25"
+ resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca"
+ integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==
dependencies:
- async "^1.5.2"
- debug "^2.2.0"
- mkdirp "0.5.x"
+ async "^2.6.2"
+ debug "^3.1.1"
+ mkdirp "^0.5.1"
posix-character-classes@^0.1.0:
version "0.1.1"
@@ -7775,11 +7873,6 @@
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp-tree@^0.1.13:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.13.tgz#5b19ab9377edc68bc3679256840bb29afc158d7f"
- integrity sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==
-
regexp.prototype.flags@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
@@ -7796,7 +7889,7 @@
regjsgen "^0.2.0"
regjsparser "^0.1.4"
-regexpu-core@^4.5.4:
+regexpu-core@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6"
integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==
@@ -7984,6 +8077,13 @@
dependencies:
glob "^7.1.3"
+rimraf@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b"
+ integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==
+ dependencies:
+ glob "^7.1.3"
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -8006,10 +8106,10 @@
dependencies:
aproba "^1.1.1"
-rxjs-compat@^6.0.0-rc.0:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.5.3.tgz#18440949b2678bf87a78a754009676b2c49183dc"
- integrity sha512-BIJX2yovz3TBpjJoAZyls2QYuU6ZiCaZ+U96SmxQpuSP/qDUfiXPKOVLbThBB2WZijNHkdTTJXKRwvv5Y48H7g==
+rxjs-compat@^6.5.4:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.5.4.tgz#03825692af3fe363e04c43f41ff4113d76bbd305"
+ integrity sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA==
rxjs@6.4.0:
version "6.4.0"
@@ -8018,13 +8118,20 @@
dependencies:
tslib "^1.9.0"
-rxjs@^6.4.0, rxjs@^6.5.3:
+rxjs@^6.4.0:
version "6.5.3"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a"
integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==
dependencies:
tslib "^1.9.0"
+rxjs@^6.5.4:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
+ integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==
+ dependencies:
+ tslib "^1.9.0"
+
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -8121,12 +8228,12 @@
tmp "0.0.30"
xml2js "^0.4.17"
-selfsigned@^1.10.4:
- version "1.10.6"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.6.tgz#7b3cd37ed9c2034261a173af1a1aae27d8169b67"
- integrity sha512-i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w==
+selfsigned@^1.10.7:
+ version "1.10.7"
+ resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"
+ integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==
dependencies:
- node-forge "0.8.2"
+ node-forge "0.9.0"
semver-diff@^2.0.0:
version "2.1.0"
@@ -8159,6 +8266,11 @@
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+semver@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -8188,6 +8300,11 @@
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb"
integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==
+serialize-javascript@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
+ integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
+
serve-index@^1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@@ -8381,10 +8498,10 @@
socket.io-client "2.1.1"
socket.io-parser "~3.2.0"
-sockjs-client@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177"
- integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==
+sockjs-client@1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
+ integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==
dependencies:
debug "^3.2.5"
eventsource "^1.0.7"
@@ -8939,7 +9056,22 @@
dependencies:
execa "^0.7.0"
-terser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1:
+terser-webpack-plugin@1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
+ integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==
+ dependencies:
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^2.1.2"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser-webpack-plugin@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4"
integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==
@@ -8954,10 +9086,10 @@
webpack-sources "^1.4.0"
worker-farm "^1.7.0"
-terser@4.1.4:
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.4.tgz#4478b6a08bb096a61e793fea1a4434408bab936c"
- integrity sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg==
+terser@4.3.9:
+ version "4.3.9"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8"
+ integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==
dependencies:
commander "^2.20.0"
source-map "~0.6.1"
@@ -9111,10 +9243,10 @@
resolved "https://registry.yarnpkg.com/ts-helpers/-/ts-helpers-1.1.2.tgz#fc69be9f1f3baed01fb1a0ef8d4cfe748814d835"
integrity sha1-/Gm+nx87rtAfsaDvjUz+dIgU2DU=
-ts-node@^8.3.0:
- version "8.4.1"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.4.1.tgz#270b0dba16e8723c9fa4f9b4775d3810fd994b4f"
- integrity sha512-5LpRN+mTiCs7lI5EtbXmF/HfMeCjzt7DH9CZwtkr6SywStrNQC723wG+aOWFiLNn7zT3kD/RnFqi3ZUfr4l5Qw==
+ts-node@^8.5.4:
+ version "8.5.4"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.5.4.tgz#a152add11fa19c221d0b48962c210cf467262ab2"
+ integrity sha512-izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw==
dependencies:
arg "^4.1.0"
diff "^4.0.1"
@@ -9137,10 +9269,10 @@
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
-tslint@^5.18.0:
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1"
- integrity sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==
+tslint@^5.20.1:
+ version "5.20.1"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d"
+ integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==
dependencies:
"@babel/code-frame" "^7.0.0"
builtin-modules "^1.1.1"
@@ -9552,20 +9684,10 @@
source-list-map "~0.1.7"
source-map "~0.4.1"
-webpack-dev-middleware@3.7.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff"
- integrity sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==
- dependencies:
- memory-fs "^0.4.1"
- mime "^2.4.2"
- range-parser "^1.2.1"
- webpack-log "^2.0.0"
-
-webpack-dev-middleware@^3.7.0:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz#1167aea02afa034489869b8368fe9fed1aea7d09"
- integrity sha512-5MWu9SH1z3hY7oHOV6Kbkz5x7hXbxK56mGHNqHTe6d+ewxOwKUxoUJBs7QIaJb33lPjl9bJZ3X0vCoooUzC36A==
+webpack-dev-middleware@3.7.2, webpack-dev-middleware@^3.7.2:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3"
+ integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==
dependencies:
memory-fs "^0.4.1"
mime "^2.4.4"
@@ -9573,41 +9695,41 @@
range-parser "^1.2.1"
webpack-log "^2.0.0"
-webpack-dev-server@3.8.0:
- version "3.8.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz#06cc4fc2f440428508d0e9770da1fef10e5ef28d"
- integrity sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==
+webpack-dev-server@3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz#27c3b5d0f6b6677c4304465ac817623c8b27b89c"
+ integrity sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==
dependencies:
ansi-html "0.0.7"
bonjour "^3.5.0"
- chokidar "^2.1.6"
+ chokidar "^2.1.8"
compression "^1.7.4"
connect-history-api-fallback "^1.6.0"
debug "^4.1.1"
del "^4.1.1"
express "^4.17.1"
html-entities "^1.2.1"
- http-proxy-middleware "^0.19.1"
+ http-proxy-middleware "0.19.1"
import-local "^2.0.0"
internal-ip "^4.3.0"
ip "^1.1.5"
- is-absolute-url "^3.0.0"
+ is-absolute-url "^3.0.3"
killable "^1.0.1"
- loglevel "^1.6.3"
+ loglevel "^1.6.4"
opn "^5.5.0"
p-retry "^3.0.1"
- portfinder "^1.0.21"
+ portfinder "^1.0.25"
schema-utils "^1.0.0"
- selfsigned "^1.10.4"
+ selfsigned "^1.10.7"
semver "^6.3.0"
serve-index "^1.9.1"
sockjs "0.3.19"
- sockjs-client "1.3.0"
+ sockjs-client "1.4.0"
spdy "^4.0.1"
strip-ansi "^3.0.1"
supports-color "^6.1.0"
url "^0.11.0"
- webpack-dev-middleware "^3.7.0"
+ webpack-dev-middleware "^3.7.2"
webpack-log "^2.0.0"
ws "^6.2.1"
yargs "12.0.5"
@@ -9721,7 +9843,7 @@
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
-worker-farm@1.7.0, worker-farm@^1.6.0, worker-farm@^1.7.0:
+worker-farm@^1.6.0, worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
@@ -9920,7 +10042,7 @@
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
-zone.js@~0.10.1:
+zone.js@^0.10.2:
version "0.10.2"
resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.2.tgz#67ca084b3116fc33fc40435e0d5ea40a207e392e"
integrity sha512-UAYfiuvxLN4oyuqhJwd21Uxb4CNawrq6fPS/05Su5L4G+1TN+HVDJMUHNMobVQDFJRir2cLAODXwluaOKB7HFg==