diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cae3cf..1d55ddc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## v4.0.0 +- `HttpClientModule` has been removed from imports. +This caused some issues when external modules were imported in an application, and those modules registered their own HTTP interceptors. See [this issue](https://github.com/angular/angular/issues/20575) for reference. + +- A static `forRoot()` method has been added to the module declaration. You must now [explicitly call this method](README.md#usage) when importing `NgHttpLoaderModule` in your root application module. +This intends to avoid multiple providers instances when working with lazy modules in which you would want to import `NgHttpLoaderModule` again for any reason. + +- The default spinner is now `Spinkit.skWave` (less CPU intensive). + ## v3.2.0 `peerDependencies` section now targets `angular 7`. The module is still `angular 6` compatible, so this is not a major release. @@ -7,9 +16,9 @@ Users are still encouraged to upgrade their applications ASAP. ## v3.1.2 -Added [browserslist](https://github.com/browserslist/browserslist) support. -Some cleanup has been done in CSS files to let the CSS auto-prefixer do the job automatically regarding supported browsers. -Spinkit CSS integration has been been replaced by SCSS. +- Added [browserslist](https://github.com/browserslist/browserslist) support. +- Some cleanup has been done in CSS files to let the CSS auto-prefixer do the job automatically regarding supported browsers. +- Spinkit CSS integration has been been replaced by SCSS. ## v3.1.1 diff --git a/README.md b/README.md index 99338aa..4048fbc 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,8 @@ If you want to use Angular 5, use versions **`0.4.0`** and above. The latest compatible version with angular 5 is version [**`0.9.1`**](https://github.com/mpalourdio/ng-http-loader/tree/0.9.1). -Versions **`1.0.0+`**, **`2.0.0+`** and **`3.0.0+`** are angular 6 & 7 / RxJS 6 compatible only. +Versions **`1.0.0+`**, **`2.0.0+`** and **`3.0.0+`** are angular 6 & 7 / RxJS 6 compatible only. +Versions **`4.0.0+`** is meant to be angular 7 compatible only. If you experience errors like below, **please double check the version you use.** @@ -64,7 +65,7 @@ import { NgHttpLoaderModule } from 'ng-http-loader'; // <============ imports: [ BrowserModule, HttpClientModule, // <============ (Perform HTTP requests with this module) - NgHttpLoaderModule, // <============ + NgHttpLoaderModule.forRoot(), // <============ ], providers: [], bootstrap: [AppComponent] diff --git a/package.json b/package.json index f51cb13..821cda4 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "build": "ng build", "test": "ng test", "lint": "ng lint", - "preversion": "yarn test", + "preversion": "yarn lint && yarn test", "version": "yarn build", "postversion": "git push && git push --tags" }, @@ -36,21 +36,21 @@ "url": "https://github.com/mpalourdio/ng-http-loader/issues" }, "peerDependencies": { - "@angular/common": "~7.0.0", - "@angular/core": "~7.0.0", + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0", "rxjs": "~6.3.3" }, "devDependencies": { "@angular-devkit/build-angular": "~0.10.0", "@angular-devkit/build-ng-packagr": "~0.10.0", - "@angular/cli": "~7.0.1", - "@angular/common": "~7.0.0", - "@angular/compiler": "~7.0.0", - "@angular/compiler-cli": "~7.0.0", - "@angular/core": "~7.0.0", - "@angular/language-service": "~7.0.0", - "@angular/platform-browser": "~7.0.0", - "@angular/platform-browser-dynamic": "~7.0.0", + "@angular/cli": "~7.0.5", + "@angular/common": "^7.0.0", + "@angular/compiler": "^7.0.0", + "@angular/compiler-cli": "^7.0.0", + "@angular/core": "^7.0.0", + "@angular/language-service": "^7.0.0", + "@angular/platform-browser": "^7.0.0", + "@angular/platform-browser-dynamic": "^7.0.0", "@types/jasmine": "~2.8.8", "@types/jasminewd2": "~2.0.3", "@types/node": "~8.9.4", @@ -68,7 +68,7 @@ "ng-packagr": "^4.2.0", "rxjs": "~6.3.3", "ts-node": "~7.0.0", - "tsickle": ">=0.29.0", + "tsickle": ">=0.34.0", "tslib": "^1.9.0", "tslint": "~5.11.0", "typescript": "~3.1.6", diff --git a/src/lib/components/ng-http-loader.component.ts b/src/lib/components/ng-http-loader.component.ts index 2961073..7236d88 100644 --- a/src/lib/components/ng-http-loader.component.ts +++ b/src/lib/components/ng-http-loader.component.ts @@ -23,12 +23,12 @@ export class NgHttpLoaderComponent implements OnDestroy, OnInit { public isSpinnerVisible: boolean; public spinkit = Spinkit; private subscriptions: Subscription; - private visibleUntil: number = Date.now(); + private visibleUntil = Date.now(); @Input() public backgroundColor: string; @Input() - public spinner = Spinkit.skCubeGrid; + public spinner = Spinkit.skWave; @Input() public filteredUrlPatterns: string[] = []; @Input() diff --git a/src/lib/ng-http-loader.module.ts b/src/lib/ng-http-loader.module.ts index ed59a4e..8557756 100644 --- a/src/lib/ng-http-loader.module.ts +++ b/src/lib/ng-http-loader.module.ts @@ -8,8 +8,7 @@ */ import { CommonModule } from '@angular/common'; -import { HttpClientModule } from '@angular/common/http'; -import { NgModule } from '@angular/core'; +import { ModuleWithProviders, NgModule } from '@angular/core'; import { NgHttpLoaderComponent } from './components/ng-http-loader.component'; import { PendingInterceptorServiceInterceptor } from './services/pending-interceptor.service'; import { SPINKIT_COMPONENTS } from './spinkits'; @@ -21,15 +20,19 @@ import { SPINKIT_COMPONENTS } from './spinkits'; ], imports: [ CommonModule, - HttpClientModule, ], exports: [ NgHttpLoaderComponent, ...SPINKIT_COMPONENTS, ], - providers: [ - PendingInterceptorServiceInterceptor, - ] }) export class NgHttpLoaderModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: NgHttpLoaderModule, + providers: [ + PendingInterceptorServiceInterceptor, + ] + }; + } } diff --git a/src/lib/services/pending-interceptor.service.ts b/src/lib/services/pending-interceptor.service.ts index 4cc13a0..8205948 100644 --- a/src/lib/services/pending-interceptor.service.ts +++ b/src/lib/services/pending-interceptor.service.ts @@ -7,7 +7,14 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -import { HTTP_INTERCEPTORS, HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; +import { + HTTP_INTERCEPTORS, + HttpErrorResponse, + HttpEvent, + HttpHandler, + HttpInterceptor, + HttpRequest +} from '@angular/common/http'; import { ExistingProvider, Injectable } from '@angular/core'; import { Observable, ReplaySubject, throwError } from 'rxjs'; import { catchError, finalize, map } from 'rxjs/operators'; diff --git a/src/lib/services/spinner-visibility.service.ts b/src/lib/services/spinner-visibility.service.ts index a8202c1..ba8e282 100644 --- a/src/lib/services/spinner-visibility.service.ts +++ b/src/lib/services/spinner-visibility.service.ts @@ -15,7 +15,7 @@ import { PendingInterceptorService } from './pending-interceptor.service'; providedIn: 'root' }) export class SpinnerVisibilityService { - private _visibilitySubject: ReplaySubject = new ReplaySubject(1); + private _visibilitySubject = new ReplaySubject(1); constructor(private pendingInterceptorService: PendingInterceptorService) { } diff --git a/src/test/components/ng-http-loader.component.spec.ts b/src/test/components/ng-http-loader.component.spec.ts index 21d5577..98df4d0 100644 --- a/src/test/components/ng-http-loader.component.spec.ts +++ b/src/test/components/ng-http-loader.component.spec.ts @@ -52,10 +52,10 @@ describe('NgHttpLoaderComponent', () => { const element = fixture .debugElement - .query(By.css('.sk-cube-grid')) + .query(By.css('.sk-wave')) .nativeElement; - expect(element.className).toBe('sk-cube-grid colored'); + expect(element.className).toBe('sk-wave colored'); }); it('should destroy ng-http-loader as a view dependency without error', () => { @@ -78,10 +78,10 @@ describe('NgHttpLoaderComponent', () => { const element = fixture .debugElement - .query(By.css('.sk-cube-grid')) + .query(By.css('.sk-wave')) .nativeElement; - expect(element.className).toBe('sk-cube-grid'); + expect(element.className).toBe('sk-wave'); }); it('should not display anything by default', () => { @@ -112,7 +112,7 @@ describe('NgHttpLoaderComponent', () => { const element = fixture .debugElement - .query(By.css('.sk-cube.sk-cube1')) + .query(By.css('.sk-rect.sk-rect1')) .nativeElement; expect(element.style['background-color']).toBe('rgb(255, 0, 0)'); diff --git a/src/test/ng-http-loader.module.spec.ts b/src/test/ng-http-loader.module.spec.ts index ff2551f..2e0c5cd 100644 --- a/src/test/ng-http-loader.module.spec.ts +++ b/src/test/ng-http-loader.module.spec.ts @@ -19,4 +19,9 @@ describe('NgHttpLoaderModule', () => { it('should create an instance', () => { expect(ngHttpLoaderModule).toBeTruthy(); }); + + it('should work with forRoot', () => { + const moduleWithProviders = NgHttpLoaderModule.forRoot(); + expect(moduleWithProviders).toBeTruthy(); + }); }); diff --git a/src/test/services/pending-interceptor.service.spec.ts b/src/test/services/pending-interceptor.service.spec.ts index 7d43b7a..568c312 100644 --- a/src/test/services/pending-interceptor.service.spec.ts +++ b/src/test/services/pending-interceptor.service.spec.ts @@ -11,7 +11,10 @@ import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { async, inject, TestBed } from '@angular/core/testing'; import { forkJoin, Observable } from 'rxjs'; -import { PendingInterceptorService, PendingInterceptorServiceInterceptor } from '../../lib/services/pending-interceptor.service'; +import { + PendingInterceptorService, + PendingInterceptorServiceInterceptor +} from '../../lib/services/pending-interceptor.service'; describe('PendingInterceptorService', () => { diff --git a/yarn.lock b/yarn.lock index ce4a499..ff2bf30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,7 +112,7 @@ "@angular-devkit/core" "7.0.6" rxjs "6.3.3" -"@angular/cli@~7.0.1": +"@angular/cli@~7.0.5": version "7.0.6" resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-7.0.6.tgz#f97bc9ca92785c7ce2e5f20819c48265a1da5b53" integrity sha512-f76kq8AQMkloeojIffeT7DYLXT/J4DRhYoAPQR4E09V7lkigFCILiYzQs5RtCAX6EjlPxlrZKkdfnBn0OUPnig== @@ -128,17 +128,17 @@ semver "5.5.1" symbol-observable "1.2.0" -"@angular/common@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.0.4.tgz#aafb26ce59c967daa5b122393e1933208a247f72" - integrity sha512-akQojdqY/RBlItkDWAPI3k0Llk1wnbAp+f47yySi3cgQz9SaZ1/RLNWZV84I/cKrksb4ehorT/lTqRBojsAD1A== +"@angular/common@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-7.1.0.tgz#89b0a34fd8f2a323704369551be4ac7491dda0b7" + integrity sha512-tu6Hv3/z3K2NLD4ndBioGtcykhbwhMJYUWb0NvaOLhaVYColWKPFpkflEorDWB+3/IWkpELGhA/HQ2zQh7EVyg== dependencies: tslib "^1.9.0" -"@angular/compiler-cli@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.0.4.tgz#f96fc1c0aec27ee97ec5f13a8eb72bc8b964db97" - integrity sha512-kvhWt6OTb1Uduns9Vm+Dwd/UUBNSEU6Jgu+QOPeHr7lg+4NTyr9uQLU0DtfBP0ljOlds8esmfii5IIFTeUQw1Q== +"@angular/compiler-cli@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-7.1.0.tgz#b02b2f94b9510caadc2b16bf1f97aa41d21a3ce2" + integrity sha512-Q42B3YmjMNYWTxTWfyDDFa6HSVqwY3rZO5Kp3Q/NKhQ6w/WddduxjARf/OCbtp0bVX3wZNObS6nO4H65rNCtsw== dependencies: canonical-path "1.0.0" chokidar "^1.4.2" @@ -152,36 +152,36 @@ tslib "^1.9.0" yargs "9.0.1" -"@angular/compiler@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.0.4.tgz#df91dab990c46b464705b0901d70d1cfdfd190e1" - integrity sha512-ExDhH1cJkuJkUsgNRZyZBse0a7wWkQyG5O8HONi3Rzig9dalFEuve9jD04zfA1Jx1GTXhovqtGnF72x4kw0V8Q== +"@angular/compiler@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-7.1.0.tgz#3455eeb575d0b9b68a099b5781d3cce78468146a" + integrity sha512-1Hjx6e+lVXZyXFFe4OW34ZpiaGEYyB1MQ7k2C+cMm0ABMQS3LsWT4DYhY7bk0mmMuuXQj66C62MX76ladDtdIg== dependencies: tslib "^1.9.0" -"@angular/core@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.0.4.tgz#98340a1bdb53f0bbecfcfc9831a7a22a1540d79b" - integrity sha512-17SSmCz1wQoZKnVHF/T8UkWYPpDm5kPyoc1okkTTv8ZA2EAMMuZFFnRSAxEL5i7mNB9z5CvRqF2tRx/DbgbIRA== +"@angular/core@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-7.1.0.tgz#a55fbbc28b2c9da767121f433733683780266eb3" + integrity sha512-7mMoWuf8jAf4hcjQ0Exz2w9Qx9SRwNuDdtEZFGWH9dZWz5uPCewrN+Kt9MigMfSYGEdLAPcRMIuvFHDCS8B3Hg== dependencies: tslib "^1.9.0" -"@angular/language-service@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-7.0.4.tgz#db221f183725ff54c1188aec7acb2948e29f4c50" - integrity sha512-CuJ2Ii97sNoN1HOZOLxG1lEHsQFi8K/RSB/k2suWPKzdM53ldSkKoYRac38zW/uqNABYItgvxb7w0Vi7HhxLsg== +"@angular/language-service@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-7.1.0.tgz#148e2f9714a6f4bd9d00a7b532b60c21cd947651" + integrity sha512-dgYCD4Kw6j14hPykprSkMJNCo05dKu+JroMR84/PA/J+weN39nAUj4+/TV4oElbRK2Mr/xtHzSkb259y3Rwm/Q== -"@angular/platform-browser-dynamic@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.4.tgz#69abb8c784bb71a660a0c824ca4a1a4960811a33" - integrity sha512-k1I53zIg8YWhtQizLfq/tWrUUdY5vHV8pGHyt0/UTGDqat5TORd6LDFfzCSux0r3qZujCOGNi9f4/AbyV8B9lw== +"@angular/platform-browser-dynamic@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.1.0.tgz#c7d07f6b1c08fa12c54b4e310da930da613c7e6e" + integrity sha512-0yG6e/ZOI9LNUGgSjJ7xUWZhC41z87klO0oEHhEzQeaDxO/SOBasbMiws4ETuhulMgOR81UCAVobXMoOQJbfWg== dependencies: tslib "^1.9.0" -"@angular/platform-browser@~7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.0.4.tgz#57dfaa23f8a3d678bad6ca110051e3ac6622ff3d" - integrity sha512-4brYZZgsCJk1/a6JoSwaiVWO9+/T4iyE27dAgstao1nOf/jrBNKW2HnZtkWZmCCBK0WIk15wlB0Xr87OZbjNVA== +"@angular/platform-browser@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-7.1.0.tgz#0d40fed536a08d66ea580f6c4d2976310d559111" + integrity sha512-kCrmaNZukWaXk6qlvzyE1Dln/YB2XOGbhb9e+y3NE94beCgDTWseKViMevIoGm/H+Lzf0I2RPg8GMKkQ7pQwNQ== dependencies: tslib "^1.9.0" @@ -315,10 +315,15 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/jasmine@*", "@types/jasmine@~2.8.8": - version "2.8.11" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.11.tgz#0b5eba9e02616736b1a189112eacc163c3773b7b" - integrity sha512-ITPYT5rkV9S0BcucyBwXIUzqzSODVhvAzhOGV0bwZMuqWJeU0Kfdd6IJeJjGI8Gob+lDyAtKaWUfhG6QXJIPRg== +"@types/jasmine@*": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.3.0.tgz#6b0e4b0192367d77e438ff660ccc4487c9602e7b" + integrity sha512-0VU8WsYEOYmoxVtUuafB66/+9G8gMdGAC3dhCE/CMpjXgNIz9fwC6g41kRlNxFgpQI/uX/aWNLArNg7KmeFYvw== + +"@types/jasmine@~2.8.8": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.12.tgz#dfe606b07686c977f54d17cb8ebe6cae2e26f8ff" + integrity sha512-eE+xeiGBPgQsNcyg61JBqQS6NtxC+s2yfOikMCnc0Z4NqKujzmSahmtjLCKVQU/AyrTEQ76TOwQBnr8wGP2bmA== "@types/jasminewd2@~2.0.3": version "2.0.6" @@ -328,9 +333,9 @@ "@types/jasmine" "*" "@types/node@*": - version "10.12.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.9.tgz#a07bfa74331471e1dc22a47eb72026843f7b95c8" - integrity sha512-eajkMXG812/w3w4a1OcBlaTwsFPO5F7fJ/amy+tieQxEMWBlbV1JGSjkFM+zkHNf81Cad+dfIRA+IBkvmvdAeA== + version "10.12.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.10.tgz#4fa76e6598b7de3f0cb6ec3abacc4f59e5b3a2ce" + integrity sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w== "@types/node@~8.9.4": version "8.9.5" @@ -1321,9 +1326,9 @@ camelcase@^4.0.0, camelcase@^4.1.0: integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= caniuse-lite@^1.0.30000884, caniuse-lite@^1.0.30000898, caniuse-lite@^1.0.30000899: - version "1.0.30000907" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz#0b9899bde53fb1c30e214fb12402361e02ff5c42" - integrity sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ== + version "1.0.30000910" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000910.tgz#755d5181d4b006e5a2b59b1ffa05d0a0470039f5" + integrity sha512-u/nxtHGAzCGZzIxt3dA/tpSPOcirBZFWKwz1EPz4aaupnBI2XR0Rbr74g0zc6Hzy41OEM4uMoZ38k56TpYAWjQ== canonical-path@1.0.0: version "1.0.0" @@ -2726,9 +2731,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.0.4" follow-redirects@^1.0.0: - version "1.5.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.9.tgz#c9ed9d748b814a39535716e531b9196a845d89c6" - integrity sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w== + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== dependencies: debug "=3.1.0" @@ -4277,12 +4282,12 @@ lru-cache@2.2.x: integrity sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0= lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" - integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== + version "4.1.4" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.4.tgz#51cc46e8e6d9530771c857e24ccc720ecdbcc031" + integrity sha512-EPstzZ23znHUVLKj+lcXO1KvZkrlw+ZirdwvOmnAnA/1PB4ggyXJ77LRkCqkff+ShQ+cqoxCxLQOh4cKITO5iA== dependencies: pseudomap "^1.0.2" - yallist "^2.1.2" + yallist "^3.0.2" magic-string@^0.25.0, magic-string@^0.25.1: version "0.25.1" @@ -4778,9 +4783,9 @@ node-pre-gyp@^0.10.0: tar "^4" node-releases@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.3.tgz#3414ed84595096459c251699bfcb47d88324a9e4" - integrity sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.4.tgz#2d585de8c6c81d00017e063e7810a63889aa6756" + integrity sha512-GqRV9GcHw8JCRDaP/JoeNMNzEGzHAknMvIHqMb2VeTOmg1Cf9+ej8bkV12tHfzWHQMCkQ5zUFgwFUkfraynNCw== dependencies: semver "^5.3.0" @@ -5459,7 +5464,7 @@ postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.1: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss@7.0.5, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.5: +postcss@7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.5.tgz#70e6443e36a6d520b0fd4e7593fcca3635ee9f55" integrity sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ== @@ -5468,6 +5473,15 @@ postcss@7.0.5, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.5: source-map "^0.6.1" supports-color "^5.5.0" +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.5: + version "7.0.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.6.tgz#6dcaa1e999cdd4a255dcd7d4d9547f4ca010cdc2" + integrity sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.5.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -6508,9 +6522,9 @@ source-map@~0.2.0: amdefine ">=0.0.4" sourcemap-codec@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz#0ba615b73ec35112f63c2f2d9e7c3f87282b0e33" - integrity sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA== + version "1.4.4" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f" + integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg== spdx-correct@^3.0.0: version "3.0.2" @@ -6864,9 +6878,9 @@ terser-webpack-plugin@1.1.0: worker-farm "^1.5.2" terser@^3.8.1: - version "3.10.11" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.11.tgz#e063da74b194dde9faf0a561f3a438c549d2da3f" - integrity sha512-iruZ7j14oBbRYJC5cP0/vTU7YOWjN+J1ZskEGoF78tFzXdkK2hbCL/3TRZN8XB+MuvFhvOHMp7WkOCBO4VEL5g== + version "3.10.12" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.12.tgz#06d40765e40b33fd97977c0896c75b2b5d42142d" + integrity sha512-3ODPC1eVt25EVNb04s/PkHxOmzKBQUF6bwwuR6h2DbEF8/j265Y1UkwNtOk9am/pRxfJ5HPapOlUlO6c16mKQQ== dependencies: commander "~2.17.1" source-map "~0.6.1" @@ -7005,10 +7019,10 @@ ts-node@~7.0.0: source-map-support "^0.5.6" yn "^2.0.0" -tsickle@>=0.29.0: - version "0.33.1" - resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.33.1.tgz#eee4ebabeda3bcd8afc32cee34c822cbe3e839ec" - integrity sha512-SpW2G3PvDGs4a5sMXPlWnCWHWRviWjSlI3U0734e3fU3U39VAE0NPr8M3W1cuL/OU/YXheYipGeEwtIJ5k0NHQ== +tsickle@>=0.34.0: + version "0.34.0" + resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.0.tgz#10187fa6401a288a65efb93a60bf28b2ff95f90b" + integrity sha512-O3wCPRtL18Hc/ZBnaiKwmmjVzeCWTOTpsi0btfC7FWL3RnXpxLPxD6hoJ0QEXuSfG/0QJk+MWNjqT9N6fOyyIg== dependencies: minimist "^1.2.0" mkdirp "^0.5.1" @@ -7604,15 +7618,10 @@ y18n@^3.2.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - yallist@^3.0.0, yallist@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" - integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== yargs-parser@^10.1.0: version "10.1.0"