socialnetworknews-web

A open-source Paper.li clone
git clone git://archive.git.mtrnord.blog/SocialNetworkNews/socialnetworknews-web.git
Log | Files | Refs | README | LICENSE

commit d77cc2967173b28a3aeba8ae13820ad024faf18b
parent 7abaeef1b84883bd05edbe379d33125d3067aedb
Author: Marcel <MTRNord@users.noreply.github.com>
Date:   Tue,  3 Apr 2018 17:02:44 +0200

Merge branch 'master' into renovate/angular-devkit-core-0.x
Diffstat:
Mpackage.json | 3---
Msrc/app/api.service.ts | 4++++
Msrc/app/app.component.html | 4++--
Msrc/app/app.component.ts | 48+++++++++++++++++++++++++++++++++++++++++-------
Msrc/app/app.module.ts | 23+++++------------------
Msrc/app/app.routing.ts | 5+++++
Asrc/app/user/profile/profile.component.html | 3+++
Asrc/app/user/profile/profile.component.scss | 0
Asrc/app/user/profile/profile.component.spec.ts | 25+++++++++++++++++++++++++
Asrc/app/user/profile/profile.component.ts | 19+++++++++++++++++++
Asrc/app/user/settings/settings.component.html | 3+++
Asrc/app/user/settings/settings.component.scss | 0
Asrc/app/user/settings/settings.component.spec.ts | 25+++++++++++++++++++++++++
Asrc/app/user/settings/settings.component.ts | 15+++++++++++++++
Myarn.lock | 220+++++++++++++++++++++++++++++++------------------------------------------------
15 files changed, 233 insertions(+), 164 deletions(-)

