diff --git a/package.json b/package.json index e8cf9c7..d79d477 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openlp/web-remote", - "version": "0.9.2", + "version": "0.9.3", "description": "The web remote for OpenLP, written in Angular", "keywords": ["OpenLP", "Angular", "Remote"], "homepage": "https://openlp.org/", diff --git a/src/app/app.component.html b/src/app/app.component.html index 1a66d6c..76fe949 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -9,11 +9,11 @@ - Service - Slides - Alerts - Search - Themes + list Service + collections Slides + error Alerts + search Search + image_search Themes Main View Stage View @@ -56,13 +56,28 @@ videocam - - - - - - - + diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 32f39c1..7e04927 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -28,9 +28,12 @@ mat-slide-toggle { visibility: hidden; } -.fast-access { - display: flex; - justify-content: space-around; +.fast-switcher { + background-color: whitesmoke; +} + +.fast-switcher a.mat-tab-link > span.text { + margin-left: 0.3rem; } .footer { @@ -40,8 +43,8 @@ mat-slide-toggle { } /* -* Make the Component injected by Router Outlet full height: -*/ + * Make the Component injected by Router Outlet full height: + */ main { display: flex; flex-direction: column; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index e0ae728..ade4db4 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -13,7 +13,7 @@ import { version } from '../../package.json'; styleUrls: ['./app.component.scss'] }) export class AppComponent implements OnInit { - fastSwitching = false; + private _fastSwitching = false; state = new State(); showLogin = false; pageTitle = 'OpenLP Remote'; @@ -29,6 +29,18 @@ export class AppComponent implements OnInit { this.openlpService.retrieveSystemInformation().subscribe(res => this.showLogin = res.login_required); } + get fastSwitching(): boolean { + if (localStorage.getItem('OpenLP-fastSwitching')) { + this._fastSwitching = JSON.parse(localStorage.getItem('OpenLP-fastSwitching')); + } + return this._fastSwitching; + } + + set fastSwitching(value: boolean) { + this._fastSwitching = value; + localStorage.setItem('OpenLP-fastSwitching', JSON.stringify(value)); + } + login() { const dialogRef = this.dialog.open(LoginComponent, { width: '250px' diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2713cd7..1eaaa52 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,21 +1,20 @@ import { BrowserModule, Title } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - import { NgModule } from '@angular/core'; -import { MatCardModule, MatDialogModule, MatSnackBarModule } from '@angular/material'; -import { MatListModule } from '@angular/material/list'; -import { MatSidenavModule } from '@angular/material/sidenav'; -import { MatIconModule } from '@angular/material/icon'; -import { MatToolbarModule } from '@angular/material/toolbar'; -import { MatGridListModule } from '@angular/material/grid-list'; -import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatSelectModule } from '@angular/material/select'; import { MatButtonModule, MatButtonToggleModule } from '@angular/material'; +import { MatCardModule, MatDialogModule, MatSnackBarModule } from '@angular/material'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material'; -import { MatTooltipModule } from '@angular/material/tooltip'; +import { MatListModule } from '@angular/material/list'; +import { MatSelectModule } from '@angular/material/select'; +import { MatSidenavModule } from '@angular/material/sidenav'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; - +import { MatTabsModule } from '@angular/material/tabs'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { MatTooltipModule } from '@angular/material/tooltip'; import { AppComponent } from './app.component'; import { PageTitleService } from './page-title.service'; @@ -53,23 +52,24 @@ import { ThemesComponent } from './components/themes/themes.component'; BrowserModule, BrowserAnimationsModule, HttpClientModule, - AppRoutingModule, - MatButtonToggleModule, - MatListModule, - MatSidenavModule, - MatIconModule, - MatToolbarModule, - MatGridListModule, FormsModule, - MatFormFieldModule, - MatSelectModule, + AppRoutingModule, MatButtonModule, - MatInputModule, - MatTooltipModule, - MatSlideToggleModule, + MatButtonToggleModule, MatCardModule, MatDialogModule, - MatSnackBarModule + MatFormFieldModule, + MatGridListModule, + MatIconModule, + MatInputModule, + MatListModule, + MatSelectModule, + MatSidenavModule, + MatSlideToggleModule, + MatSnackBarModule, + MatTabsModule, + MatToolbarModule, + MatTooltipModule ], providers: [ PageTitleService, diff --git a/src/app/components/chord-view/chord-view.component.ts b/src/app/components/chord-view/chord-view.component.ts index 167bd58..8447948 100644 --- a/src/app/components/chord-view/chord-view.component.ts +++ b/src/app/components/chord-view/chord-view.component.ts @@ -26,7 +26,7 @@ export class ChordViewComponent extends StageViewComponent { if (!slide) { return ''; } - let chordpro: string = slide.chords_text; + let chordpro: string = slide.chords; chordpro = chordpro.replace(//g, ''); chordpro = chordpro.replace(//g, ''); chordpro = chordpro.replace(/<\/span>/g, ''); diff --git a/src/app/components/service/service.component.html b/src/app/components/service/service.component.html index 678f7f5..4437b55 100644 --- a/src/app/components/service/service.component.html +++ b/src/app/components/service/service.component.html @@ -1,3 +1,3 @@ - + {{ getIcon(item) }} {{ item.title }} diff --git a/src/app/components/service/service.component.ts b/src/app/components/service/service.component.ts index 3e36085..0270023 100644 --- a/src/app/components/service/service.component.ts +++ b/src/app/components/service/service.component.ts @@ -20,7 +20,7 @@ export class ServiceComponent implements OnInit { } onItemSelected(item) { - this.openlpService.setServiceItem(item).subscribe(res => {}); + this.openlpService.setServiceItem(item.id).subscribe(); this.router.navigate(['slides']); } diff --git a/src/app/components/slides/slides.component.ts b/src/app/components/slides/slides.component.ts index 4768840..d205c95 100644 --- a/src/app/components/slides/slides.component.ts +++ b/src/app/components/slides/slides.component.ts @@ -22,8 +22,8 @@ export class SlidesComponent implements OnInit { this.getSlides(); } - onSlideSelected(item) { - this.openlpService.setSlide(item).subscribe(res => {}); + onSlideSelected(id) { + this.openlpService.setSlide(id).subscribe(); } getSlides() { diff --git a/src/app/components/stage-view/stage-view.component.ts b/src/app/components/stage-view/stage-view.component.ts index ddea8b1..2eca06d 100644 --- a/src/app/components/stage-view/stage-view.component.ts +++ b/src/app/components/stage-view/stage-view.component.ts @@ -50,7 +50,7 @@ export class StageViewComponent implements OnInit { * So we start with the first tag and on each tag change we push the new one. * * If we find the same tag, we check to see if the current slide is a repition. - * In case of a repition we also add a new tag. + * In case of a repetition we also add a new tag. * * TODO This approach should work for most cases. It is a primary candidate for a test :-) */ diff --git a/src/app/components/themes/themes.component.html b/src/app/components/themes/themes.component.html index f98f9d0..d516182 100644 --- a/src/app/components/themes/themes.component.html +++ b/src/app/components/themes/themes.component.html @@ -1,18 +1,22 @@ -

