You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by ne...@apache.org on 2022/05/26 17:08:48 UTC

[helix] branch master updated: upgrade helix-front from Angular 5.1 to 5.2 (#2108)

This is an automated email from the ASF dual-hosted git repository.

nealsun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git


The following commit(s) were added to refs/heads/master by this push:
     new f76509a4f upgrade helix-front from Angular 5.1 to 5.2 (#2108)
f76509a4f is described below

commit f76509a4f90d037eb29c751deb6f1135f2fea485
Author: Micah Stubbs <mi...@gmail.com>
AuthorDate: Thu May 26 10:08:42 2022 -0700

    upgrade helix-front from Angular 5.1 to 5.2 (#2108)
    
    Incremental progress towards the goal of upgrading helix-front to the current version of Angular.
---
 helix-front/client/app/app.module.ts               |   4 +-
 .../app/chooser/shared/chooser.service.spec.ts     |   4 +-
 helix-front/client/app/cluster/cluster.module.ts   |   4 +-
 .../app/cluster/shared/cluster.service.spec.ts     |   4 +-
 .../shared/configuration.service.spec.ts           |   4 +-
 .../controller-detail.component.spec.ts            |   4 +-
 .../controller/shared/controller.service.spec.ts   |   4 +-
 helix-front/client/app/core/helix.service.spec.ts  |   4 +-
 helix-front/client/app/core/helix.service.ts       |  15 +-
 helix-front/client/app/core/user.service.ts        |  14 +-
 .../history-list/history-list.component.spec.ts    |   4 +-
 .../app/history/shared/history.service.spec.ts     |   4 +-
 .../app/instance/shared/instance.service.spec.ts   |   4 +-
 .../resource-detail-for-instance.component.spec.ts |   4 +-
 .../app/resource/shared/resource.service.spec.ts   |   4 +-
 .../workflow-list/workflow-list.component.spec.ts  |   4 +-
 helix-front/client/testing/testing.module.ts       |   6 +-
 helix-front/package-lock.json                      | 244 ++++++++++-----------
 helix-front/package.json                           |  34 +--
 19 files changed, 179 insertions(+), 190 deletions(-)

diff --git a/helix-front/client/app/app.module.ts b/helix-front/client/app/app.module.ts
index b781eee24..1cedb009b 100644
--- a/helix-front/client/app/app.module.ts
+++ b/helix-front/client/app/app.module.ts
@@ -1,7 +1,7 @@
 import { BrowserModule } from '@angular/platform-browser';
 import { NgModule } from '@angular/core';
 import { FormsModule } from '@angular/forms';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 
 import { Angulartics2Module, Angulartics2Piwik } from 'angulartics2';
 
@@ -26,7 +26,7 @@ import { DashboardModule } from './dashboard/dashboard.module';
   imports: [
     BrowserModule,
     FormsModule,
-    HttpModule,
+    HttpClientModule,
     AppRoutingModule,
     Angulartics2Module.forRoot([ Angulartics2Piwik ]),
     CoreModule,
diff --git a/helix-front/client/app/chooser/shared/chooser.service.spec.ts b/helix-front/client/app/chooser/shared/chooser.service.spec.ts
index 6caeab20a..5aab3ce93 100644
--- a/helix-front/client/app/chooser/shared/chooser.service.spec.ts
+++ b/helix-front/client/app/chooser/shared/chooser.service.spec.ts
@@ -1,6 +1,6 @@
 import { TestBed, inject } from '@angular/core/testing';
 import { RouterTestingModule } from '@angular/router/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 
 import { ChooserService } from './chooser.service';
 
@@ -9,7 +9,7 @@ describe('ChooserService', () => {
     TestBed.configureTestingModule({
       imports: [
         RouterTestingModule,
-        HttpModule
+        HttpClientModule
       ],
       providers: [ChooserService]
     });
diff --git a/helix-front/client/app/cluster/cluster.module.ts b/helix-front/client/app/cluster/cluster.module.ts
index 02efb7f21..2b550334a 100644
--- a/helix-front/client/app/cluster/cluster.module.ts
+++ b/helix-front/client/app/cluster/cluster.module.ts
@@ -1,6 +1,6 @@
 import { NgModule } from '@angular/core';
 import { CommonModule } from '@angular/common';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 
 import { SharedModule } from '../shared/shared.module';
 import { ClusterService } from './shared/cluster.service';
@@ -12,7 +12,7 @@ import { ClusterComponent } from './cluster.component';
 @NgModule({
   imports: [
     CommonModule,
-    HttpModule,
+    HttpClientModule,
     SharedModule
   ],
   declarations: [
diff --git a/helix-front/client/app/cluster/shared/cluster.service.spec.ts b/helix-front/client/app/cluster/shared/cluster.service.spec.ts
index 08a5ee8e8..68e7c1318 100644
--- a/helix-front/client/app/cluster/shared/cluster.service.spec.ts
+++ b/helix-front/client/app/cluster/shared/cluster.service.spec.ts
@@ -1,5 +1,5 @@
 import { TestBed, inject } from '@angular/core/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { ClusterService } from './cluster.service';
@@ -7,7 +7,7 @@ import { ClusterService } from './cluster.service';
 describe('ClusterService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [ClusterService]
     });
   });
diff --git a/helix-front/client/app/configuration/shared/configuration.service.spec.ts b/helix-front/client/app/configuration/shared/configuration.service.spec.ts
index 3d2488eb9..61e6a3cbf 100644
--- a/helix-front/client/app/configuration/shared/configuration.service.spec.ts
+++ b/helix-front/client/app/configuration/shared/configuration.service.spec.ts
@@ -1,13 +1,13 @@
 import { TestBed, inject } from '@angular/core/testing';
 import { RouterTestingModule } from '@angular/router/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 
 import { ConfigurationService } from './configuration.service';
 
 describe('ConfigurationService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [ConfigurationService]
     });
   });
diff --git a/helix-front/client/app/controller/controller-detail/controller-detail.component.spec.ts b/helix-front/client/app/controller/controller-detail/controller-detail.component.spec.ts
index 7726834ce..df01bda94 100644
--- a/helix-front/client/app/controller/controller-detail/controller-detail.component.spec.ts
+++ b/helix-front/client/app/controller/controller-detail/controller-detail.component.spec.ts
@@ -1,6 +1,6 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 import { NO_ERRORS_SCHEMA } from '@angular/core';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { ControllerDetailComponent } from './controller-detail.component';
@@ -12,7 +12,7 @@ describe('ControllerDetailComponent', () => {
   beforeEach(async(() => {
     TestBed.configureTestingModule({
       imports: [
-        HttpModule,
+        HttpClientModule,
         RouterTestingModule
       ],
       declarations: [ ControllerDetailComponent ],
diff --git a/helix-front/client/app/controller/shared/controller.service.spec.ts b/helix-front/client/app/controller/shared/controller.service.spec.ts
index a893c7fea..ed199c096 100644
--- a/helix-front/client/app/controller/shared/controller.service.spec.ts
+++ b/helix-front/client/app/controller/shared/controller.service.spec.ts
@@ -1,5 +1,5 @@
 import { TestBed, inject } from '@angular/core/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { ControllerService } from './controller.service';
@@ -7,7 +7,7 @@ import { ControllerService } from './controller.service';
 describe('ControllerService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [ControllerService]
     });
   });
diff --git a/helix-front/client/app/core/helix.service.spec.ts b/helix-front/client/app/core/helix.service.spec.ts
index 24a770913..0ca4df85b 100644
--- a/helix-front/client/app/core/helix.service.spec.ts
+++ b/helix-front/client/app/core/helix.service.spec.ts
@@ -1,5 +1,5 @@
 import { TestBed, inject } from '@angular/core/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { HelixService } from './helix.service';
@@ -7,7 +7,7 @@ import { HelixService } from './helix.service';
 describe('HelixService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [HelixService]
     });
   });
diff --git a/helix-front/client/app/core/helix.service.ts b/helix-front/client/app/core/helix.service.ts
index c468e0698..27e3b8619 100644
--- a/helix-front/client/app/core/helix.service.ts
+++ b/helix-front/client/app/core/helix.service.ts
@@ -1,5 +1,5 @@
 import { Injectable } from '@angular/core';
-import { Headers, Http, Response } from '@angular/http';
+import { HttpHeaders, HttpClient, HttpResponse } from '@angular/common/http';
 import { Router } from '@angular/router';
 import { Observable } from 'rxjs/Rx';
 
@@ -10,13 +10,12 @@ export class HelixService {
 
   constructor(
     protected router: Router,
-    private http: Http
+    private http: HttpClient
   ) { }
 
   public can(): Observable<boolean> {
     return this.http
       .get(`${ Settings.userAPI }/can`, { headers: this.getHeaders() })
-      .map(response => response.json())
       .catch(this.errorHandler);
   }
 
@@ -31,7 +30,6 @@ export class HelixService {
         `${Settings.helixAPI}${helix}${path}`,
         { headers: this.getHeaders() }
       )
-      .map(response => response.json())
       .catch(this.errorHandler);
   }
 
@@ -42,7 +40,6 @@ export class HelixService {
         data,
         { headers: this.getHeaders() }
       )
-      .map(response => response.text().trim() ? response.json() : '{}')
       .catch(this.errorHandler);
   }
 
@@ -53,7 +50,6 @@ export class HelixService {
         data,
         { headers: this.getHeaders() }
       )
-      .map(response => response.text().trim() ? response.json() : '{}')
       .catch(this.errorHandler);
   }
 
@@ -63,7 +59,6 @@ export class HelixService {
         `${Settings.helixAPI}${this.getHelixKey()}${path}`,
         { headers: this.getHeaders() }
       )
-      .map(response => response.text().trim() ? response.json() : '{}')
       .catch(this.errorHandler);
   }
 
@@ -73,7 +68,7 @@ export class HelixService {
   }
 
   protected getHeaders() {
-    let headers = new Headers();
+    let headers = new HttpHeaders();
     headers.append('Accept', 'application/json');
     headers.append('Content-Type', 'application/json');
     return headers;
@@ -84,12 +79,12 @@ export class HelixService {
 
     let message = error.message || 'Cannot reach Helix restful service.';
 
-    if (error instanceof Response) {
+    if (error instanceof HttpResponse) {
       if (error.status == 404) {
         // rest api throws 404 directly to app without any wrapper
         message = 'Not Found';
       } else {
-        message = error.text();
+        message = error;
         try {
           message = JSON.parse(message).error;
         } catch (e) {}
diff --git a/helix-front/client/app/core/user.service.ts b/helix-front/client/app/core/user.service.ts
index 21676af50..5f48f9091 100644
--- a/helix-front/client/app/core/user.service.ts
+++ b/helix-front/client/app/core/user.service.ts
@@ -1,5 +1,5 @@
 import { Injectable } from '@angular/core';
-import { Headers, Http, Response } from '@angular/http';
+import { HttpHeaders, HttpClient, HttpResponse } from '@angular/common/http';
 import { Router } from '@angular/router';
 import { Observable } from 'rxjs/Rx';
 
@@ -10,28 +10,26 @@ export class UserService {
 
   constructor(
     protected router: Router,
-    private http: Http
+    private http: HttpClient
   ) { }
 
-  public getCurrentUser(): Observable<string> {
+  public getCurrentUser(): Observable<string | object> {
     return this.http
       .get(`${ Settings.userAPI }/current`, { headers: this.getHeaders() })
-      .map(response => response.json())
       .catch(_ => _);
   }
 
-  public login(username: string, password: string): Observable<boolean> {
+  public login(username: string, password: string): Observable<object> {
     return this.http
       .post(
         `${ Settings.userAPI }/login`,
         { username: username, password: password },
         { headers: this.getHeaders() }
-      )
-      .map(response => response.json());
+      );
   }
 
   protected getHeaders() {
-    let headers = new Headers();
+    let headers = new HttpHeaders();
     headers.append('Accept', 'application/json');
     headers.append('Content-Type', 'application/json');
     return headers;
diff --git a/helix-front/client/app/history/history-list/history-list.component.spec.ts b/helix-front/client/app/history/history-list/history-list.component.spec.ts
index ac21f3868..d0aabb31e 100644
--- a/helix-front/client/app/history/history-list/history-list.component.spec.ts
+++ b/helix-front/client/app/history/history-list/history-list.component.spec.ts
@@ -1,6 +1,6 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 import { NO_ERRORS_SCHEMA } from '@angular/core';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { HistoryListComponent } from './history-list.component';
@@ -12,7 +12,7 @@ describe('HistoryListComponent', () => {
   beforeEach(async(() => {
     TestBed.configureTestingModule({
       imports: [
-        HttpModule,
+        HttpClientModule,
         RouterTestingModule
       ],
       declarations: [ HistoryListComponent ],
diff --git a/helix-front/client/app/history/shared/history.service.spec.ts b/helix-front/client/app/history/shared/history.service.spec.ts
index b0287e083..16e970d13 100644
--- a/helix-front/client/app/history/shared/history.service.spec.ts
+++ b/helix-front/client/app/history/shared/history.service.spec.ts
@@ -1,5 +1,5 @@
 import { TestBed, inject } from '@angular/core/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { HistoryService } from './history.service';
@@ -7,7 +7,7 @@ import { HistoryService } from './history.service';
 describe('HistoryService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [HistoryService]
     });
   });
diff --git a/helix-front/client/app/instance/shared/instance.service.spec.ts b/helix-front/client/app/instance/shared/instance.service.spec.ts
index 1d5152073..bb708094b 100644
--- a/helix-front/client/app/instance/shared/instance.service.spec.ts
+++ b/helix-front/client/app/instance/shared/instance.service.spec.ts
@@ -1,5 +1,5 @@
 import { TestBed, inject } from '@angular/core/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { InstanceService } from './instance.service';
@@ -7,7 +7,7 @@ import { InstanceService } from './instance.service';
 describe('InstanceService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [InstanceService]
     });
   });
diff --git a/helix-front/client/app/resource/resource-detail-for-instance/resource-detail-for-instance.component.spec.ts b/helix-front/client/app/resource/resource-detail-for-instance/resource-detail-for-instance.component.spec.ts
index b9a68486d..db0c1ff2c 100644
--- a/helix-front/client/app/resource/resource-detail-for-instance/resource-detail-for-instance.component.spec.ts
+++ b/helix-front/client/app/resource/resource-detail-for-instance/resource-detail-for-instance.component.spec.ts
@@ -1,6 +1,6 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 import { NO_ERRORS_SCHEMA } from '@angular/core';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { ResourceService } from '../shared/resource.service';
@@ -12,7 +12,7 @@ describe('ResourceDetailForInstanceComponent', () => {
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
-      imports: [ HttpModule, RouterTestingModule ],
+      imports: [ HttpClientModule, RouterTestingModule ],
       declarations: [ ResourceDetailForInstanceComponent ],
       schemas: [
         /* avoid importing modules */
diff --git a/helix-front/client/app/resource/shared/resource.service.spec.ts b/helix-front/client/app/resource/shared/resource.service.spec.ts
index e76972767..686dd41b2 100644
--- a/helix-front/client/app/resource/shared/resource.service.spec.ts
+++ b/helix-front/client/app/resource/shared/resource.service.spec.ts
@@ -1,5 +1,5 @@
 import { TestBed, inject } from '@angular/core/testing';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { RouterTestingModule } from '@angular/router/testing';
 
 import { ResourceService } from './resource.service';
@@ -7,7 +7,7 @@ import { ResourceService } from './resource.service';
 describe('ResourceService', () => {
   beforeEach(() => {
     TestBed.configureTestingModule({
-      imports: [HttpModule, RouterTestingModule],
+      imports: [HttpClientModule, RouterTestingModule],
       providers: [ResourceService]
     });
   });
diff --git a/helix-front/client/app/workflow/workflow-list/workflow-list.component.spec.ts b/helix-front/client/app/workflow/workflow-list/workflow-list.component.spec.ts
index b86fc2fec..23144b32a 100644
--- a/helix-front/client/app/workflow/workflow-list/workflow-list.component.spec.ts
+++ b/helix-front/client/app/workflow/workflow-list/workflow-list.component.spec.ts
@@ -4,7 +4,7 @@ import { RouterTestingModule } from '@angular/router/testing';
 
 import { WorkflowListComponent } from './workflow-list.component';
 import { WorkflowService } from '../shared/workflow.service';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 
 describe('WorkflowListComponent', () => {
   let component: WorkflowListComponent;
@@ -12,7 +12,7 @@ describe('WorkflowListComponent', () => {
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
-      imports: [ HttpModule, RouterTestingModule ],
+      imports: [ HttpClientModule, RouterTestingModule ],
       declarations: [ WorkflowListComponent ],
       providers: [ WorkflowService ],
       schemas: [
diff --git a/helix-front/client/testing/testing.module.ts b/helix-front/client/testing/testing.module.ts
index 632a3c717..64928e5c2 100644
--- a/helix-front/client/testing/testing.module.ts
+++ b/helix-front/client/testing/testing.module.ts
@@ -1,5 +1,5 @@
 import { NgModule } from '@angular/core';
-import { HttpModule } from '@angular/http';
+import { HttpClientModule } from '@angular/common/http';
 import { MaterialModule } from '../app/shared/material.module';
 import { RouterTestingModule } from '@angular/router/testing';
 import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -9,7 +9,7 @@ import { HelperServiceStub } from './stubs';
 
 @NgModule({
   imports: [
-    HttpModule,
+    HttpClientModule,
     MaterialModule,
     RouterTestingModule,
     NoopAnimationsModule
@@ -21,7 +21,7 @@ import { HelperServiceStub } from './stubs';
     }
   ],
   exports: [
-    HttpModule,
+    HttpClientModule,
     MaterialModule,
     RouterTestingModule,
     NoopAnimationsModule
diff --git a/helix-front/package-lock.json b/helix-front/package-lock.json
index 5db3556af..149297194 100644
--- a/helix-front/package-lock.json
+++ b/helix-front/package-lock.json
@@ -57,21 +57,21 @@
         "@ngtools/json-schema": "1.1.0",
         "@schematics/schematics": "0.0.11",
         "minimist": "1.2.0",
-        "rxjs": "5.5.5"
+        "rxjs": "5.5.12"
       }
     },
     "@angular/animations": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.1.1.tgz",
-      "integrity": "sha512-PHLBWDnAzr5b5l52pk5ZYmv/6m0YUe2ICwu5dmbS0d8Kf5dXadMphAWCDbljMF+djGyZeFq2/dQ/t7ygYl3YuA==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.11.tgz",
+      "integrity": "sha512-J7wKHkFn3wV28/Y1Qm4yjGXVCwXzj1JR5DRjGDTFnxTRacUFx7Nj0ApGhN0b2+V0NOvgxQOvEW415Y22kGoblw==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/cdk": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.0.1.tgz",
-      "integrity": "sha512-uK4Vyaf06J8KqePzq35BxMHRGolt35EnbZf9wjCs7eYaghbQ7Pk2xUGoynu5Lj1wAOn5N1/C1nT2/aAH/EE2rw==",
+      "version": "5.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.2.5.tgz",
+      "integrity": "sha512-GN8m1d+VcCE9+Bgwv06Y8YJKyZ0i9ZIq2ZPBcJYt+KVgnVVRg4JkyUNxud07LNsvzOX22DquHqmIZiC4hAG7Ag==",
       "requires": {
         "tslib": "1.8.1"
       }
@@ -122,7 +122,7 @@
         "postcss-url": "7.3.0",
         "raw-loader": "0.5.1",
         "resolve": "1.5.0",
-        "rxjs": "5.5.5",
+        "rxjs": "5.5.12",
         "sass-loader": "6.0.6",
         "semver": "5.4.1",
         "silent-error": "1.1.0",
@@ -184,93 +184,103 @@
       }
     },
     "@angular/common": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.1.1.tgz",
-      "integrity": "sha512-SFRzdDthoiKaMLuV+TAwjKXFWwTRFGuidlWC3BhUf8/HzNSePAdvfdQcqbEaE5buMn403OV105S9Tyx5tILQeA==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.11.tgz",
+      "integrity": "sha512-LniJjGAeftUJDJh+2+LEjltcGen08C/VMxQ/eUYmesytKy1sN+MWzh3GbpKfEWtWmyUsYTG9lAAJNo3L3jPwsw==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/compiler": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.1.1.tgz",
-      "integrity": "sha512-k4J2kRiBjtjkDcDut2JVUpqQGLJWd8j3Don+swzZHuEklbLmsVRGM6u/fmH0K9TMwKHtC5Ycap8kj4bWXUYfwg==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.11.tgz",
+      "integrity": "sha512-ICvB1ud1mxaXUYLb8vhJqiLhGBVocAZGxoHTglv6hMkbrRYcnlB3FZJFOzBvtj+krkd1jamoYLI43UAmesqQ6Q==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/compiler-cli": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.1.1.tgz",
-      "integrity": "sha512-X3n1V0fAsZzJDRLM2OPiOri8rrQ2ILFS0VDqPdHMa1HbpF0ZKe1Yyux2rhGSbS83a1Eanx6RqfDkrUalKEprbw==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.11.tgz",
+      "integrity": "sha512-dwrQ0yxoCM/XzKzlm7pTsyg4/6ECjT9emZufGj8t12bLMO8NDn1IJOsqXJA1+onEgQKhlr0Ziwi+96TvDTb1Cg==",
       "dev": true,
       "requires": {
         "chokidar": "1.7.0",
         "minimist": "1.2.0",
-        "reflect-metadata": "0.1.10",
-        "tsickle": "0.25.5"
+        "reflect-metadata": "0.1.13",
+        "tsickle": "0.27.5"
       }
     },
     "@angular/core": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.1.1.tgz",
-      "integrity": "sha512-8HJ0lNM5Z+pf+JfOl5mAWgNfrdtnMhVcEGCEniJAQweKOfYCziuyB0ALkX/Q6jGmd2IshR36SarwCYEc5ttt/w==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.11.tgz",
+      "integrity": "sha512-h2vpvXNAdOqKzbVaZcHnHGMT5A8uDnizk6FgGq6SPyw9s3d+/VxZ9LJaPjUk3g2lICA7og1tUel+2YfF971MlQ==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/flex-layout": {
-      "version": "2.0.0-beta.12",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-2.0.0-beta.12.tgz",
-      "integrity": "sha1-gJcNwdYPJ/pBU3ZZkm8yOPdZ80M=",
+      "version": "5.0.0-beta.14",
+      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-5.0.0-beta.14.tgz",
+      "integrity": "sha512-/fsOqXFUKdCmzzZx0bZ0HCYwcV+BSbVuIgOhaCrZKHj2rqiWKKPgj1ErU3HMT68bBBGag0u0skTdLGtrBorRIA==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/forms": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.1.1.tgz",
-      "integrity": "sha512-4iN/8N0DgnV82XIb/8PqlFIGrog8BHJlzQ9sdAlpT29biPFezFpqpsXkjLBouBc7oBFTgoyXMgWDj8IGRmwLGQ==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.11.tgz",
+      "integrity": "sha512-wBllFlIubPclAFRXUc84Kc7TMeKOftzrQraVZ7ooTNeFLLa/FZLN2K8HGyRde8X/XDsMu1XAmjNfkz++spwTzA==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/http": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.1.1.tgz",
-      "integrity": "sha512-oeiLX00TaFlGS5Y4EAGnxxVitN8T9X8olhSC+XDDAAL3JHTAyh4dj7me8vNZk1VaqPFa9AXu4D34vu1Zsm0c1g==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.11.tgz",
+      "integrity": "sha512-eR7wNXh1+6MpcQNb3sq4bJVX03dx50Wl3kpPG+Q7N1VSL0oPQSobaTrR17ac3oFCEfSJn6kkUCqtUXha6wcNHg==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/material": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.0.1.tgz",
-      "integrity": "sha512-k95i58ZIVneLE61a5JliM10NSasy9P5C2JJUESo3s/rxt9dq/9XOWpUvNCy49OHYBRFJBlsyrLM6E2V7/tmq4w==",
+      "version": "5.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.2.5.tgz",
+      "integrity": "sha512-IltfBeTJWnmZehOQNQ7KoFs7MGWuZTe0g21hIitGkusVNt1cIoTD24xKH5jwztjH19c04IgiwonpurMKM6pBCQ==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/platform-browser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.1.1.tgz",
-      "integrity": "sha512-QpkNXoO2pqURQJxXPhZo6RFeirKbr56O0SwoMpYfXGGN1qEIicoWZHobCUTp7/jvjx5Xjc7886Fvu/qJrE7wVA==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.11.tgz",
+      "integrity": "sha512-6YZ4IpBFqXx88vEzBZG2WWnaSYXbFWDgG0iT+bZPHAfwsbmqbcMcs7Ogu+XZ4VmK02dTqbrFh7U4P2W+sqrzow==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
     "@angular/platform-browser-dynamic": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.1.1.tgz",
-      "integrity": "sha512-xnin1eK5nF7EO4tYZvRlhT28DyhL3p4NKWsZQwfqyBwSF0T2mJ1vjhjCZVT0MmaOyt5D+0eUkHIhBDqeZyBMMQ==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.11.tgz",
+      "integrity": "sha512-5kKPNULcXNwkyBjpHfF+pq+Yxi8Zl866YSOK9t8txoiQ9Ctw97kMkEJcTetk6MJgBp/NP3YyjtoTAm8oXLerug==",
       "requires": {
         "tslib": "1.8.1"
       }
     },
+    "@angular/platform-server": {
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-5.2.11.tgz",
+      "integrity": "sha512-esYhQMEj8aTfe7ZtH+nxBZ6y+0qAmGE/NgFmwQonxWoZN1M2VNr3diQ4Taz9ZFvDEZOWVNOLxkDauFYIS57U7Q==",
+      "requires": {
+        "domino": "1.0.30",
+        "tslib": "1.8.1",
+        "xhr2": "0.1.4"
+      }
+    },
     "@angular/router": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.1.1.tgz",
-      "integrity": "sha512-96mBZS1b1Dt7HFOGKh5zI/1U6F3zT4cdjIaBmcCKkbyKhs3WRAPXxxCkuCwr6lWmBeQt4iEvSdXiHQbD0iCG7Q==",
+      "version": "5.2.11",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.11.tgz",
+      "integrity": "sha512-NT8xYl7Vr3qPygisek3PlXqNROEjg48GXOEsDEc7c8lDBo3EB9Tf328fWJD0GbLtXZNhmmNNxwIe+qqPFFhFAA==",
       "requires": {
         "tslib": "1.8.1"
       }
@@ -1189,6 +1199,12 @@
         "isarray": "1.0.0"
       }
     },
+    "buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true
+    },
     "buffer-indexof": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
@@ -1226,7 +1242,8 @@
         "moment": {
           "version": "2.22.2",
           "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
-          "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
+          "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=",
+          "optional": true
         }
       }
     },
@@ -2680,6 +2697,11 @@
         "domelementtype": "1.3.0"
       }
     },
+    "domino": {
+      "version": "1.0.30",
+      "resolved": "https://registry.npmjs.org/domino/-/domino-1.0.30.tgz",
+      "integrity": "sha512-ikq8WiDSkICdkElud317F2Sigc6A3EDpWsxWBwIZqOl95km4p/Vc9Rj98id7qKgsjDmExj0AVM7JOd4bb647Xg=="
+    },
     "domutils": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
@@ -3669,8 +3691,7 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "aproba": {
           "version": "1.1.1",
@@ -3721,8 +3742,7 @@
         "balanced-match": {
           "version": "0.4.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "bcrypt-pbkdf": {
           "version": "1.0.1",
@@ -3737,7 +3757,6 @@
           "version": "0.0.9",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "inherits": "2.0.3"
           }
@@ -3746,7 +3765,6 @@
           "version": "2.10.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "hoek": "2.16.3"
           }
@@ -3755,7 +3773,6 @@
           "version": "1.1.7",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "balanced-match": "0.4.2",
             "concat-map": "0.0.1"
@@ -3764,8 +3781,7 @@
         "buffer-shims": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "caseless": {
           "version": "0.12.0",
@@ -3782,14 +3798,12 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "combined-stream": {
           "version": "1.0.5",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "delayed-stream": "1.0.0"
           }
@@ -3797,26 +3811,22 @@
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "core-util-is": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "cryptiles": {
           "version": "2.0.5",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "boom": "2.10.1"
           }
@@ -3856,8 +3866,7 @@
         "delayed-stream": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "delegates": {
           "version": "1.0.0",
@@ -3889,8 +3898,7 @@
         "extsprintf": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "forever-agent": {
           "version": "0.6.1",
@@ -3912,14 +3920,12 @@
         "fs.realpath": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "fstream": {
           "version": "1.0.11",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "graceful-fs": "4.1.11",
             "inherits": "2.0.3",
@@ -3975,7 +3981,6 @@
           "version": "7.1.2",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "fs.realpath": "1.0.0",
             "inflight": "1.0.6",
@@ -3988,8 +3993,7 @@
         "graceful-fs": {
           "version": "4.1.11",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "har-schema": {
           "version": "1.0.5",
@@ -4017,7 +4021,6 @@
           "version": "3.1.3",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "boom": "2.10.1",
             "cryptiles": "2.0.5",
@@ -4028,8 +4031,7 @@
         "hoek": {
           "version": "2.16.3",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "http-signature": {
           "version": "1.1.1",
@@ -4046,7 +4048,6 @@
           "version": "1.0.6",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "once": "1.4.0",
             "wrappy": "1.0.2"
@@ -4055,8 +4056,7 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "ini": {
           "version": "1.3.4",
@@ -4068,7 +4068,6 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "number-is-nan": "1.0.1"
           }
@@ -4082,8 +4081,7 @@
         "isarray": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "isstream": {
           "version": "0.1.2",
@@ -4156,14 +4154,12 @@
         "mime-db": {
           "version": "1.27.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "mime-types": {
           "version": "2.1.15",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "mime-db": "1.27.0"
           }
@@ -4172,7 +4168,6 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "brace-expansion": "1.1.7"
           }
@@ -4180,14 +4175,12 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -4242,8 +4235,7 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "oauth-sign": {
           "version": "0.8.2",
@@ -4261,7 +4253,6 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "wrappy": "1.0.2"
           }
@@ -4291,8 +4282,7 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "performance-now": {
           "version": "0.2.0",
@@ -4303,8 +4293,7 @@
         "process-nextick-args": {
           "version": "1.0.7",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "punycode": {
           "version": "1.4.1",
@@ -4342,7 +4331,6 @@
           "version": "2.2.9",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "buffer-shims": "1.0.0",
             "core-util-is": "1.0.2",
@@ -4387,7 +4375,6 @@
           "version": "2.6.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "glob": "7.1.2"
           }
@@ -4395,8 +4382,7 @@
         "safe-buffer": {
           "version": "5.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "semver": {
           "version": "5.3.0",
@@ -4420,7 +4406,6 @@
           "version": "1.0.9",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "hoek": "2.16.3"
           }
@@ -4454,7 +4439,6 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "code-point-at": "1.1.0",
             "is-fullwidth-code-point": "1.0.0",
@@ -4465,7 +4449,6 @@
           "version": "1.0.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "safe-buffer": "5.0.1"
           }
@@ -4480,7 +4463,6 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "ansi-regex": "2.1.1"
           }
@@ -4495,7 +4477,6 @@
           "version": "2.2.1",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "block-stream": "0.0.9",
             "fstream": "1.0.11",
@@ -4551,8 +4532,7 @@
         "util-deprecate": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "uuid": {
           "version": "3.0.1",
@@ -4581,8 +4561,7 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         }
       }
     },
@@ -6202,7 +6181,6 @@
           "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
           "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
           "dev": true,
-          "optional": true,
           "requires": {
             "hoek": "2.16.3"
           }
@@ -6264,8 +6242,7 @@
           "version": "2.16.3",
           "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
           "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "http-signature": {
           "version": "1.1.1",
@@ -9015,9 +8992,9 @@
       }
     },
     "reflect-metadata": {
-      "version": "0.1.10",
-      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.10.tgz",
-      "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=",
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
+      "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
       "dev": true
     },
     "regenerate": {
@@ -9256,9 +9233,9 @@
       "dev": true
     },
     "rxjs": {
-      "version": "5.5.5",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.5.tgz",
-      "integrity": "sha512-D/MfQnPMBk8P8gfwGxvCkuaWBcG58W7dUMT//URPoYzIbDEKT0GezdirkK5whMgKFBATfCoTpxO8bJQGJ04W5A==",
+      "version": "5.5.12",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
+      "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
       "requires": {
         "symbol-observable": "1.0.1"
       }
@@ -10312,22 +10289,32 @@
       }
     },
     "tsickle": {
-      "version": "0.25.5",
-      "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.25.5.tgz",
-      "integrity": "sha512-CgOT/1WqOKtE1fyvqB+kTJ7bizE33xj1TyUIzGbxJBGCbQmknCrZbb35DtxMiK6pJo4CrPyoS8iGFddfHKtSNA==",
+      "version": "0.27.5",
+      "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.27.5.tgz",
+      "integrity": "sha512-NP+CjM1EXza/M8mOXBLH3vkFEJiu1zfEAlC5WdJxHPn8l96QPz5eooP6uAgYtw1CcKfuSyIiheNUdKxtDWCNeg==",
       "dev": true,
       "requires": {
         "minimist": "1.2.0",
         "mkdirp": "0.5.1",
-        "source-map": "0.5.7",
-        "source-map-support": "0.4.18"
+        "source-map": "0.6.1",
+        "source-map-support": "0.5.21"
       },
       "dependencies": {
         "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
+        },
+        "source-map-support": {
+          "version": "0.5.21",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+          "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+          "dev": true,
+          "requires": {
+            "buffer-from": "1.1.2",
+            "source-map": "0.6.1"
+          }
         }
       }
     },
@@ -11445,6 +11432,11 @@
         "os-homedir": "1.0.2"
       }
     },
+    "xhr2": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz",
+      "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8="
+    },
     "xml-char-classes": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz",
diff --git a/helix-front/package.json b/helix-front/package.json
index 79c1ff51d..f7d7248f4 100644
--- a/helix-front/package.json
+++ b/helix-front/package.json
@@ -26,18 +26,19 @@
     "npm": "5.5.1"
   },
   "dependencies": {
-    "@angular/animations": "^5.1.1",
-    "@angular/cdk": "^5.0.1",
-    "@angular/common": "^5.1.1",
-    "@angular/compiler": "^5.1.1",
-    "@angular/core": "^5.1.1",
-    "@angular/flex-layout": "2.0.0-beta.12",
-    "@angular/forms": "^5.1.1",
-    "@angular/http": "^5.1.1",
-    "@angular/material": "^5.0.1",
-    "@angular/platform-browser": "^5.1.1",
-    "@angular/platform-browser-dynamic": "^5.1.1",
-    "@angular/router": "^5.1.1",
+    "@angular/animations": "^5.2.11",
+    "@angular/cdk": "^5.2.5",
+    "@angular/common": "^5.2.11",
+    "@angular/compiler": "^5.2.11",
+    "@angular/core": "^5.2.11",
+    "@angular/flex-layout": "^5.0.0-beta.14",
+    "@angular/forms": "^5.2.11",
+    "@angular/http": "^5.2.11",
+    "@angular/material": "^5.2.5",
+    "@angular/platform-browser": "^5.2.11",
+    "@angular/platform-browser-dynamic": "^5.2.11",
+    "@angular/platform-server": "^5.2.11",
+    "@angular/router": "^5.2.11",
     "@swimlane/ngx-charts": "^7.0.1",
     "@swimlane/ngx-datatable": "^11.1.7",
     "angulartics2": "^2.2.1",
@@ -58,13 +59,13 @@
     "ngx-vis": "^0.1.0",
     "node-sass": "4.5.3",
     "request": "^2.81.0",
-    "rxjs": "^5.5.5",
+    "rxjs": "^5.5.12",
     "vis": "^4.21.0",
     "zone.js": "^0.8.4"
   },
   "devDependencies": {
     "@angular/cli": "^1.6.1",
-    "@angular/compiler-cli": "^5.1.1",
+    "@angular/compiler-cli": "^5.2.11",
     "@types/hammerjs": "^2.0.34",
     "@types/jasmine": "2.5.38",
     "@types/lodash": "4.14.120",
@@ -85,6 +86,9 @@
     "protractor": "~5.1.0",
     "ts-node": "~2.0.0",
     "tslint": "^5.8.0",
-    "typescript": "2.4.2"
+    "typescript": "^2.4.2"
+  },
+  "volta": {
+    "node": "8.9.4"
   }
 }