diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 1694a968..762e0817 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { HomeComponent } from './core/components/home/home.component'; +import { PollService } from './core/services/poll.service'; import { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component'; const routes: Routes = [ @@ -10,20 +11,24 @@ const routes: Routes = [ path: 'administration', loadChildren: () => import('./features/administration/administration.module').then((m) => m.AdministrationModule), + resolve: { poll: PollService }, }, { path: 'consultation', loadChildren: () => import('./features/consultation/consultation.module').then((m) => m.ConsultationModule), + resolve: { poll: PollService }, }, { path: 'participation', loadChildren: () => import('./features/participation/participation.module').then((m) => m.ParticipationModule), + resolve: { poll: PollService }, }, { path: 'oldstuff', loadChildren: () => import('./features/old-stuff/old-stuff.module').then((m) => m.OldStuffModule), }, { path: '**', component: PageNotFoundComponent }, + { path: 'page-not-found', component: PageNotFoundComponent }, ]; @NgModule({ diff --git a/src/app/core/components/sibebar/navigation/navigation.component.html b/src/app/core/components/sibebar/navigation/navigation.component.html index e09ae2c6..d07d1d9e 100644 --- a/src/app/core/components/sibebar/navigation/navigation.component.html +++ b/src/app/core/components/sibebar/navigation/navigation.component.html @@ -2,6 +2,9 @@ - - - - - - - - -
-
- -
-
-
-
+
+
+ +
+
diff --git a/src/app/features/administration/administration.component.ts b/src/app/features/administration/administration.component.ts index 76a22d3e..bc1ce942 100644 --- a/src/app/features/administration/administration.component.ts +++ b/src/app/features/administration/administration.component.ts @@ -1,11 +1,9 @@ -import { Component, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { Subscription } from 'rxjs'; import { Poll } from '../../core/models/poll.model'; -import { LoaderService } from '../../core/services/loader.service'; import { ModalService } from '../../core/services/modal.service'; -import { PollService } from '../../core/services/poll.service'; -import { UrlService } from '../../core/services/url.service'; import { UserService } from '../../core/services/user.service'; import { SettingsComponent } from '../../shared/components/settings/settings.component'; @@ -14,22 +12,26 @@ import { SettingsComponent } from '../../shared/components/settings/settings.com templateUrl: './administration.component.html', styleUrls: ['./administration.component.scss'], }) -export class AdministrationComponent implements OnInit { - public _isLoading: Observable = this.loaderService.isLoading; - public _poll: Observable = this.pollService.poll; +export class AdministrationComponent implements OnInit, OnDestroy { + public poll: Poll; + private routeSubscription: Subscription; - constructor( - private urlService: UrlService, - private loaderService: LoaderService, - private pollService: PollService, - private userService: UserService, - private modalService: ModalService - ) {} + constructor(private route: ActivatedRoute, private userService: UserService, private modalService: ModalService) {} ngOnInit(): void { if (!this.userService.isCurrentUserIdentifiable()) { this.modalService.openModal(SettingsComponent); } - this.urlService.loadPollFromUrl(); + this.routeSubscription = this.route.data.subscribe((data: { poll: Poll }) => { + if (data.poll) { + this.poll = data.poll; + } + }); + } + + ngOnDestroy(): void { + if (this.routeSubscription) { + this.routeSubscription.unsubscribe(); + } } } diff --git a/src/app/features/consultation/consultation.component.html b/src/app/features/consultation/consultation.component.html index 9b333b62..7675e8fa 100644 --- a/src/app/features/consultation/consultation.component.html +++ b/src/app/features/consultation/consultation.component.html @@ -4,55 +4,42 @@ - - - - - - - - -
-
-
-
-

{{ poll.question }}

-

author : {{ poll.owner.pseudo }}

-
-
-
-

{{ poll.description }}

-
- - -
- - -
+
+ +
+
+ +
+
diff --git a/src/app/features/consultation/consultation.component.ts b/src/app/features/consultation/consultation.component.ts index 3f0f4b37..854bda41 100644 --- a/src/app/features/consultation/consultation.component.ts +++ b/src/app/features/consultation/consultation.component.ts @@ -1,12 +1,10 @@ -import { Component, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Subscription } from 'rxjs'; import { Configuration } from '../../core/models/configuration.model'; import { Poll } from '../../core/models/poll.model'; -import { LoaderService } from '../../core/services/loader.service'; import { ModalService } from '../../core/services/modal.service'; -import { PollService } from '../../core/services/poll.service'; -import { UrlService } from '../../core/services/url.service'; import { UserService } from '../../core/services/user.service'; import { SettingsComponent } from '../../shared/components/settings/settings.component'; @@ -15,15 +13,15 @@ import { SettingsComponent } from '../../shared/components/settings/settings.com templateUrl: './consultation.component.html', styleUrls: ['./consultation.component.scss'], }) -export class ConsultationComponent implements OnInit { - public _isLoading: Observable = this.loaderService.isLoading; - public _poll: Observable = this.pollService.poll; +export class ConsultationComponent implements OnInit, OnDestroy { public isCompactMode = true; + public poll: Poll; + public isArchived: boolean; + private routeSubscription: Subscription; constructor( - private urlService: UrlService, - private loaderService: LoaderService, - private pollService: PollService, + private router: Router, + private activatedRoute: ActivatedRoute, private userService: UserService, private modalService: ModalService ) {} @@ -32,10 +30,19 @@ export class ConsultationComponent implements OnInit { if (!this.userService.isCurrentUserIdentifiable()) { this.modalService.openModal(SettingsComponent); } - this.urlService.loadPollFromUrl(); + this.routeSubscription = this.activatedRoute.data.subscribe((data: { poll: Poll }) => { + if (data.poll) { + this.poll = data.poll; + this.isArchived = Configuration.isArchived(data.poll.configuration); + } else { + this.router.navigate(['/page-not-found']); + } + }); } - public isArchived(poll: Poll): boolean { - return Configuration.isArchived(poll.configuration); + ngOnDestroy(): void { + if (this.routeSubscription) { + this.routeSubscription.unsubscribe(); + } } } diff --git a/src/app/features/participation/participation.component.html b/src/app/features/participation/participation.component.html index 61b60fbc..09b7ba7e 100644 --- a/src/app/features/participation/participation.component.html +++ b/src/app/features/participation/participation.component.html @@ -4,28 +4,20 @@
- +
+
+ +
+
- - - - +
+
+ +
+
- -
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
+
+
+ +
+
diff --git a/src/app/features/participation/participation.component.ts b/src/app/features/participation/participation.component.ts index e645072f..84806981 100644 --- a/src/app/features/participation/participation.component.ts +++ b/src/app/features/participation/participation.component.ts @@ -1,12 +1,10 @@ -import { Component, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable, Subscription } from 'rxjs'; import { Poll } from '../../core/models/poll.model'; import { User } from '../../core/models/user.model'; -import { LoaderService } from '../../core/services/loader.service'; import { ModalService } from '../../core/services/modal.service'; -import { PollService } from '../../core/services/poll.service'; -import { UrlService } from '../../core/services/url.service'; import { UserService } from '../../core/services/user.service'; import { SettingsComponent } from '../../shared/components/settings/settings.component'; @@ -15,15 +13,14 @@ import { SettingsComponent } from '../../shared/components/settings/settings.com templateUrl: './participation.component.html', styleUrls: ['./participation.component.scss'], }) -export class ParticipationComponent implements OnInit { - public _isLoading: Observable = this.loaderService.isLoading; - public _poll: Observable = this.pollService.poll; +export class ParticipationComponent implements OnInit, OnDestroy { + public poll: Poll; public _user: Observable = this.userService.user; + private routeSubscription: Subscription; constructor( - private urlService: UrlService, - private loaderService: LoaderService, - private pollService: PollService, + private router: Router, + private activatedRoute: ActivatedRoute, private userService: UserService, private modalService: ModalService ) {} @@ -32,6 +29,18 @@ export class ParticipationComponent implements OnInit { if (!this.userService.isCurrentUserIdentifiable()) { this.modalService.openModal(SettingsComponent); } - this.urlService.loadPollFromUrl(); + this.routeSubscription = this.activatedRoute.data.subscribe((data: { poll: Poll }) => { + if (data.poll) { + this.poll = data.poll; + } else { + this.router.navigate(['/page-not-found']); + } + }); + } + + ngOnDestroy(): void { + if (this.routeSubscription) { + this.routeSubscription.unsubscribe(); + } } } diff --git a/yarn.lock b/yarn.lock index f00dc120..769f46d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,29 +12,29 @@ jest-preset-angular "^8.1.2" lodash "^4.17.10" -"@angular-devkit/architect@0.901.8", "@angular-devkit/architect@>=0.900.0 < 0.1000.0": - version "0.901.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.901.8.tgz#d2f5f4c16fba3ed61ee27c7fc72118421ea2b45d" - integrity sha512-tK9ZQlubH6n+q+c2J9Wvfcxg3RFuRiTfJriNoodo6GHvtF2KLdPY67w3Gen0Sp172A5Q8Y927NseddNI8RZ/0A== +"@angular-devkit/architect@0.901.9", "@angular-devkit/architect@>=0.900.0 < 0.1000.0": + version "0.901.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.901.9.tgz#5d849a120449b2f91ec6eef44ddad74ffb7ad810" + integrity sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA== dependencies: - "@angular-devkit/core" "9.1.8" + "@angular-devkit/core" "9.1.9" rxjs "6.5.4" "@angular-devkit/build-angular@^0.901.2": - version "0.901.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.901.8.tgz#6450be4743dacf564af143c85d2a03b7bdd81551" - integrity sha512-W2RTjtPPJRbke6K7Qt9eZOPRGfFBFsYzskxsuxXwkW2RPopj6k1wUWh9Be8CtAMAUlhyPvlzviOtv3F7leYr3w== + version "0.901.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.901.9.tgz#a60c41497e69d663cf2c74778cc72dd262cc09a1" + integrity sha512-eC6iZQR5tr9dz/SkR3/3Y8Fau/2IzEfHlFCf2mqsOLkbc0MWyM/3RcuZQhRGdVOyzDCIbfzJGY0N3ejkEn2EUg== dependencies: - "@angular-devkit/architect" "0.901.8" - "@angular-devkit/build-optimizer" "0.901.8" - "@angular-devkit/build-webpack" "0.901.8" - "@angular-devkit/core" "9.1.8" + "@angular-devkit/architect" "0.901.9" + "@angular-devkit/build-optimizer" "0.901.9" + "@angular-devkit/build-webpack" "0.901.9" + "@angular-devkit/core" "9.1.9" "@babel/core" "7.9.0" "@babel/generator" "7.9.3" "@babel/preset-env" "7.9.0" "@babel/template" "7.8.6" "@jsdevtools/coverage-istanbul-loader" "3.0.3" - "@ngtools/webpack" "9.1.8" + "@ngtools/webpack" "9.1.9" ajv "6.12.0" autoprefixer "9.7.4" babel-loader "8.0.6" @@ -77,7 +77,7 @@ stylus "0.54.7" stylus-loader "3.0.2" terser "4.6.10" - terser-webpack-plugin "2.3.5" + terser-webpack-plugin "3.0.3" tree-kill "1.2.2" webpack "4.42.0" webpack-dev-middleware "3.7.2" @@ -87,10 +87,10 @@ webpack-subresource-integrity "1.4.0" worker-plugin "4.0.3" -"@angular-devkit/build-optimizer@0.901.8": - version "0.901.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.901.8.tgz#55a6cecf9b963bac15f84b5db8ec211c82119954" - integrity sha512-k9DynuWKMsJk5xg+LthdsqmOlGVMVP/TEu2odiVty9gnTVlIjs1bUzs+HNAF/w11juIBcVKa690K+FkSCalo9w== +"@angular-devkit/build-optimizer@0.901.9": + version "0.901.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz#c8018de2406c8bbf32bf74cdacd6fa1df384a8d0" + integrity sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ== dependencies: loader-utils "2.0.0" source-map "0.7.3" @@ -98,19 +98,19 @@ typescript "3.6.5" webpack-sources "1.4.3" -"@angular-devkit/build-webpack@0.901.8": - version "0.901.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.901.8.tgz#19fbac49c3f60c16d6814d61e518431503ab746a" - integrity sha512-OyLfPI0yo1Qg4I1QP8ZxEYVxrf3IDjGfpxlKXqSChpEy5m/uZmBIRDZ/n/G3+32xFc6MWEdU4EHfRrfn17ae/w== +"@angular-devkit/build-webpack@0.901.9": + version "0.901.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.901.9.tgz#19e783950b2f22ceaa0c33b07552bd225dcd412b" + integrity sha512-Bha9LruitixhtJm72FGzqfDfgsOsrMT3EbNSql2muyoELIYbLDOvNZjcDD06CPcOAWSg6/tH9caOTFS2Zj9yOw== dependencies: - "@angular-devkit/architect" "0.901.8" - "@angular-devkit/core" "9.1.8" + "@angular-devkit/architect" "0.901.9" + "@angular-devkit/core" "9.1.9" rxjs "6.5.4" -"@angular-devkit/core@9.1.8", "@angular-devkit/core@^9.0.0": - version "9.1.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.1.8.tgz#7c517a14e3ddfd180858972d9f1836aa90a1248e" - integrity sha512-4k1pZwje2oh5c/ULg7pnCBzTstx3l3uF7O5tQq/KXomDDsam97IhLm6cKUqQpaoyC1NUsBV6xJARJ0PyUP5TPQ== +"@angular-devkit/core@9.1.9", "@angular-devkit/core@^9.0.0": + version "9.1.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.1.9.tgz#e6283912093179313ccfc69856841e9b6b318231" + integrity sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q== dependencies: ajv "6.12.0" fast-json-stable-stringify "2.1.0" @@ -118,12 +118,12 @@ rxjs "6.5.4" source-map "0.7.3" -"@angular-devkit/schematics@9.1.8": - version "9.1.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-9.1.8.tgz#8eeea0b6f9702a5b065f909cdcaf1d35cc8e2fa3" - integrity sha512-/8L5J4X6SkcFMRmrSQHvJWOPilrMWTNlv1lD+1z06D3xGJEktVxXM3gCUXhDrbMvpoi+lYtR2Fuia0E6zvyjCQ== +"@angular-devkit/schematics@9.1.9": + version "9.1.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-9.1.9.tgz#1369ee586cb91ffebf12673bb839d31ad5c00357" + integrity sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg== dependencies: - "@angular-devkit/core" "9.1.8" + "@angular-devkit/core" "9.1.9" ora "4.0.3" rxjs "6.5.4" @@ -140,15 +140,15 @@ parse5 "^5.0.0" "@angular/cli@^9.1.2": - version "9.1.8" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-9.1.8.tgz#fd143e26c913ccea5b8ac1716e1c168432ac96d3" - integrity sha512-yfF7glPo3Xm7fTJVln1bFZVXqHu8wkIGZRZGb6lsJa+QH4ePxHgn+dNYXho0MYpGUnhY7xOBW4MJzjS7E+1y5Q== + version "9.1.9" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-9.1.9.tgz#e9caced7c107c65075fe1b4c42a4712a5aeb992c" + integrity sha512-k8C0OY3oHoixd3buCgF8+VFe8YZGSGiprnbVMEF2WJHUUw87lPCu/d7dbID3AtVwdKdAB275rAt6IZEIzXInbw== dependencies: - "@angular-devkit/architect" "0.901.8" - "@angular-devkit/core" "9.1.8" - "@angular-devkit/schematics" "9.1.8" - "@schematics/angular" "9.1.8" - "@schematics/update" "0.901.8" + "@angular-devkit/architect" "0.901.9" + "@angular-devkit/core" "9.1.9" + "@angular-devkit/schematics" "9.1.9" + "@schematics/angular" "9.1.9" + "@schematics/update" "0.901.9" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.1.1" @@ -1501,12 +1501,12 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@ngtools/webpack@9.1.8": - version "9.1.8" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-9.1.8.tgz#50a906047b284098e5cd669e8174c9cfcaf3bafc" - integrity sha512-2Y27PrHLMyrIDmuicjp2OU7KIr9bggwMLNZdjfpcuXlOPP/BYviuhgkkYsfJysrpDRUJUHlXRJG7OJbgyFM7gQ== +"@ngtools/webpack@9.1.9": + version "9.1.9" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-9.1.9.tgz#2098afd6f1f028238468262df2ad10afa81b82a5" + integrity sha512-7UzRL54JcK1m2PvgpchV26TF9OYipj/8+dygdjaidqOyQujWpHncdtq/ScbUsoJ44nHjIRJPhaGE00NLpWZvnA== dependencies: - "@angular-devkit/core" "9.1.8" + "@angular-devkit/core" "9.1.9" enhanced-resolve "4.1.1" rxjs "6.5.4" webpack-sources "1.4.3" @@ -1554,21 +1554,21 @@ dependencies: mkdirp "^1.0.4" -"@schematics/angular@9.1.8": - version "9.1.8" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-9.1.8.tgz#da6cd63b65776b18c43d8515bfca754dd9acdbc9" - integrity sha512-fjyAP9m4aF51OVdksRXCOF8BTyt96PqFmKK9G0kuwOzgfx2gPZNOO3wOZH6xFAMZ09y86VGzasZxZNeDdyN4sQ== +"@schematics/angular@9.1.9": + version "9.1.9" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-9.1.9.tgz#df9f30dd7b63856121fbb9ab5dda57b443802a33" + integrity sha512-c8YGZ6pDfr8IDD1qaOjlEBAkEz14KFSxDj0hCWs0xIM0py513tu5sW8+ziYxGG4bgqpsgVR/KAxuY78iBfUVag== dependencies: - "@angular-devkit/core" "9.1.8" - "@angular-devkit/schematics" "9.1.8" + "@angular-devkit/core" "9.1.9" + "@angular-devkit/schematics" "9.1.9" -"@schematics/update@0.901.8": - version "0.901.8" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.901.8.tgz#d48be9931a2462062d4d4ac05c4b24b319bc064a" - integrity sha512-v1tEYX6yM5vuwXW7AG7OZ4OtjqRwTo3kd69LVJyOdF/d9HlqaAFU301RuEsAPwOrPqZEQdTwklH1fNJnqgpB/w== +"@schematics/update@0.901.9": + version "0.901.9" + resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.901.9.tgz#6285611910ebf8bb4078447d2ba32931595efcd4" + integrity sha512-VChX0VO/oyfCF3y+HjMTU2qN3vGgJYxEI1V+Q9aAlwl95t3GAufuaFY1CNW3YV4XkYIjD88e3yWl8d5yO4qf4w== dependencies: - "@angular-devkit/core" "9.1.8" - "@angular-devkit/schematics" "9.1.8" + "@angular-devkit/core" "9.1.9" + "@angular-devkit/schematics" "9.1.9" "@yarnpkg/lockfile" "1.1.0" ini "1.3.5" npm-package-arg "^8.0.0" @@ -2925,30 +2925,6 @@ cacache@^12.0.0, cacache@^12.0.2: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - cacache@^15.0.4: version "15.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.4.tgz#b2c23cf4ac4f5ead004fb15a0efb0a20340741f1" @@ -4374,9 +4350,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.413: - version "1.3.475" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.475.tgz#67688cc82c342f39594a412286e975eda45d8412" - integrity sha512-vcTeLpPm4+ccoYFXnepvkFt0KujdyrBU19KNEO40Pnkhta6mUi2K0Dn7NmpRcNz7BvysnSqeuIYScP003HWuYg== + version "1.3.477" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.477.tgz#7e6b931d0c1a2572101a6e9a835128c50fd49323" + integrity sha512-81p6DZ/XmHDD7O0ITJMa7ESo9bSCfE+v3Fny3MIYR0y77xmhoriu2ShNOLXcPS4eowF6dkxw6d2QqxTkS3DjBg== elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.2" @@ -5149,7 +5125,7 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-cache-dir@3.3.1, find-cache-dir@^3.2.0, find-cache-dir@^3.3.1: +find-cache-dir@3.3.1, find-cache-dir@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== @@ -5590,7 +5566,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -7056,14 +7032,6 @@ jest-worker@25.1.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^25.1.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - jest-worker@^26.0.0: version "26.0.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.0.0.tgz#4920c7714f0a96c6412464718d0c58a3df3fb066" @@ -8608,7 +8576,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.2, p-limit@^2.3.0: +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -10244,7 +10212,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5, schema-utils@^2.7.0: +schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== @@ -10361,11 +10329,6 @@ send@0.17.1, send@latest: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - serialize-javascript@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" @@ -10796,14 +10759,6 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -ssri@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" - integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - ssri@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" @@ -11203,19 +11158,19 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" - integrity sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w== +terser-webpack-plugin@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz#23bda2687b197f878a743373b9411d917adc2e45" + integrity sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw== dependencies: - cacache "^13.0.1" - find-cache-dir "^3.2.0" - jest-worker "^25.1.0" - p-limit "^2.2.2" - schema-utils "^2.6.4" - serialize-javascript "^2.1.2" + cacache "^15.0.4" + find-cache-dir "^3.3.1" + jest-worker "^26.0.0" + p-limit "^2.3.0" + schema-utils "^2.6.6" + serialize-javascript "^3.1.0" source-map "^0.6.1" - terser "^4.4.3" + terser "^4.6.13" webpack-sources "^1.4.3" terser-webpack-plugin@^1.4.3: @@ -11242,7 +11197,7 @@ terser@4.6.10: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^4.1.2, terser@^4.4.3: +terser@^4.1.2, terser@^4.6.13: version "4.8.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==