diff --git a/package.json b/package.json @@ -28,16 +28,13 @@ "@angular/platform-server": "^5.2.4", "@angular/router": "^5.0.0", "@angular/service-worker": "^5.2.4", - "@biesbjerg/ngx-translate-po-http-loader": "^3.0.1", "@nguniversal/module-map-ngfactory-loader": "^5.0.0-beta.8", - "@ngx-translate/core": "^10.0.1", "chart.js": "^2.7.2", "core-js": "^2.4.1", "express": "^4.16.2", "hammerjs": "^2.0.8", "linkifyjs": "^2.1.6", "ng-http-loader": "^0.9.0", - "ngx-avatar": "^2.9.0", "ngx-toastr": "^8.3.0", "raven-js": "^3.22.3", "rxjs": "^5.5.2", diff --git a/src/app/api.service.ts b/src/app/api.service.ts @@ -61,4 +61,8 @@ export class ApiService { getPaper(uuid: string): Observable<Paper> { return this.http.get<Paper>(`${this.url}/paper/${uuid}`); } + + checkIfUserIsAuthenticated(): Observable { + return this.http.get(`${this.url}/login/twitter/check`); + } } diff --git a/src/app/app.component.html b/src/app/app.component.html @@ -11,8 +11,8 @@ <a class="nav--link" routerLink="/">Home</a> <a class="nav--link" routerLink="/features">Features</a> <a class="nav--link" routerLink="/papers">Papers</a> - <!-- TODO check if already logged in and otherwise do show link to Profile page --> - <a class="nav--link" routerLink="/login">Login</a> + <a class="nav--link" *ngIf="!authenticated" routerLink="/login">Login</a> + <a class="nav--link" *ngIf="authenticated" routerLink="/profile">Profile</a> </nav> </div> diff --git a/src/app/app.component.ts b/src/app/app.component.ts @@ -1,20 +1,54 @@ -import {Component} from '@angular/core'; +import {Component, OnInit} from '@angular/core'; import {SpinnerComponent} from './spinner/spinner.component'; import {TranslateService} from '@ngx-translate/core'; +import {ToastrService} from 'ngx-toastr'; +import {ApiService} from './api.service'; +import {Observable} from 'rxjs/Observable'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) -export class AppComponent { +export class AppComponent implements OnInit { public spinner = SpinnerComponent; + authenticated: boolean; - constructor(private translate: TranslateService) { - // this language will be used as a fallback when a translation isn't found in the current language - translate.setDefaultLang('en'); + constructor(private apiService: ApiService, private toastr: ToastrService) { } - // the lang to use, if the lang isn't available, it will use the current loader to get them - translate.use('en'); + ngOnInit() { + this.apiService.checkIfUserIsAuthenticated() + // TODO: Better variable naming + .retryWhen(oerror => { + return oerror + .mergeMap((error: any) => { + if (String(error.status).startsWith('50')) { + return Observable.of(error.status).delay(1000); + } else if (error.status === 404) { + return Observable.throw({error: 'Sorry, there was an error. The Server just doesn\'t find any data for the requested time :('}); + } else if (error.status === 401) { + return Observable.throw({error: '401'}); + } + return Observable.throw({error: 'Unknown error'}); + }) + .take(5) + // TODO: Allow to link to a Status Page + .concat(Observable.throw({error: 'Sorry, there was an error (after 5 retries). This probably means we can\'t reach our API Server :('})); + }) + .subscribe( + data => { this.authenticated = true; }, + err => { + if (err['error'] === '401') { + this.authenticated = false; + } else { + this.toastr.error(err['error'], 'Error connecting API', { + positionClass: 'toast-top-center', + disableTimeOut: true + }); + throw err; + } + }, + () => console.log('done checking if authenticated') + ); } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts @@ -1,11 +1,9 @@ import { BrowserModule } from '@angular/platform-browser'; import {ErrorHandler, NgModule} from '@angular/core'; -import {HttpClient, HttpClientModule} from '@angular/common/http'; +import {HttpClientModule} from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { AvatarModule } from 'ngx-avatar'; import * as Raven from 'raven-js'; import {ToastrModule} from 'ngx-toastr'; -import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; import {NgHttpLoaderModule} from 'ng-http-loader/ng-http-loader.module'; import { AppComponent } from './app.component'; @@ -17,6 +15,8 @@ import { TweetListComponent } from './tweet-list/tweet-list.component'; import { PapersListComponent } from './papers-list/papers-list.component'; import { SpinnerComponent } from './spinner/spinner.component'; import { LoginComponent } from './login/login.component'; +import { ProfileComponent } from './user/profile/profile.component'; +import { SettingsComponent } from './user/settings/settings.component'; import { TwitterComponent as CallbackTwitterComponent } from './callback/twitter/twitter.component'; import {MatCardModule} from '@angular/material/card'; @@ -26,8 +26,6 @@ import { ApiService } from './api.service'; import {Lightbox} from './utils/lightbox'; import {LinkifyPipe} from './utils/linkifier'; -import {TranslatePoHttpLoader} from '@biesbjerg/ngx-translate-po-http-loader'; - Raven .config('https://b760c9f9035c472998ada3a02dcc81d3@sentry.io/294520', { environment: 'development', @@ -45,11 +43,6 @@ export class RavenErrorHandler implements ErrorHandler { } } } - -export function createTranslateLoader(http: HttpClient) { - return new TranslatePoHttpLoader(http, 'assets/i18n', '.po'); -} - @NgModule({ declarations: [ AppComponent, @@ -62,24 +55,18 @@ export function createTranslateLoader(http: HttpClient) { LinkifyPipe, LoginComponent, CallbackTwitterComponent, + ProfileComponent, + SettingsComponent, ], imports: [ BrowserModule.withServerTransition({appId: 'snn-app'}), AppRoutingModule, BrowserAnimationsModule, - AvatarModule, HttpClientModule, NgHttpLoaderModule, ToastrModule.forRoot(), MatCardModule, MatButtonModule, - TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useFactory: createTranslateLoader, - deps: [HttpClient] - } - }), ], providers: [ ApiService, diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts @@ -5,6 +5,7 @@ import {PaperComponent} from './paper/paper.component'; import {PapersComponent} from './papers/papers.component'; import {LoginComponent} from './login/login.component'; import { TwitterComponent as CallbackTwitterComponent } from './callback/twitter/twitter.component'; +import {ProfileComponent} from './user/profile/profile.component'; const routes: Routes = [ { @@ -27,6 +28,10 @@ const routes: Routes = [ path: 'login/twitter/callback', component: CallbackTwitterComponent, }, + { + path: 'profile/:author', + component: ProfileComponent, + }, ]; @NgModule({ diff --git a/src/app/user/profile/profile.component.html b/src/app/user/profile/profile.component.html @@ -0,0 +1,3 @@ +<main> + +</main> diff --git a/src/app/user/profile/profile.component.scss b/src/app/user/profile/profile.component.scss diff --git a/src/app/user/profile/profile.component.spec.ts b/src/app/user/profile/profile.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfileComponent } from './profile.component'; + +describe('ProfileComponent', () => { + let component: ProfileComponent; + let fixture: ComponentFixture<ProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/user/profile/profile.component.ts b/src/app/user/profile/profile.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; +import {ActivatedRoute} from '@angular/router'; + +@Component({ + selector: 'app-profile', + templateUrl: './profile.component.html', + styleUrls: ['./profile.component.scss'] +}) +export class ProfileComponent implements OnInit { + authorUUID: string; + + constructor(private route: ActivatedRoute) { + this.authorUUID = this.route.snapshot.params.paperUUID; + } + + ngOnInit() { + } + +} diff --git a/src/app/user/settings/settings.component.html b/src/app/user/settings/settings.component.html @@ -0,0 +1,3 @@ +<main> + +</main> diff --git a/src/app/user/settings/settings.component.scss b/src/app/user/settings/settings.component.scss diff --git a/src/app/user/settings/settings.component.spec.ts b/src/app/user/settings/settings.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingsComponent } from './settings.component'; + +describe('SettingsComponent', () => { + let component: SettingsComponent; + let fixture: ComponentFixture<SettingsComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/user/settings/settings.component.ts b/src/app/user/settings/settings.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-settings', + templateUrl: './settings.component.html', + styleUrls: ['./settings.component.scss'] +}) +export class SettingsComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/yarn.lock b/yarn.lock @@ -141,8 +141,8 @@ tslib "^1.7.1" "@angular/flex-layout@^5.0.0-beta.13": - version "5.0.0-beta.13" - resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-5.0.0-beta.13.tgz#81ad6ad461003946e7c522920821a56ba7292a85" + version "5.0.0-beta.14" + resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-5.0.0-beta.14.tgz#300e1cba2ef1a70f43fe7ea68ea78267cb4241e4" dependencies: tslib "^1.7.1" @@ -200,12 +200,6 @@ dependencies: tslib "^1.7.1" -"@biesbjerg/ngx-translate-po-http-loader@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@biesbjerg/ngx-translate-po-http-loader/-/ngx-translate-po-http-loader-3.0.1.tgz#bc06dfc723e294f18d3d0546de3a63da5f24fb58" - dependencies: - gettext-parser "1.3.0" - "@ngtools/json-schema@1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.2.0.tgz#06e5ecd29e9a37d260a447dd873ea2becd228c4f" @@ -228,14 +222,8 @@ webpack-sources "^1.1.0" "@nguniversal/module-map-ngfactory-loader@^5.0.0-beta.8": - version "5.0.0-beta.8" - resolved "https://registry.yarnpkg.com/@nguniversal/module-map-ngfactory-loader/-/module-map-ngfactory-loader-5.0.0-beta.8.tgz#6507143f6f5afaf159c78bd178e07133db33ef09" - -"@ngx-translate/core@^10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@ngx-translate/core/-/core-10.0.1.tgz#9f3a3ed077e847dd0d2951a664da6ee348a06d22" - dependencies: - tslib "^1.9.0" + version "5.0.0" + resolved "https://registry.yarnpkg.com/@nguniversal/module-map-ngfactory-loader/-/module-map-ngfactory-loader-5.0.0.tgz#359c9283d942ed7806647e66c29ee2e9fb90df6e" "@schematics/angular@0.3.2": version "0.3.2" @@ -292,12 +280,12 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" "@types/node@*": - version "8.10.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.0.tgz#f5d649cc49af8ed6507d15dc6e9b43fe8b927540" + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.1.tgz#e2d374ef15b315b48e7efc308fa1a7cd51faa06c" "@types/node@^6.0.46": - version "6.0.102" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.102.tgz#a6cf3b9843286b63eb362a8522bc382d96fe68d1" + version "6.0.103" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.103.tgz#4fddb6c254756e98004039da4e4f4230d1e397ca" "@types/q@^0.0.32": version "0.0.32" @@ -397,12 +385,13 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@~5.5.1: json-schema-traverse "^0.3.0" ajv@^6.1.0, ajv@^6.1.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.3.0.tgz#1650a41114ef00574cac10b8032d8f4c14812da7" + version "6.4.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.4.0.tgz#d3aff78e9277549771daf0164cff48482b754fc6" dependencies: fast-deep-equal "^1.0.0" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" + uri-js "^3.0.2" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" @@ -645,8 +634,8 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" atob@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" + version "2.1.0" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.0.tgz#ab2b150e51d7b122b9efc8d7340c06b6c41076bc" autoprefixer@^7.2.3: version "7.2.6" @@ -931,8 +920,8 @@ brorand@^1.0.1: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" browser-pack@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.4.tgz#9a73beb3b48f9e36868be007b64400102c04a99f" + version "6.1.0" + resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.1.0.tgz#c34ba10d0b9ce162b5af227c7131c92c2ecd5774" dependencies: JSONStream "^1.0.3" combine-source-map "~0.8.0" @@ -1193,8 +1182,8 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805: - version "1.0.30000819" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000819.tgz#aabee5fd15a080febab6ae5d30c9ea15f4c6d4e2" + version "1.0.30000823" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000823.tgz#b79842a5b5a48eaa416b73f5a5d7a23f52d26014" caseless@~0.11.0: version "0.11.0" @@ -1272,7 +1261,7 @@ chokidar@^1.4.1, chokidar@^1.4.2, chokidar@^1.7.0: optionalDependencies: fsevents "^1.0.0" -chokidar@^2.0.0: +chokidar@^2.0.0, chokidar@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" dependencies: @@ -1290,24 +1279,6 @@ chokidar@^2.0.0: optionalDependencies: fsevents "^1.1.2" -chokidar@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7" - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.0" - optionalDependencies: - fsevents "^1.0.0" - chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" @@ -1429,16 +1400,7 @@ combine-lists@^1.0.0: dependencies: lodash "^4.5.0" -combine-source-map@~0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.6.0" - lodash.memoize "~3.0.3" - source-map "~0.5.3" - -combine-source-map@~0.8.0: +combine-source-map@^0.8.0, combine-source-map@~0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b" dependencies: @@ -1610,8 +1572,8 @@ core-js@^1.0.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" core-js@^2.2.0, core-js@^2.4.0, core-js@^2.4.1: - version "2.5.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" + version "2.5.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.4.tgz#f2c8bf181f2a80b92f360121429ce63a2f0aeae0" core-js@~2.3.0: version "2.3.0" @@ -2083,12 +2045,12 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" ejs@^2.5.7: - version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" + version "2.5.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.8.tgz#2ab6954619f225e6193b7ac5f7c39c48fefe4380" electron-to-chromium@^1.3.30: - version "1.3.40" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.40.tgz#1fbd6d97befd72b8a6f921dc38d22413d2f6fddf" + version "1.3.41" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.41.tgz#7e33643e00cd85edfd17e04194f6d00e73737235" elliptic@^6.0.0: version "6.4.0" @@ -2114,7 +2076,7 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" -encoding@^0.1.11, encoding@^0.1.12: +encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" dependencies: @@ -2213,8 +2175,8 @@ es-to-primitive@^1.1.1: is-symbol "^1.0.1" es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.41" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.41.tgz#bab3e982d750f0112f0cb9e6abed72c59eb33eb2" + version "0.10.42" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" dependencies: es6-iterator "~2.0.3" es6-symbol "~3.1.1" @@ -2830,13 +2792,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -gettext-parser@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/gettext-parser/-/gettext-parser-1.3.0.tgz#61465851c266f8521ba69e61ef505aa54f635d0a" - dependencies: - encoding "^0.1.12" - safe-buffer "^5.1.1" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -3134,14 +3089,13 @@ html-entities@^1.2.0: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" html-minifier@^3.2.3: - version "3.5.12" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.12.tgz#6bfad4d0327f5b8d2b62f5854654ac3703b9b031" + version "3.5.13" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.13.tgz#6bca6d533a7f18a476dc6aeb3d113071ab5c165e" dependencies: camel-case "3.0.x" clean-css "4.1.x" commander "2.15.x" he "1.1.x" - ncname "1.0.x" param-case "2.1.x" relateurl "0.2.x" uglify-js "3.3.x" @@ -3174,7 +3128,7 @@ http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" -http-errors@1.6.2, http-errors@~1.6.2: +http-errors@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" dependencies: @@ -3183,6 +3137,15 @@ http-errors@1.6.2, http-errors@~1.6.2: setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-parser-js@>=0.4.0: version "0.4.11" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.11.tgz#5b720849c650903c27e521633d94696ee95f3529" @@ -3259,8 +3222,8 @@ iconv-lite@0.4.19, iconv-lite@~0.4.13: resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" ieee754@^1.1.4: - version "1.1.10" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.10.tgz#719a6f7b026831e64bdb838b0de1bb0029bbf716" + version "1.1.11" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" iferr@^0.1.5: version "0.1.5" @@ -3337,11 +3300,11 @@ inline-source-map@~0.6.0: source-map "~0.5.3" insert-module-globals@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.4.tgz#1f144b807884507894bdbbb564c0d70075460251" + version "7.0.5" + resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.5.tgz#6d0a6f28d4a7e0eae171ad305e0f47bdfe0c258e" dependencies: JSONStream "^1.0.3" - combine-source-map "~0.7.1" + combine-source-map "^0.8.0" concat-stream "^1.6.1" is-buffer "^1.1.0" lexical-scope "^1.2.0" @@ -3595,10 +3558,6 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-retina@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-retina/-/is-retina-1.0.3.tgz#d7401b286bea2ae37f62477588de504d0b8647e3" - is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3686,8 +3645,8 @@ istanbul-api@^1.1.14: once "^1.4.0" istanbul-instrumenter-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz#9f553923b22360bac95e617aaba01add1f7db0b2" + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" dependencies: convert-source-map "^1.5.0" istanbul-lib-instrument "^1.7.3" @@ -4431,8 +4390,8 @@ module-deps@^4.0.8: xtend "^4.0.0" moment@^2.10.2: - version "2.21.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" + version "2.22.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.0.tgz#7921ade01017dd45186e7fee5f424f0b8663a730" move-concurrently@^1.0.1: version "1.0.1" @@ -4485,12 +4444,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -ncname@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" - dependencies: - xml-char-classes "^1.0.0" - negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" @@ -4511,16 +4464,9 @@ ng-http-loader@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/ng-http-loader/-/ng-http-loader-0.9.0.tgz#ea9b013cd7f3318f8e0eb4bf86157d6524d2c8e9" -ngx-avatar@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/ngx-avatar/-/ngx-avatar-2.9.0.tgz#7dbeea19c0ea1657040f52afefb1dfa3c661ff46" - dependencies: - is-retina "^1.0.3" - ts-md5 "^1.2.0" - ngx-toastr@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/ngx-toastr/-/ngx-toastr-8.3.0.tgz#4f79df590484de1caa2e29f9bee4cbf2c5aff097" + version "8.3.2" + resolved "https://registry.yarnpkg.com/ngx-toastr/-/ngx-toastr-8.3.2.tgz#f1aadfcad2c59365e93c68c3f872c863ea2f2cb0" dependencies: tslib "^1.7.1" @@ -5313,6 +5259,10 @@ punycode@1.4.1, punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + q@1.4.1, q@~1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" @@ -5408,8 +5358,8 @@ rc@^1.1.7: strip-json-comments "~2.0.1" react-dom@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" + version "16.3.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.3.0.tgz#b318e52184188ecb5c3e81117420cca40618643e" dependencies: fbjs "^0.8.16" loose-envify "^1.1.0" @@ -5417,8 +5367,8 @@ react-dom@^16.2.0: prop-types "^15.6.0" react@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba" + version "16.3.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.3.0.tgz#fc5a01c68f91e9b38e92cf83f7b795ebdca8ddff" dependencies: fbjs "^0.8.16" loose-envify "^1.1.0" @@ -5802,9 +5752,9 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^5.5.2, rxjs@^5.5.6: - version "5.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.7.tgz#afb3d1642b069b2fbf203903d6501d1acb4cda27" +rxjs@^5.5.2, rxjs@^5.5.6, rxjs@^5.5.8: + version "5.5.8" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.8.tgz#b2b0809a57614ad6254c03d7446dea0d83ca3791" dependencies: symbol-observable "1.0.1" @@ -6347,14 +6297,18 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.3.1 < 2", statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" +"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + stdout-stream@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" @@ -6428,8 +6382,8 @@ string-width@^2.0.0: strip-ansi "^4.0.0" string_decoder@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.0.tgz#384f322ee8a848e500effde99901bba849c5d403" + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" dependencies: safe-buffer "~5.1.0" @@ -6699,10 +6653,6 @@ ts-loader@^3.5.0: micromatch "^3.1.4" semver "^5.0.1" -ts-md5@^1.2.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/ts-md5/-/ts-md5-1.2.4.tgz#7030d7ba9134449deedf6f609d4b4509b94a5712" - ts-node@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-5.0.1.tgz#78e5d1cb3f704de1b641e43b76be2d4094f06f81" @@ -6725,7 +6675,7 @@ tsickle@^0.27.2: source-map "^0.6.0" source-map-support "^0.5.0" -tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1: version "1.9.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" @@ -6751,8 +6701,8 @@ tsscmp@~1.0.0: resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" tsutils@^2.12.1: - version "2.22.2" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.22.2.tgz#0b9f3d87aa3eb95bd32d26ce2b88aa329a657951" + version "2.25.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.25.1.tgz#24a46342ab8b174a3fbde632e60dcd11b64982f9" dependencies: tslib "^1.8.1" @@ -6811,8 +6761,8 @@ uglify-es@^3.3.4: source-map "~0.6.1" uglify-js@3.3.x: - version "3.3.16" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.16.tgz#23ba13efa27aa00885be7417819e8a9787f94028" + version "3.3.18" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.18.tgz#e16df66d71638df3c9bc61cce827e46f24bdac02" dependencies: commander "~2.15.0" source-map "~0.6.1" @@ -6915,6 +6865,12 @@ upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" +uri-js@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa" + dependencies: + punycode "^2.1.0" + urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" @@ -7172,8 +7128,8 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" whatwg-fetch@>=0.10.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" when@^3.7.7: version "3.7.8" @@ -7255,10 +7211,6 @@ xhr2@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" -xml-char-classes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" - xml2js@0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.4.tgz#3111010003008ae19240eba17497b57c729c555d" @@ -7397,5 +7349,5 @@ yn@^2.0.0: resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" zone.js@^0.8.14: - version "0.8.20" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.20.tgz#a218c48db09464b19ff6fc8f0d4bb5b1046e185d" + version "0.8.24" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.24.tgz#f12a733d564dae589843d2e199fba132212203b8"