- Theme level: - - Global - Service - -

- - -
{{ theme.name }}
-
-
-Change Theme Level - -

Song level theme changing not yet supported.
- To continue, change your theme level. +

+

Theme Options

+

+ + Theme level + + Global + Service + Song + +

- +

+ + Theme + + {{ theme.name }} + + Song level theme changing not yet supported. Change your theme level to Global or Service + +

+
diff --git a/src/app/components/themes/themes.component.ts b/src/app/components/themes/themes.component.ts index 3cf9f91..5e9f4ff 100644 --- a/src/app/components/themes/themes.component.ts +++ b/src/app/components/themes/themes.component.ts @@ -10,14 +10,10 @@ import { PageTitleService } from '../../page-title.service'; styleUrls: ['./themes.component.scss'], providers: [OpenLPService] }) - export class ThemesComponent implements OnInit { - theme_list = null; - theme_level = null; - - themeLevelSwitching = false; - unsupportedLevel = false; - + private _theme = null; + private _themeList = []; + private _themeLevel = null; constructor(private pageTitleService: PageTitleService, private openlpService: OpenLPService) { pageTitleService.changePageTitle('Themes'); @@ -26,39 +22,44 @@ export class ThemesComponent implements OnInit { ngOnInit() { this.getThemeLevel(); this.getThemes(); + this.getTheme(); + } + + get theme(): string { + return this._theme; + } + + set theme(themeName: string) { + this._theme = themeName; + this.openlpService.setTheme(themeName).subscribe(); + } + + get themeList(): Array { + return this._themeList; + } + + get themeLevel(): string { + return this._themeLevel; + } + + set themeLevel(level: string) { + this._themeLevel = level; + this.openlpService.setThemeLevel(level).subscribe(); + } + + isThemeLevelSupported(): boolean { + return this._themeLevel !== 'song'; } getThemeLevel() { - this.openlpService.getThemeLevel().subscribe(theme_level => { - this.theme_level = theme_level; - this.unsupportedLevelCheck(this.theme_level); - }); + this.openlpService.getThemeLevel().subscribe(themeLevel => this._themeLevel = themeLevel); } getThemes() { - this.openlpService.getThemes().subscribe(theme_list => this.theme_list = theme_list); + this.openlpService.getThemes().subscribe(themeList => this._themeList = themeList); } - onThemeLevelSelected(level: string) { - this.openlpService.setThemeLevel(level).subscribe(res => this.getThemes()); - } - - onThemeSelected(theme: string) { - this.openlpService.setTheme(theme).subscribe(res => this.getThemes()); - } - - levelSliderChanged(event: MatSlideToggleChange) { - this.themeLevelSwitching = event.checked; - } - - unsupportedLevelCheck(level) { - this.getThemeLevel(); - if (level === 'song') { - this.unsupportedLevel = true; - this.themeLevelSwitching = true; - } - else { - this.unsupportedLevel = false; - } + getTheme() { + this.openlpService.getTheme().subscribe(theme => this._theme = theme); } } diff --git a/src/app/openlp.service.ts b/src/app/openlp.service.ts index 3dcb69b..be17c1d 100644 --- a/src/app/openlp.service.ts +++ b/src/app/openlp.service.ts @@ -87,44 +87,20 @@ export class OpenLPService { return this.http.get(`${this.apiURL}/core/live-image`, httpOptions); } - getItemSlides(): Observable { - return this.http.get(`${this.apiURL}/controller/live-item`, httpOptions); - } - - getServiceItems(): Observable { - return this.http.get(`${this.apiURL}/service/items`, httpOptions); - } - - getThemeLevel(): Observable { - return this.http.get(`${this.apiURL}/controller/theme-level`, httpOptions); - } - - getThemes(): Observable { - return this.http.get(`${this.apiURL}/controller/themes`, httpOptions); - } - getSearchablePlugins(): Observable { return this.http.get(`${this.apiURL}/core/plugins`, httpOptions); } - setServiceItem(id: number): Observable { - return this.http.post(`${this.apiURL}/service/show`, {'id': id}, httpOptions); - } - search(plugin, text): Observable { return this.http.get(`${this.apiURL}/plugins/${plugin}/search?text=${text}`, httpOptions); } - setSlide(id): Observable { - return this.http.post(`${this.apiURL}/controller/show`, {'id': id}, httpOptions); + getServiceItems(): Observable { + return this.http.get(`${this.apiURL}/service/items`, httpOptions); } - setThemeLevel(level): Observable { - return this.http.post(`${this.apiURL}/controller/theme-level`, {'level': level}, httpOptions); - } - - setTheme(theme: string): Observable { - return this.http.post(`${this.apiURL}/controller/theme`, {'theme': theme}, httpOptions); + setServiceItem(id: any): Observable { + return this.http.post(`${this.apiURL}/service/show`, {'id': id}, httpOptions); } nextItem(): Observable { @@ -135,6 +111,14 @@ export class OpenLPService { return this.http.post(`${this.apiURL}/service/progress`, {'action': 'previous'}, httpOptions); } + getItemSlides(): Observable { + return this.http.get(`${this.apiURL}/controller/live-item`, httpOptions); + } + + setSlide(id: any): Observable { + return this.http.post(`${this.apiURL}/controller/show`, {'id': id}, httpOptions); + } + nextSlide(): Observable { return this.http.post(`${this.apiURL}/controller/progress`, {'action': 'next'}, httpOptions); } @@ -143,6 +127,26 @@ export class OpenLPService { return this.http.post(`${this.apiURL}/controller/progress`, {'action': 'previous'}, httpOptions); } + getThemeLevel(): Observable { + return this.http.get(`${this.apiURL}/controller/theme-level`, httpOptions); + } + + getThemes(): Observable { + return this.http.get(`${this.apiURL}/controller/themes`, httpOptions); + } + + setThemeLevel(level): Observable { + return this.http.post(`${this.apiURL}/controller/theme-level`, {'level': level}, httpOptions); + } + + getTheme(): Observable { + return this.http.get(`${this.apiURL}/controller/theme`, httpOptions); + } + + setTheme(theme: string): Observable { + return this.http.post(`${this.apiURL}/controller/theme`, {'theme': theme}, httpOptions); + } + blankDisplay(): Observable { return this.http.post(`${this.apiURL}/core/display`, {'display': 'blank'}, httpOptions); } diff --git a/src/app/responses.ts b/src/app/responses.ts index e8cb5ee..338f520 100644 --- a/src/app/responses.ts +++ b/src/app/responses.ts @@ -21,7 +21,7 @@ export interface Slide { html: string; tag: string; text: string; - chords_text: string; + chords: string; lines: string[]; first_slide_of_tag: boolean; } diff --git a/yarn.lock b/yarn.lock index 77f0923..9ff470a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1239,11 +1239,6 @@ JSONStream@^1.3.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1405,19 +1400,11 @@ append-transform@^1.0.0: dependencies: default-require-extensions "^2.0.0" -aproba@^1.0.3, aproba@^1.1.1: +aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -2303,11 +2290,6 @@ console-browserify@^1.1.0: resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -2588,11 +2570,6 @@ deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" @@ -2668,11 +2645,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -2696,11 +2668,6 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" @@ -3415,20 +3382,6 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - genfun@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" @@ -3616,11 +3569,6 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -3812,7 +3760,7 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -3919,7 +3867,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@1.3.5, ini@^1.3.4, ini@~1.3.0: +ini@1.3.5, ini@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -5077,15 +5025,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -needle@^2.2.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.1.tgz#14af48732463d7475696f937626b1b993247a56a" - integrity sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -5144,35 +5083,11 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-pre-gyp@*: - version "0.14.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83" - integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4.4.2" - node-releases@^1.1.52, node-releases@^1.1.53: version "1.1.53" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== -nopt@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.0.0, normalize-package-data@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5242,7 +5157,7 @@ npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12, npm-packlist@^1.1.6: +npm-packlist@^1.1.12: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -5289,16 +5204,6 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -5464,7 +5369,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4, osenv@^0.1.5: +osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -6073,16 +5978,6 @@ raw-loader@3.1.0: loader-utils "^1.1.0" schema-utils "^2.0.1" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -6111,7 +6006,7 @@ read-package-tree@5.3.1: readdir-scoped-modules "^1.0.0" util-promisify "^2.1.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -6354,7 +6249,7 @@ rimraf@3.0.0: dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -6449,7 +6344,7 @@ sax@0.5.x: resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" integrity sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE= -sax@>=0.6.0, sax@^1.2.4: +sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -6569,7 +6464,7 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -7021,7 +6916,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: +string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -7133,11 +7028,6 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - style-loader@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" @@ -7196,7 +7086,7 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^4.4.2, tar@^4.4.8: +tar@^4.4.8: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== @@ -7822,13 +7712,6 @@ which@^1.2.1, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"