Pull request #329: RED-2846

Merge in RED/ui from RED-2846 to master

* commit '61d40c67bec00e4c597e815de4183c28432caae6': (22 commits)
  fixed overflow
  yarn lock update
  class.active instead of style.background
  reference grey background when selected
  fix pr comments
  fix rebase & reference dialog back in list component
  wip reference service instance for every annotation card
  wip has references
  ng-container in list component
  fixed some pr comments
  references service back in providers
  removed useless stuff & show button if annotation has references
  apply filters when reference is clicked
  page indicator and click event on reference
  reference cards in dialog
  show/hide dialog functionality in separate service
  separate annotation card component in list
  annotation references in template
  references dialog close button
  dialog open on button click and annotation input
  ...
This commit is contained in:
Eduard Cziszter 2022-01-27 20:45:20 +01:00
commit 93a5b55cde
28 changed files with 416 additions and 239 deletions

View File

@ -46,6 +46,7 @@ export class AnnotationWrapper {
rectangle?: boolean;
hintDictionary?: boolean;
section?: string;
reference: Array<string>;
manual?: boolean;
@ -259,6 +260,7 @@ export class AnnotationWrapper {
annotationWrapper.manual = redactionLogEntry.manual;
annotationWrapper.engines = redactionLogEntry.engines;
annotationWrapper.section = redactionLogEntry.section;
annotationWrapper.reference = redactionLogEntry.reference || [];
annotationWrapper.rectangle = redactionLogEntry.rectangle;
annotationWrapper.hasBeenResized = redactionLogEntry.hasBeenResized;
annotationWrapper.hasBeenRecategorized = redactionLogEntry.hasBeenRecategorized;

View File

@ -88,7 +88,16 @@
></iqser-circle-button>
<iqser-circle-button
(action)="annotationActionsService.forceAnnotation($event, annotations, file, annotationsChanged, false)"
(action)="annotationReferencesService.show(annotations[0])"
*ngIf="annotations[0].reference.length && !multiSelectService.isActive"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.see-references.label' | translate"
[type]="buttonType"
icon="red:reference"
></iqser-circle-button>
<iqser-circle-button
(action)="annotationActionsService.forceAnnotation($event, annotations, file, annotationsChanged)"
*ngIf="annotationPermissions.canForceRedaction"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.force-redaction.label' | translate"

View File

@ -16,6 +16,8 @@ import {
} from '../../dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component';
import { filter } from 'rxjs/operators';
import { ManualAnnotationService } from '../../../../services/manual-annotation.service';
import { AnnotationReferencesService } from '../../services/annotation-references.service';
import { MultiSelectService } from '../../services/multi-select.service';
export const AnnotationButtonTypes = {
dark: 'dark',
@ -42,6 +44,8 @@ export class AnnotationActionsComponent implements OnChanges {
constructor(
private readonly _manualAnnotationService: ManualAnnotationService,
readonly annotationActionsService: AnnotationActionsService,
readonly annotationReferencesService: AnnotationReferencesService,
readonly multiSelectService: MultiSelectService,
private readonly _permissionsService: PermissionsService,
private readonly _dossiersService: DossiersService,
private readonly _userService: UserService,

View File

@ -0,0 +1,22 @@
<div class="details">
<redaction-type-annotation-icon [annotation]="annotation" [file]="file"></redaction-type-annotation-icon>
<div class="flex-1">
<div>
<strong>{{ annotation.typeLabel | translate }}</strong>
</div>
<div *ngIf="annotation?.type !== 'manual'">
<strong>
<span>{{ annotation.descriptor | translate }}</span
>: </strong
>{{ annotation.type | humanize: false }}
</div>
<div *ngIf="annotation.shortContent && !annotation.isHint">
<strong><span translate="content"></span>: </strong>{{ annotation.shortContent }}
</div>
</div>
<div class="active-icon-marker-container">
<iqser-round-checkbox *ngIf="(multiSelectService.active$ | async) && isSelected" [active]="true"></iqser-round-checkbox>
</div>
</div>

View File

@ -0,0 +1,15 @@
.details {
display: flex;
position: relative;
font-size: 11px;
line-height: 14px;
}
.active-icon-marker-container {
min-width: 20px;
}
redaction-type-annotation-icon {
margin-top: 6px;
margin-right: 10px;
}

View File

@ -0,0 +1,18 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper';
import { File } from '@red/domain';
import { MultiSelectService } from '../../services/multi-select.service';
@Component({
selector: 'redaction-annotation-card',
templateUrl: './annotation-card.component.html',
styleUrls: ['./annotation-card.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class AnnotationCardComponent {
@Input() annotation: AnnotationWrapper;
@Input() file: File;
@Input() isSelected = false;
constructor(readonly multiSelectService: MultiSelectService) {}
}

View File

@ -0,0 +1,34 @@
<div class="content-container">
<div class="dialog references-dialog">
<div class="references-header flex">
<div class="small-label">
{{ annotationReferences.length }}
{{ (annotationReferences.length === 1 ? 'references.singular' : 'references.plural') | translate }}
</div>
<iqser-circle-button (action)="annotationReferencesService.hide()" icon="iqser:close"></iqser-circle-button>
</div>
<div class="annotations-container flex">
<div [class.active]="isSelected(annotation.id)" class="annotation-container">
<div class="annotation-card-container flex">
<redaction-annotation-card [annotation]="annotation" [file]="file"></redaction-annotation-card>
<redaction-annotation-references-page-indicator
[number]="annotation.pageNumber"
></redaction-annotation-references-page-indicator>
</div>
</div>
<div
(click)="referenceClicked.emit(reference)"
*ngFor="let reference of annotationReferences"
[class.active]="isSelected(reference.id)"
class="annotation-container"
>
<div class="annotation-card-container flex">
<redaction-annotation-card [annotation]="reference" [file]="file"></redaction-annotation-card>
<redaction-annotation-references-page-indicator
[number]="reference.pageNumber"
></redaction-annotation-references-page-indicator>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,41 @@
@use 'variables';
.references-dialog {
position: fixed;
margin: 0;
width: 280px;
max-height: 380px;
right: 370px;
top: 165px;
.references-header {
padding: 8px 8px 8px 13px;
align-items: center;
justify-content: space-between;
}
.annotations-container {
flex-direction: column;
overflow: auto;
max-height: 330px;
.annotation-container {
width: 100%;
border-top: 1px solid rgba(226, 228, 233, 0.9);
&.active {
background-color: variables.$grey-8;
}
&:not(:first-child) {
cursor: pointer;
}
.annotation-card-container {
padding: 11px 16px 16px 10px;
justify-content: space-between;
align-items: flex-start;
}
}
}
}

View File

@ -0,0 +1,30 @@
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { AnnotationReferencesService } from '../../services/annotation-references.service';
import { File } from '@red/domain';
import { FileDataModel } from '@models/file/file-data.model';
@Component({
selector: 'redaction-annotation-references-list',
templateUrl: './annotation-references-list.component.html',
styleUrls: ['./annotation-references-list.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class AnnotationReferencesListComponent implements OnChanges {
@Input() annotation: AnnotationWrapper;
@Input() file: File;
@Input() fileData: FileDataModel;
@Input() selectedAnnotations: AnnotationWrapper[];
@Output() readonly referenceClicked = new EventEmitter<AnnotationWrapper>();
annotationReferences: AnnotationWrapper[];
constructor(readonly annotationReferencesService: AnnotationReferencesService) {}
ngOnChanges(): void {
this.annotationReferences = this.fileData.allAnnotations.filter(a => this.annotation.reference.includes(a.annotationId));
}
isSelected(annotationId: string): boolean {
return this.selectedAnnotations.some(a => a.annotationId === annotationId);
}
}

View File

@ -0,0 +1,6 @@
<div class="page-number-wrapper">
<mat-icon [svgIcon]="'red:page'"></mat-icon>
<div class="text">
{{ number }}
</div>
</div>

View File

@ -0,0 +1,23 @@
.page-number-wrapper {
position: relative;
height: 30px;
mat-icon {
width: 27px;
height: 100%;
}
.text {
left: 0;
right: 0;
bottom: 0;
top: 0;
display: flex;
justify-content: center;
align-items: center;
font-size: 11px;
line-height: 11px;
position: absolute;
background: transparent;
}
}

View File

@ -0,0 +1,11 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
@Component({
selector: 'redaction-annotation-references-page-indicator',
templateUrl: './annotation-references-page-indicator.component.html',
styleUrls: ['./annotation-references-page-indicator.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class AnnotationReferencesPageIndicatorComponent {
@Input() number: number;
}

View File

@ -11,31 +11,13 @@
<div class="active-bar-marker"></div>
<div [class.removed]="annotation.isChangeLogRemoved" class="annotation">
<div [matTooltip]="annotation.content" class="details" matTooltipPosition="above">
<redaction-type-annotation-icon [annotation]="annotation" [file]="file"></redaction-type-annotation-icon>
<div class="flex-1">
<div>
<strong>{{ annotation.typeLabel | translate }}</strong>
</div>
<div *ngIf="annotation?.type !== 'manual'">
<strong>
<span>{{ annotation.descriptor | translate }}</span
>: </strong
>{{ annotation.type | humanize: false }}
</div>
<div *ngIf="annotation.shortContent && !annotation.isHint">
<strong><span translate="content"></span>: </strong>{{ annotation.shortContent }}
</div>
</div>
<div class="active-icon-marker-container">
<iqser-round-checkbox
*ngIf="(multiSelectService.active$ | async) && isSelected(annotation.annotationId)"
[active]="true"
></iqser-round-checkbox>
</div>
</div>
<redaction-annotation-card
[annotation]="annotation"
[file]="file"
[isSelected]="isSelected(annotation.annotationId)"
[matTooltip]="annotation.content"
matTooltipPosition="above"
></redaction-annotation-card>
<div class="actions-wrapper">
<div
@ -61,3 +43,13 @@
<redaction-annotation-details [annotation]="annotation"></redaction-annotation-details>
</div>
<ng-container *ngIf="annotationReferencesService.annotation$ | async as annotation">
<redaction-annotation-references-list
(referenceClicked)="referenceClicked($event)"
[annotation]="annotation"
[fileData]="fileData"
[file]="file"
[selectedAnnotations]="selectedAnnotations"
></redaction-annotation-references-list>
</ng-container>

View File

@ -16,10 +16,6 @@
min-height: 100%;
}
.active-icon-marker-container {
min-width: 20px;
}
&.active {
&:not(.lower-height) .active-bar-marker {
background-color: variables.$primary;
@ -40,11 +36,6 @@
color: variables.$grey-7;
}
.details {
display: flex;
position: relative;
}
.actions-wrapper {
display: flex;
justify-content: space-between;
@ -74,11 +65,6 @@
}
}
}
redaction-type-annotation-icon {
margin-top: 6px;
margin-right: 10px;
}
}
&:hover,

View File

@ -1,8 +1,10 @@
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef } from '@angular/core';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { HelpModeService, IqserEventTarget } from '@iqser/common-ui';
import { FilterService, HelpModeService, IqserEventTarget } from '@iqser/common-ui';
import { File } from '@red/domain';
import { MultiSelectService } from '../../services/multi-select.service';
import { AnnotationReferencesService } from '../../services/annotation-references.service';
import { FileDataModel } from '../../../../../../models/file/file-data.model';
@Component({
selector: 'redaction-annotations-list',
@ -12,6 +14,7 @@ import { MultiSelectService } from '../../services/multi-select.service';
})
export class AnnotationsListComponent implements OnChanges {
@Input() file: File;
@Input() fileData: FileDataModel;
@Input() annotations: AnnotationWrapper[];
@Input() selectedAnnotations: AnnotationWrapper[];
@Input() annotationActionsTemplate: TemplateRef<unknown>;
@ -22,7 +25,12 @@ export class AnnotationsListComponent implements OnChanges {
@Output() readonly selectAnnotations = new EventEmitter<AnnotationWrapper[]>();
@Output() readonly deselectAnnotations = new EventEmitter<AnnotationWrapper[]>();
constructor(readonly multiSelectService: MultiSelectService, readonly helpModeService: HelpModeService) {}
constructor(
readonly multiSelectService: MultiSelectService,
readonly helpModeService: HelpModeService,
readonly annotationReferencesService: AnnotationReferencesService,
private readonly _filterService: FilterService,
) {}
ngOnChanges(changes: SimpleChanges): void {
if (changes.annotations && this.annotations) {
@ -31,20 +39,27 @@ export class AnnotationsListComponent implements OnChanges {
}
annotationClicked(annotation: AnnotationWrapper, $event: MouseEvent): void {
if (($event.target as IqserEventTarget).localName === 'input') {
if (($event?.target as IqserEventTarget)?.localName === 'input') {
return;
}
this.pagesPanelActive.emit(false);
if (this.isSelected(annotation.annotationId)) {
this.deselectAnnotations.emit([annotation]);
} else {
if (this.canMultiSelect && ($event.ctrlKey || $event.metaKey) && this.selectedAnnotations.length > 0) {
if (this.canMultiSelect && ($event?.ctrlKey || $event?.metaKey) && this.selectedAnnotations.length > 0) {
this.multiSelectService.activate();
}
this.selectAnnotations.emit([annotation]);
}
}
referenceClicked(annotation: AnnotationWrapper): void {
this.annotationClicked(annotation, null);
if (this._filterService.filtersEnabled('primaryFilters')) {
this._filterService.toggleFilter('primaryFilters', annotation.superType, true);
}
}
isSelected(annotationId: string): boolean {
return !!this.selectedAnnotations?.find(a => a?.annotationId === annotationId);
}

View File

@ -203,6 +203,7 @@
[annotationActionsTemplate]="annotationActionsTemplate"
[annotations]="(displayedAnnotations$ | async)?.get(activeViewerPage)"
[canMultiSelect]="!isReadOnly"
[fileData]="fileData"
[file]="file"
[selectedAnnotations]="selectedAnnotations"
iqserHelpMode="workload-annotations-list"

View File

@ -33,6 +33,7 @@ import { ExcludedPagesService } from '../../services/excluded-pages.service';
import { MultiSelectService } from '../../services/multi-select.service';
import { DocumentInfoService } from '../../services/document-info.service';
import { SkippedService } from '../../services/skipped.service';
import { FileDataModel } from '../../../../../../models/file/file-data.model';
const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape'];
const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
@ -55,6 +56,7 @@ export class FileWorkloadComponent {
@Input() file!: File;
@Input() annotationActionsTemplate: TemplateRef<unknown>;
@Input() viewer: WebViewerInstance;
@Input() fileData: FileDataModel;
@Output() readonly shouldDeselectAnnotationsOnPageChangeChange = new EventEmitter<boolean>();
@Output() readonly selectAnnotations = new EventEmitter<AnnotationWrapper[]>();
@Output() readonly deselectAnnotations = new EventEmitter<AnnotationWrapper[]>();

View File

@ -107,6 +107,7 @@
[annotationActionsTemplate]="annotationActionsTemplate"
[annotations]="visibleAnnotations"
[dialogRef]="dialogRef"
[fileData]="fileData"
[file]="file"
[selectedAnnotations]="selectedAnnotations"
[viewer]="activeViewer"

View File

@ -49,6 +49,7 @@ import { SkippedService } from './services/skipped.service';
import { AnnotationActionsService } from './services/annotation-actions.service';
import { FilePreviewStateService } from './services/file-preview-state.service';
import { FileDataModel } from '../../../../models/file/file-data.model';
import { AnnotationReferencesService } from './services/annotation-references.service';
import Annotation = Core.Annotations.Annotation;
import PDFNet = Core.PDFNet;
@ -69,6 +70,7 @@ const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f', 'ArrowUp', 'ArrowDown'];
AnnotationActionsService,
FilePreviewStateService,
PdfViewerDataService,
AnnotationReferencesService,
],
})
export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnInit, OnDestroy, OnAttach, OnDetach {
@ -88,6 +90,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni
ready = false;
private _instance: WebViewerInstance;
private _lastPage: string;
@ViewChild('fileWorkloadComponent') private readonly _workloadComponent: FileWorkloadComponent;
@ViewChild('annotationFilterTemplate', {
read: TemplateRef,

View File

@ -19,7 +19,10 @@ import { TypeAnnotationIconComponent } from './components/type-annotation-icon/t
import { OverlayModule } from '@angular/cdk/overlay';
import { ViewSwitchComponent } from './components/view-switch/view-switch.component';
import { UserManagementComponent } from './components/user-management/user-management.component';
import { AnnotationReferencesListComponent } from './components/annotation-references-list/annotation-references-list.component';
import { AcceptRecommendationDialogComponent } from './dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component';
import { AnnotationCardComponent } from './components/annotation-card/annotation-card.component';
import { AnnotationReferencesPageIndicatorComponent } from './components/annotation-references-page-indicator/annotation-references-page-indicator.component';
const routes: Routes = [
{
@ -46,6 +49,9 @@ const routes: Routes = [
ViewSwitchComponent,
UserManagementComponent,
AcceptRecommendationDialogComponent,
AnnotationReferencesListComponent,
AnnotationCardComponent,
AnnotationReferencesPageIndicatorComponent,
],
imports: [
RouterModule.forChild(routes),

View File

@ -0,0 +1,22 @@
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { shareDistinctLast } from '@iqser/common-ui';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
@Injectable()
export class AnnotationReferencesService {
readonly annotation$: Observable<AnnotationWrapper>;
private readonly _annotation$ = new BehaviorSubject<AnnotationWrapper | undefined>(undefined);
constructor() {
this.annotation$ = this._annotation$.asObservable().pipe(shareDistinctLast());
}
show(annotation: AnnotationWrapper) {
this._annotation$.next(annotation);
}
hide() {
this._annotation$.next(undefined);
}
}

View File

@ -51,6 +51,7 @@ export class IconsModule {
'reanalyse',
'reason',
'redaction-changes',
'reference',
'remove-from-dict',
'report',
'resize',

View File

@ -141,7 +141,20 @@
"settings": "Einstellungen"
},
"annotation": "Anmerkung",
"references": {
"singular": "",
"plural": ""
},
"annotation-actions": {
"resize": {
"label": "Größe ändern"
},
"resize-accept": {
"label": "Größe speichern"
},
"resize-cancel": {
"label": "Größenänderung abbrechen"
},
"accept-recommendation": {
"label": "Empfehlung annehmen"
},
@ -151,12 +164,15 @@
"edit-reason": {
"label": "Begründung bearbeiten"
},
"force-hint": {
"label": "Hinweis erzwingen"
},
"force-redaction": {
"label": "Schwärzung erzwingen"
},
"see-references": {
"label": ""
},
"force-hint": {
"label": "Hinweis erzwingen"
},
"hide": "Ausblenden",
"message": {
"dictionary": {

View File

@ -141,6 +141,10 @@
"settings": "Settings"
},
"annotation": "Annotation",
"references": {
"singular": "REFERENCE",
"plural": "REFERENCES"
},
"annotation-actions": {
"accept-recommendation": {
"label": "Accept Recommendation"
@ -157,6 +161,9 @@
"force-redaction": {
"label": "Force Redaction"
},
"see-references": {
"label": "See References"
},
"hide": "Hide",
"message": {
"dictionary": {

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Styleguide" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Styleguide-Actions" transform="translate(-979.000000, -588.000000)" fill="#283241" fill-rule="nonzero">
<g id="reference" transform="translate(969.000000, 578.000000)">
<g id="status" transform="translate(10.000000, 10.000000)">
<polygon id="Path" points="14 6.3 8.68 6.3 12.46 2.52 11.48 1.54 7.7 5.32 7.7 0 6.3 0 6.3 5.32 2.52 1.54 1.54 2.52 5.32 6.3 0 6.3 0 7.7 5.32 7.7 1.54 11.48 2.52 12.46 6.3 8.68 6.3 14 7.7 14 7.7 8.68 11.48 12.46 12.46 11.48 8.68 7.7 14 7.7"></polygon>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 881 B

@ -1 +1 @@
Subproject commit b65ad23aaa3ed5ece6242c2b3b569322d275e93e
Subproject commit 6c79b02a50f268a6b663e8e46d88f3c0d333a608

View File

@ -39,7 +39,7 @@
"@materia-ui/ngx-monaco-editor": "^6.0.0",
"@ngx-translate/core": "^14.0.0",
"@ngx-translate/http-loader": "^7.0.0",
"@nrwl/angular": "13.4.5",
"@nrwl/angular": "13.5.3",
"@pdftron/webviewer": "8.2.0",
"@swimlane/ngx-charts": "^20.0.1",
"file-saver": "^2.0.5",
@ -70,12 +70,12 @@
"@angular/compiler-cli": "13.1.2",
"@angular/language-service": "13.1.2",
"@bartholomej/ngx-translate-extract": "^8.0.2",
"@nrwl/cli": "13.4.5",
"@nrwl/eslint-plugin-nx": "13.4.5",
"@nrwl/jest": "13.4.5",
"@nrwl/linter": "13.4.5",
"@nrwl/tao": "13.4.5",
"@nrwl/workspace": "13.4.5",
"@nrwl/cli": "13.5.3",
"@nrwl/eslint-plugin-nx": "13.5.3",
"@nrwl/jest": "13.5.3",
"@nrwl/linter": "13.5.3",
"@nrwl/tao": "13.5.3",
"@nrwl/workspace": "13.5.3",
"@types/jest": "27.4.0",
"@types/lodash": "^4.14.178",
"@types/node": "17.0.9",

266
yarn.lock
View File

@ -1570,7 +1570,7 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f"
integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==
"@eslint/eslintrc@^1.0.4", "@eslint/eslintrc@^1.0.5":
"@eslint/eslintrc@^1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==
@ -1590,15 +1590,6 @@
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210"
integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==
"@humanwhocodes/config-array@^0.6.0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a"
integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==
dependencies:
"@humanwhocodes/object-schema" "^1.2.0"
debug "^4.1.1"
minimatch "^3.0.4"
"@humanwhocodes/config-array@^0.9.2":
version "0.9.2"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914"
@ -1608,7 +1599,7 @@
debug "^4.1.1"
minimatch "^3.0.4"
"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1":
"@humanwhocodes/object-schema@^1.2.1":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
@ -2054,20 +2045,19 @@
node-gyp "^8.2.0"
read-package-json-fast "^2.0.1"
"@nrwl/angular@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-13.4.5.tgz#fa000ff7d62a158af151800a0d78d8c75f950f01"
integrity sha512-XzVG9SLgAYdPh7JHrUse5/l9R+QTsPWxBwsLH9SFgsO675+0yeTDgnppeaJWpgVwIMf3+kcZoxynoltPc+iI7Q==
"@nrwl/angular@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-13.5.3.tgz#ea21b45734b317b8fff84fd04ff9950175e22d6c"
integrity sha512-Fh0x9Cz0OMWYx8By1cFLjzKmT2GZY8Se9rqd/31fftVwdftOpt0lrTIrVtb+b16195JAKpCsLvNJlZmp6AOeiQ==
dependencies:
"@angular-devkit/schematics" "~13.1.0"
"@nrwl/cypress" "13.4.5"
"@nrwl/devkit" "13.4.5"
"@nrwl/jest" "13.4.5"
"@nrwl/linter" "13.4.5"
"@nrwl/storybook" "13.4.5"
"@nrwl/cypress" "13.5.3"
"@nrwl/devkit" "13.5.3"
"@nrwl/jest" "13.5.3"
"@nrwl/linter" "13.5.3"
"@nrwl/storybook" "13.5.3"
"@phenomnomnominal/tsquery" "4.1.1"
"@schematics/angular" "~13.1.0"
find-parent-dir "^0.3.1"
ignore "^5.0.4"
jasmine-marbles "~0.8.4"
rxjs-for-await "0.0.2"
@ -2077,27 +2067,26 @@
tslib "^2.3.0"
webpack-merge "5.7.3"
"@nrwl/cli@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.4.5.tgz#21937c66d7bc7d2109c5e32b7ed2f1bbf8509979"
integrity sha512-CyiGIBhVd2EEx3+HST5TwOwI6kL8zKvWBMXrHs0jAB9lJIjqdzLdTPYHsfLOcAYsl08l8eySVVCkGr9UG5XSPQ==
"@nrwl/cli@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.5.3.tgz#3b32247e9f9703f95f6e066f6000da2f32ad4e9a"
integrity sha512-TMh8FfF6PPnjuxoSIU0wFVtE6xcf5UfxmX0pSy+ztEDU66RBSPwUxbHUFZGMKrT7jNZLutqmziwi89leTngvfw==
dependencies:
"@nrwl/tao" "13.4.5"
"@nrwl/tao" "13.5.3"
chalk "4.1.0"
enquirer "~2.3.6"
v8-compile-cache "2.3.0"
yargs "15.4.1"
yargs-parser "20.0.0"
"@nrwl/cypress@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-13.4.5.tgz#88bd7eb4818f27ebc13328b0ad904168231af864"
integrity sha512-hQ3lUHuiTqynvOnvTtJTWzeb7N6RrGntjwjH3CpPgTOKWz1Zj7YXGGULrl4dC/xFeKBlm1ptDX3bbxrZjdePVQ==
"@nrwl/cypress@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-13.5.3.tgz#09fb88e8ea273533e1312058c7d0eb711fe7fca0"
integrity sha512-iM6k9nQrRKX+5pTaKibGPw78+apZtGFvZFV0fu5LaRqBA/0XS4QrKzC2k2MSyDCVmW+X25X17P3J6sbBqACESA==
dependencies:
"@cypress/webpack-preprocessor" "^5.9.1"
"@nrwl/devkit" "13.4.5"
"@nrwl/linter" "13.4.5"
"@nrwl/workspace" "13.4.5"
"@nrwl/devkit" "13.5.3"
"@nrwl/linter" "13.5.3"
"@nrwl/workspace" "13.5.3"
chalk "4.1.0"
enhanced-resolve "^5.8.3"
fork-ts-checker-webpack-plugin "6.2.10"
@ -2107,40 +2096,40 @@
tsconfig-paths-webpack-plugin "3.4.1"
tslib "^2.3.0"
webpack-node-externals "^3.0.0"
yargs-parser "20.0.0"
"@nrwl/devkit@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.4.5.tgz#e0da52ea91eae1480e46461f0ea6031021a3177a"
integrity sha512-Q3jZxf4T0KKG851s9AVziaEg9rIZcBePCdE70/sQRcuFMRAjny/bt3IEzMPID1Rg12bKnAXy6sWSKjZ8xKToxg==
"@nrwl/devkit@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.5.3.tgz#efa41af408384a39b00c23f4340c55b37f9f0193"
integrity sha512-Fg2n5KjCbKn2c5lRGpYzuyB2x385RJmsyJ+7EE230MCTJaw5OXk7U02hrK+nL5dZltEmI06VH409FAEwVyOUqw==
dependencies:
"@nrwl/tao" "13.4.5"
"@nrwl/tao" "13.5.3"
ejs "^3.1.5"
ignore "^5.0.4"
rxjs "^6.5.4"
semver "7.3.4"
tslib "^2.3.0"
"@nrwl/eslint-plugin-nx@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-13.4.5.tgz#8d0e748d9e68c796f7991a147cf9b54e0ff38ad7"
integrity sha512-LzBKxsLZ8S1ZdKtDwKtrT07RCnKaHrTQn6Z9odLWm8s9MpOISoYcLzJm7symWYHc7u7+EOFTAK6F7V1bbzgnwg==
"@nrwl/eslint-plugin-nx@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-13.5.3.tgz#487f6cd34982c84429b54a505b1270ddf49d95e1"
integrity sha512-UUsD15npa5srrPEFnuWAzzfNejvxg8H2iKBmxQXbtXSnXfCYDoi7ahk90CH2/lV7T7fFldyltlItpjXd/t44Mg==
dependencies:
"@nrwl/devkit" "13.4.5"
"@nrwl/workspace" "13.4.5"
"@nrwl/devkit" "13.5.3"
"@nrwl/workspace" "13.5.3"
"@typescript-eslint/experimental-utils" "~5.3.0"
chalk "4.1.0"
confusing-browser-globals "^1.0.9"
ts-node "^9.1.1"
tsconfig-paths "^3.9.0"
"@nrwl/jest@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-13.4.5.tgz#c4fa11bfac32b1ff2c85ec1737c8bbf2d095691b"
integrity sha512-6ARJQXe7wswtrKuakSP5iNSqLC/GYJtY5ACKLjFN73JgIuV8rjlSlqEuNs4CSc89YpDegtbgNq/rRzOLabKScg==
"@nrwl/jest@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-13.5.3.tgz#487d9d010ff9511a04ef45f9305a44443cc145c8"
integrity sha512-PCBX/4LxKKWxrsgqj0ejAWwT64Iv6fejntZsyQNr2yzDSZY/sQL4XJ8EbVH4yivzxqn3F1+blmpDrDLlAhDy6g==
dependencies:
"@jest/reporters" "27.2.2"
"@jest/test-result" "27.2.2"
"@nrwl/devkit" "13.4.5"
"@nrwl/devkit" "13.5.3"
chalk "4.1.0"
identity-obj-proxy "3.0.0"
jest-config "27.2.2"
@ -2150,38 +2139,35 @@
rxjs "^6.5.4"
tslib "^2.3.0"
"@nrwl/linter@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-13.4.5.tgz#44ab2441f391c917f0868ac034135393002341fe"
integrity sha512-VCKud1DG9h9zShB/Kn7DQ5Da4dJhqYvlQ06O6ViNixKp70ghg4PgVWhxEQixDzk5Xt9EB+fVFnVpnm82mSyxzg==
"@nrwl/linter@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-13.5.3.tgz#d5547bd6a6b40a2d1bb08e9d50dfd219ea6d8390"
integrity sha512-xiQVPlhLjesFdt9uHXV4GtuFgiUbx9cATc3At1R6xHkdd7Lbqv/deq+FWJKnGb5MgTpvzyQc/gNUvfSyKoSBsA==
dependencies:
"@nrwl/devkit" "13.4.5"
"@nrwl/jest" "13.4.5"
"@nrwl/devkit" "13.5.3"
"@nrwl/jest" "13.5.3"
"@phenomnomnominal/tsquery" "4.1.1"
eslint "8.2.0"
glob "7.1.4"
minimatch "3.0.4"
tmp "~0.2.1"
tslib "^2.3.0"
"@nrwl/storybook@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-13.4.5.tgz#b86310ae9465633285d80fc4a546a60f3e21479a"
integrity sha512-5wg3xwkclrNybeTMv3lui48roPZgd6LNa8hKeb5/g8GAic5W0OGglGNiLXOlIY0kAs5KIVhvz+7ZXSBVpDuSlw==
"@nrwl/storybook@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-13.5.3.tgz#1f684cc1e068e44c6a5c35ec7b856a0c4d4204ae"
integrity sha512-sZMQCu/FCMdYgJ/JtqWYEnwG9fgoQUXzAAMtkIpYP3fDlKAh8hCASBO1oQmz2CNjp+iAaIgN4ZRzA9uEMeMJDA==
dependencies:
"@nrwl/cypress" "13.4.5"
"@nrwl/devkit" "13.4.5"
"@nrwl/linter" "13.4.5"
"@nrwl/workspace" "13.4.5"
"@nrwl/cypress" "13.5.3"
"@nrwl/devkit" "13.5.3"
"@nrwl/linter" "13.5.3"
"@nrwl/workspace" "13.5.3"
core-js "^3.6.5"
semver "7.3.4"
ts-loader "^9.2.6"
tsconfig-paths-webpack-plugin "3.4.1"
"@nrwl/tao@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.4.5.tgz#bb61a1280a10dfca8956af42cb3e60443381b2b3"
integrity sha512-DYVmYDEeJ9zLagU52nVXBdA+0SXrypmydrxFLhEAc79tlForNX3dmjqePhNDq7JqllmD643DiNh0pydgsPzUdQ==
"@nrwl/tao@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.5.3.tgz#5112120395968916080216d530d62b0928513820"
integrity sha512-YAHW4yGROt+a8yDrgG9UxrmSyi62S0Pi6EhLluk5e9s/sNJM1k2NfoVCzZMZYsCbv4tKYv4RSlqf3EQMe28uJw==
dependencies:
chalk "4.1.0"
enquirer "~2.3.6"
@ -2189,7 +2175,7 @@
fs-extra "^9.1.0"
ignore "^5.0.4"
jsonc-parser "3.0.0"
nx "13.4.5"
nx "13.5.3"
rxjs "^6.5.4"
rxjs-for-await "0.0.2"
semver "7.3.4"
@ -2197,20 +2183,20 @@
tslib "^2.3.0"
yargs-parser "20.0.0"
"@nrwl/workspace@13.4.5":
version "13.4.5"
resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-13.4.5.tgz#ca449ee876d1e242c23f5189daff3629a713d88f"
integrity sha512-1tw8bJHL55QqVhLMRosXhTeAAxv3NFkBIVY3NodbqQXPlF3qKnly6vWqga9KpKr7quPvD+9DzEpCdP/7K7QoEw==
"@nrwl/workspace@13.5.3":
version "13.5.3"
resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-13.5.3.tgz#2dc369a0c6bc9b483edcc48375a6c9547719bb98"
integrity sha512-ZY7HGPhs0w0neXLXJgbIYd36+FZuc8LHgaxhExsK9vdusuaXhNVyMkR+TmbtN9sXAB0ZN0+hzcty+V7ncn4sHQ==
dependencies:
"@nrwl/cli" "13.4.5"
"@nrwl/devkit" "13.4.5"
"@nrwl/jest" "13.4.5"
"@nrwl/linter" "13.4.5"
"@nrwl/cli" "13.5.3"
"@nrwl/devkit" "13.5.3"
"@nrwl/jest" "13.5.3"
"@nrwl/linter" "13.5.3"
"@parcel/watcher" "2.0.4"
chalk "4.1.0"
chokidar "^3.5.1"
cli-cursor "3.1.0"
cli-spinners "2.6.1"
cosmiconfig "^4.0.0"
dotenv "~10.0.0"
enquirer "~2.3.6"
figures "3.2.0"
@ -2223,7 +2209,6 @@
open "^7.4.2"
rxjs "^6.5.4"
semver "7.3.4"
strip-ansi "6.0.0"
tmp "~0.2.1"
tslib "^2.3.0"
yargs "15.4.1"
@ -3165,7 +3150,7 @@ ansi-html-community@^0.0.8:
resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41"
integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
ansi-regex@^5.0.0, ansi-regex@^5.0.1:
ansi-regex@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
@ -4177,7 +4162,7 @@ cli-boxes@^3.0.0:
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145"
integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==
cli-cursor@^3.1.0:
cli-cursor@3.1.0, cli-cursor@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
@ -4481,16 +4466,6 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
cosmiconfig@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc"
integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==
dependencies:
is-directory "^0.3.1"
js-yaml "^3.9.0"
parse-json "^4.0.0"
require-from-string "^2.0.1"
cosmiconfig@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
@ -5331,7 +5306,7 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3:
graceful-fs "^4.2.4"
tapable "^2.2.0"
enquirer@^2.3.5, enquirer@~2.3.6:
enquirer@~2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
@ -5751,14 +5726,6 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
eslint-scope@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978"
integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
eslint-scope@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153"
@ -5789,50 +5756,6 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1"
integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==
eslint@8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.2.0.tgz#44d3fb506d0f866a506d97a0fc0e90ee6d06a815"
integrity sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw==
dependencies:
"@eslint/eslintrc" "^1.0.4"
"@humanwhocodes/config-array" "^0.6.0"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
debug "^4.3.2"
doctrine "^3.0.0"
enquirer "^2.3.5"
escape-string-regexp "^4.0.0"
eslint-scope "^6.0.0"
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.0.0"
espree "^9.0.0"
esquery "^1.4.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
functional-red-black-tree "^1.0.1"
glob-parent "^6.0.1"
globals "^13.6.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
js-yaml "^4.1.0"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
lodash.merge "^4.6.2"
minimatch "^3.0.4"
natural-compare "^1.4.0"
optionator "^0.9.1"
progress "^2.0.0"
regexpp "^3.2.0"
semver "^7.2.1"
strip-ansi "^6.0.1"
strip-json-comments "^3.1.0"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
eslint@8.7.0:
version "8.7.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c"
@ -5874,7 +5797,7 @@ eslint@8.7.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
espree@^9.0.0, espree@^9.2.0, espree@^9.3.0:
espree@^9.2.0, espree@^9.3.0:
version "9.3.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8"
integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==
@ -6301,11 +6224,6 @@ find-cache-dir@^3.3.1:
make-dir "^3.0.2"
pkg-dir "^4.1.0"
find-parent-dir@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125"
integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==
find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
@ -7369,11 +7287,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
is-data-descriptor "^1.0.0"
kind-of "^6.0.2"
is-directory@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
is-docker@^2.0.0, is-docker@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
@ -8494,7 +8407,7 @@ js-tokens@^4.0.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.13.1, js-yaml@^3.9.0:
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@ -8552,7 +8465,7 @@ jsesc@~0.5.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
@ -9619,12 +9532,12 @@ nwsapi@^2.2.0:
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
nx@13.4.5:
version "13.4.5"
resolved "https://registry.yarnpkg.com/nx/-/nx-13.4.5.tgz#f68857ea33dae302c0d1171f0909155ab0be2bd7"
integrity sha512-efUyCh6jgBWh8SIXoxa33M+pwLQyEbsjb0g6qoNORAibmzHlf0aI79t3pn7Ru2O33D+GTU3qQ/DJVxbE9M/2zg==
nx@13.5.3:
version "13.5.3"
resolved "https://registry.yarnpkg.com/nx/-/nx-13.5.3.tgz#5bdc72fd51eadcaf1dc4d5af800b863e4d103a4e"
integrity sha512-OqYNq+RL+nk8IAbxOl9CnfHnURA68tYlQojUdtdAiKnmcOouSzWnt1zRZb2nUWiMUiWEVojExMvCqXLwgRwQ6Q==
dependencies:
"@nrwl/cli" "13.4.5"
"@nrwl/cli" "13.5.3"
object-assign@^4.0.1, object-assign@^4.1.1:
version "4.1.1"
@ -9969,14 +9882,6 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
dependencies:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
parse-json@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@ -10885,7 +10790,7 @@ process@^0.11.1, process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
progress@^2.0.0, progress@^2.0.3:
progress@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
@ -11219,7 +11124,7 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
require-from-string@^2.0.1, require-from-string@^2.0.2:
require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
@ -11555,7 +11460,7 @@ semver@7.3.4:
dependencies:
lru-cache "^6.0.0"
semver@7.3.5, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
semver@7.3.5, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
@ -12068,13 +11973,6 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
strip-ansi@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
dependencies:
ansi-regex "^5.0.0"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"