Compare commits

...

4 Commits
master ... dan

Author SHA1 Message Date
Dan Percic
84fcdde3ce wip migrations 2024-12-16 11:15:45 +02:00
Dan Percic
d3be2411ff other updates 2024-12-13 12:13:34 +02:00
Dan Percic
fc5b65d134 remove old sonar config 2024-12-13 12:09:33 +02:00
Dan Percic
8f381f5e3c ng updates 2024-12-13 12:06:36 +02:00
19 changed files with 554 additions and 693 deletions

View File

@ -50,7 +50,7 @@
{ {
"glob": "**/*", "glob": "**/*",
"input": "node_modules/@pdftron/webviewer/public/", "input": "node_modules/@pdftron/webviewer/public/",
"output": "/assets/wv-resources/11.1.0/" "output": "/assets/wv-resources/11.1.1/"
}, },
{ {
"glob": "**/*", "glob": "**/*",
@ -82,12 +82,6 @@
}, },
"configurations": { "configurations": {
"production": { "production": {
"fileReplacements": [
{
"replace": "apps/red-ui/src/environments/environment.ts",
"with": "apps/red-ui/src/environments/environment.prod.ts"
}
],
"optimization": { "optimization": {
"scripts": true, "scripts": true,
"styles": { "styles": {

View File

@ -1,6 +1,7 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouteReuseStrategy, RouterModule } from '@angular/router'; import { RouteReuseStrategy, RouterModule } from '@angular/router';
import { ifNotLoggedIn } from '@common-ui/tenants/guards/if-not-logged-in.guard'; import { ifNotLoggedIn } from '@common-ui/tenants/guards/if-not-logged-in.guard';
import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; import { BaseScreenComponent } from '@components/base-screen/base-screen.component';
import { DownloadsListScreenComponent } from '@components/downloads-list-screen/downloads-list-screen.component'; import { DownloadsListScreenComponent } from '@components/downloads-list-screen/downloads-list-screen.component';
import { DashboardGuard } from '@guards/dashboard-guard.service'; import { DashboardGuard } from '@guards/dashboard-guard.service';
@ -8,8 +9,8 @@ import { DossierFilesGuard } from '@guards/dossier-files-guard';
import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard'; import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard';
import { DossierTemplatesGuard } from '@guards/dossier-templates.guard'; import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { loadActiveDossiersGuard, loadAllDossiersGuard, loadArchivedDossiersGuard } from '@guards/dossiers.guard'; import { loadActiveDossiersGuard, loadAllDossiersGuard, loadArchivedDossiersGuard } from '@guards/dossiers.guard';
import { isNotEditingFileAttributeGuard } from '@guards/file-attribute.guard';
import { FeaturesGuard } from '@guards/features-guard.service'; import { FeaturesGuard } from '@guards/features-guard.service';
import { isNotEditingFileAttributeGuard } from '@guards/file-attribute.guard';
import { ifLoggedIn } from '@guards/if-logged-in.guard'; import { ifLoggedIn } from '@guards/if-logged-in.guard';
import { TrashGuard } from '@guards/trash.guard'; import { TrashGuard } from '@guards/trash.guard';
import { CompositeRouteGuard, DEFAULT_REDIRECT_KEY, IqserPermissionsGuard, IqserRoutes, orderedAsyncGuards } from '@iqser/common-ui'; import { CompositeRouteGuard, DEFAULT_REDIRECT_KEY, IqserPermissionsGuard, IqserRoutes, orderedAsyncGuards } from '@iqser/common-ui';
@ -22,7 +23,6 @@ import { Roles } from '@users/roles';
import { mainGuard } from '@utils/main.guard'; import { mainGuard } from '@utils/main.guard';
import { webViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard'; import { webViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard';
import { ACTIVE_DOSSIERS_SERVICE } from './tokens'; import { ACTIVE_DOSSIERS_SERVICE } from './tokens';
import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
const dossierTemplateIdRoutes: IqserRoutes = [ const dossierTemplateIdRoutes: IqserRoutes = [
{ {
@ -227,6 +227,7 @@ const routes: IqserRoutes = [
scrollPositionRestoration: 'enabled', scrollPositionRestoration: 'enabled',
bindToComponentInputs: true, bindToComponentInputs: true,
paramsInheritanceStrategy: 'always', paramsInheritanceStrategy: 'always',
enableViewTransitions: true,
}), }),
], ],
providers: [{ provide: RouteReuseStrategy, useExisting: CustomRouteReuseStrategy }], providers: [{ provide: RouteReuseStrategy, useExisting: CustomRouteReuseStrategy }],

View File

@ -1,14 +1,12 @@
import { Component, Renderer2, ViewContainerRef } from '@angular/core'; import { Component, Renderer2, ViewContainerRef } from '@angular/core';
import { RouterHistoryService } from '@services/router-history.service';
import { UserPreferenceService } from '@users/user-preference.service';
import { getConfig } from '@iqser/common-ui';
import { AppConfig } from '@red/domain';
import { NavigationEnd, Router } from '@angular/router';
import { filter, map, switchMap, take, tap } from 'rxjs/operators';
import { APP_TYPE_PATHS } from '@common-ui/utils/constants';
import { MatIconRegistry } from '@angular/material/icon'; import { MatIconRegistry } from '@angular/material/icon';
import { DomSanitizer } from '@angular/platform-browser'; import { DomSanitizer } from '@angular/platform-browser';
import { NavigationEnd, Router } from '@angular/router';
import { TenantsService } from '@common-ui/tenants'; import { TenantsService } from '@common-ui/tenants';
import { APP_TYPE_PATHS } from '@common-ui/utils/constants';
import { RouterHistoryService } from '@services/router-history.service';
import { UserPreferenceService } from '@users/user-preference.service';
import { filter, map, switchMap, take, tap } from 'rxjs/operators';
export function loadCustomTheme(cssFileName: string) { export function loadCustomTheme(cssFileName: string) {
const head = document.getElementsByTagName('head')[0]; const head = document.getElementsByTagName('head')[0];
@ -29,17 +27,16 @@ export function loadCustomTheme(cssFileName: string) {
export class AppComponent { export class AppComponent {
constructor( constructor(
/** ViewContainerRef needs to be injected for the color picker to work */ /** ViewContainerRef needs to be injected for the color picker to work */
readonly viewContainerRef: ViewContainerRef, viewContainerRef: ViewContainerRef,
/** RouterHistoryService needs to be injected for last dossiers screen to be updated on first app load */ /** RouterHistoryService needs to be injected for last dossiers screen to be updated on first app load */
private readonly _routerHistoryService: RouterHistoryService, routerHistoryService: RouterHistoryService,
userPreferenceService: UserPreferenceService, userPreferenceService: UserPreferenceService,
renderer: Renderer2, renderer: Renderer2,
private readonly _router: Router, private readonly _router: Router,
private readonly _iconRegistry: MatIconRegistry, iconRegistry: MatIconRegistry,
private readonly _sanitizer: DomSanitizer, sanitizer: DomSanitizer,
private readonly _tenantsService: TenantsService, private readonly _tenantsService: TenantsService,
) { ) {
const config = getConfig<AppConfig>();
renderer.addClass(document.body, userPreferenceService.getTheme()); renderer.addClass(document.body, userPreferenceService.getTheme());
const removeQueryParams = _router.events.pipe( const removeQueryParams = _router.events.pipe(
@ -57,10 +54,10 @@ export class AppComponent {
tap(() => { tap(() => {
const isDocumine = this._tenantsService.activeTenant.documine; const isDocumine = this._tenantsService.activeTenant.documine;
const logo = isDocumine ? 'documine' : 'redaction'; const logo = isDocumine ? 'documine' : 'redaction';
_iconRegistry.addSvgIconInNamespace( iconRegistry.addSvgIconInNamespace(
'iqser', 'iqser',
'logo', 'logo',
_sanitizer.bypassSecurityTrustResourceUrl(`/assets/icons/general/${logo}-logo.svg`), sanitizer.bypassSecurityTrustResourceUrl(`/assets/icons/general/${logo}-logo.svg`),
); );
if (isDocumine) { if (isDocumine) {
document.getElementById('favicon').setAttribute('href', 'assets/icons/documine-logo.ico'); document.getElementById('favicon').setAttribute('href', 'assets/icons/documine-logo.ico');

View File

@ -1,6 +1,6 @@
import { APP_BASE_HREF, DatePipe as BaseDatePipe } from '@angular/common'; import { APP_BASE_HREF, DatePipe as BaseDatePipe } from '@angular/common';
import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { ErrorHandler, inject, NgModule, provideEnvironmentInitializer } from '@angular/core'; import { ErrorHandler, inject, isDevMode, NgModule, provideEnvironmentInitializer } from '@angular/core';
import { MatDividerModule } from '@angular/material/divider'; import { MatDividerModule } from '@angular/material/divider';
import { MatIcon } from '@angular/material/icon'; import { MatIcon } from '@angular/material/icon';
import { MatMenu, MatMenuContent, MatMenuItem, MatMenuTrigger } from '@angular/material/menu'; import { MatMenu, MatMenuContent, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
@ -14,6 +14,7 @@ import { EmptyStateComponent } from '@common-ui/empty-state';
import { HelpModeKey } from '@common-ui/help-mode/types'; import { HelpModeKey } from '@common-ui/help-mode/types';
import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component';
import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component';
import { provideCommonUi } from '@common-ui/provide-common-ui';
import { GET_TENANT_FROM_PATH_FN, UI_ROOT } from '@common-ui/utils'; import { GET_TENANT_FROM_PATH_FN, UI_ROOT } from '@common-ui/utils';
import { AuthErrorComponent } from '@components/auth-error/auth-error.component'; import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; import { BaseScreenComponent } from '@components/base-screen/base-screen.component';
@ -27,10 +28,12 @@ import { SkeletonTopBarComponent } from '@components/skeleton/skeleton-top-bar/s
import { SpotlightSearchComponent } from '@components/spotlight-search/spotlight-search.component'; import { SpotlightSearchComponent } from '@components/spotlight-search/spotlight-search.component';
import { TenantsMenuComponent } from '@components/tenants-menu/tenants-menu.component'; import { TenantsMenuComponent } from '@components/tenants-menu/tenants-menu.component';
import { UserMenuComponent } from '@components/user-menu/user-menu.component'; import { UserMenuComponent } from '@components/user-menu/user-menu.component';
import { environment } from '@environments/environment';
import { import {
CachingModule, CachingModule,
CircleButtonComponent, CircleButtonComponent,
ConnectionStatusComponent,
FullPageErrorComponent,
getConfig,
HelpButtonComponent, HelpButtonComponent,
HelpModeComponent, HelpModeComponent,
HiddenActionDirective, HiddenActionDirective,
@ -41,12 +44,10 @@ import {
IqserLoadingModule, IqserLoadingModule,
IqserTranslateModule, IqserTranslateModule,
LanguageService, LanguageService,
MAX_RETRIES_ON_SERVER_ERROR,
SERVER_ERROR_SKIP_PATHS, SERVER_ERROR_SKIP_PATHS,
ServerErrorInterceptor, ServerErrorInterceptor,
StopPropagationDirective, StopPropagationDirective,
} from '@iqser/common-ui'; } from '@iqser/common-ui';
import { CommonUiModule } from '@iqser/common-ui/lib/common-ui.module';
import { provideHelpMode } from '@iqser/common-ui/lib/help-mode/utils/help-mode.provider'; import { provideHelpMode } from '@iqser/common-ui/lib/help-mode/utils/help-mode.provider';
import { LogoComponent, SkeletonComponent, ToastComponent } from '@iqser/common-ui/lib/shared'; import { LogoComponent, SkeletonComponent, ToastComponent } from '@iqser/common-ui/lib/shared';
import { TenantsModule } from '@iqser/common-ui/lib/tenants'; import { TenantsModule } from '@iqser/common-ui/lib/tenants';
@ -76,199 +77,192 @@ import { IconsModule } from './modules/icons/icons.module';
import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module'; import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module';
import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from './tokens'; import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from './tokens';
export const appModuleFactory = (config: AppConfig) => { @NgModule({
@NgModule({ declarations: [
declarations: [ AppComponent,
AppComponent, AuthErrorComponent,
AuthErrorComponent, NotificationsComponent,
NotificationsComponent, SpotlightSearchComponent,
SpotlightSearchComponent, BreadcrumbsComponent,
BreadcrumbsComponent, DashboardSkeletonComponent,
DashboardSkeletonComponent, DossierSkeletonComponent,
DossierSkeletonComponent, SkeletonTopBarComponent,
SkeletonTopBarComponent, SkeletonStatsComponent,
SkeletonStatsComponent, BaseScreenComponent,
BaseScreenComponent, UserMenuComponent,
UserMenuComponent, TenantsMenuComponent,
TenantsMenuComponent, DownloadsListScreenComponent,
DownloadsListScreenComponent, ],
], imports: [
imports: [ BrowserModule,
BrowserModule, BrowserAnimationsModule,
BrowserAnimationsModule, AppRoutingModule,
AppRoutingModule, MonacoEditorModule,
MonacoEditorModule, IqserUsersModule.forRoot({
CommonUiModule.forRoot({ existingUserService: UserService,
existingUserPreferenceService: UserPreferenceService, existingRoleGuard: RedRoleGuard,
configService: ConfigService, }),
configServiceFactory: () => new ConfigService(config), CachingModule.forRoot(UI_CACHES),
}), PdfViewerModule,
IqserUsersModule.forRoot({ ToastrModule.forRoot({
existingUserService: UserService, closeButton: true,
existingRoleGuard: RedRoleGuard, enableHtml: true,
}), toastComponent: ToastComponent,
CachingModule.forRoot(UI_CACHES), preventDuplicates: true,
PdfViewerModule, resetTimeoutOnDuplicate: true,
ToastrModule.forRoot({ }),
closeButton: true, TenantsModule.forRoot(),
enableHtml: true, IqserTranslateModule.forRoot({ pathPrefixFactory: () => getConfig<AppConfig>().BASE_TRANSLATIONS_DIRECTORY }),
toastComponent: ToastComponent, IqserLoadingModule.forRoot(),
preventDuplicates: true, ServiceWorkerModule.register('ngsw-worker.js', { enabled: !isDevMode() }),
resetTimeoutOnDuplicate: true, LoggerModule.forRoot(undefined, {
}), ruleProvider: {
TenantsModule.forRoot(), provide: TOKEN_LOGGER_RULES_SERVICE,
IqserTranslateModule.forRoot({ pathPrefix: config.BASE_TRANSLATIONS_DIRECTORY }), useClass: LoggerRulesService,
IqserLoadingModule.forRoot(),
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),
LoggerModule.forRoot(undefined, {
ruleProvider: {
provide: TOKEN_LOGGER_RULES_SERVICE,
useClass: LoggerRulesService,
},
configProvider: {
provide: TOKEN_LOGGER_CONFIG,
useValue: {
level: environment.production ? NgxLoggerLevel.ERROR : NgxLoggerLevel.DEBUG,
enableSourceMaps: false,
timestampFormat: 'mm:ss:SSS',
disableFileDetails: true,
features: {
ANNOTATIONS: {
color: 'aqua',
enabled: false,
level: NgxLoggerLevel.DEBUG,
},
FILTERS: {
enabled: false,
},
TENANTS: {
enabled: false,
},
ROUTES: {
enabled: false,
},
PDF: {
enabled: false,
},
FILE: {
enabled: false,
},
CHANGES: {
enabled: false,
},
STATS: {
enabled: false,
},
REDACTION_LOG: {
enabled: true,
},
VIEWED_PAGES: {
enabled: false,
},
PAGES: {
enabled: false,
},
DOSSIERS_CHANGES: {
enabled: false,
},
GUARDS: {
enabled: false,
},
},
} as ILoggerConfig,
},
}),
CircleButtonComponent,
EmptyStateComponent,
SkeletonComponent,
LogoComponent,
HiddenActionDirective,
StopPropagationDirective,
InputWithActionComponent,
RoundCheckboxComponent,
IqserAllowDirective,
IqserDenyDirective,
IqserListingModule,
IconButtonComponent,
MatDividerModule,
ChevronButtonComponent,
InitialsAvatarComponent,
HelpModeComponent,
HelpButtonComponent,
MatMenuTrigger,
MatMenuItem,
MatIcon,
MatMenu,
MatMenuContent,
MatTooltip,
MatProgressSpinner,
IconsModule,
NavigateLastDossiersScreenDirective,
DatePipe,
TranslateModule,
],
providers: [
{
provide: UI_ROOT,
useValue: '/ui',
}, },
{ configProvider: {
provide: APP_BASE_HREF, provide: TOKEN_LOGGER_CONFIG,
useFactory: () => {
const uiRoot = inject(UI_ROOT);
const tenant = inject(GET_TENANT_FROM_PATH_FN)();
console.log(tenant);
const appBaseHref = uiRoot + '/' + tenant;
inject(NGXLogger).info('Provide APP_BASE_HREF:', appBaseHref);
return appBaseHref;
},
},
{
provide: HTTP_INTERCEPTORS,
multi: true,
useClass: ServerErrorInterceptor,
},
{
provide: ErrorHandler,
useClass: GlobalErrorHandler,
},
provideEnvironmentInitializer(async () => {
const languageService = inject(LanguageService);
return languageService.setInitialLanguage();
}),
{
provide: MAX_RETRIES_ON_SERVER_ERROR,
useFactory: () => config.MAX_RETRIES_ON_SERVER_ERROR,
},
{
provide: SERVER_ERROR_SKIP_PATHS,
useValue: ['redaction-gateway-v1/license'],
},
{
provide: ACTIVE_DOSSIERS_SERVICE,
useExisting: ActiveDossiersService,
},
{
provide: ARCHIVED_DOSSIERS_SERVICE,
useExisting: ArchivedDossiersService,
},
{
provide: MAT_TOOLTIP_DEFAULT_OPTIONS,
useValue: { useValue: {
disableTooltipInteractivity: true, level: !isDevMode() ? NgxLoggerLevel.ERROR : NgxLoggerLevel.DEBUG,
showDelay: 1, enableSourceMaps: false,
}, timestampFormat: 'mm:ss:SSS',
disableFileDetails: true,
features: {
ANNOTATIONS: {
color: 'aqua',
enabled: false,
level: NgxLoggerLevel.DEBUG,
},
FILTERS: {
enabled: false,
},
TENANTS: {
enabled: false,
},
ROUTES: {
enabled: false,
},
PDF: {
enabled: false,
},
FILE: {
enabled: false,
},
CHANGES: {
enabled: false,
},
STATS: {
enabled: false,
},
REDACTION_LOG: {
enabled: true,
},
VIEWED_PAGES: {
enabled: false,
},
PAGES: {
enabled: false,
},
DOSSIERS_CHANGES: {
enabled: false,
},
GUARDS: {
enabled: false,
},
},
} as ILoggerConfig,
}, },
BaseDatePipe, }),
DatePipe, CircleButtonComponent,
...provideCustomDateFormatter(), EmptyStateComponent,
...provideHelpMode(helpModeKeys as HelpModeKey[]), SkeletonComponent,
ColorPickerService, LogoComponent,
], HiddenActionDirective,
bootstrap: [AppComponent], StopPropagationDirective,
}) InputWithActionComponent,
class AppModule {} RoundCheckboxComponent,
IqserAllowDirective,
IqserDenyDirective,
IqserListingModule,
IconButtonComponent,
MatDividerModule,
ChevronButtonComponent,
InitialsAvatarComponent,
HelpModeComponent,
HelpButtonComponent,
MatMenuTrigger,
MatMenuItem,
MatIcon,
MatMenu,
MatMenuContent,
MatTooltip,
MatProgressSpinner,
IconsModule,
NavigateLastDossiersScreenDirective,
DatePipe,
TranslateModule,
ConnectionStatusComponent,
FullPageErrorComponent,
],
providers: [
{
provide: UI_ROOT,
useValue: '/ui',
},
{
provide: APP_BASE_HREF,
useFactory: () => {
const uiRoot = inject(UI_ROOT);
const tenant = inject(GET_TENANT_FROM_PATH_FN)();
console.log(tenant);
const appBaseHref = uiRoot + '/' + tenant;
return AppModule; inject(NGXLogger).info('Provide APP_BASE_HREF:', appBaseHref);
}; return appBaseHref;
},
},
{
provide: HTTP_INTERCEPTORS,
multi: true,
useClass: ServerErrorInterceptor,
},
{
provide: ErrorHandler,
useClass: GlobalErrorHandler,
},
provideEnvironmentInitializer(async () => {
const languageService = inject(LanguageService);
await languageService.setInitialLanguage();
}),
{
provide: SERVER_ERROR_SKIP_PATHS,
useValue: ['redaction-gateway-v1/license'],
},
{
provide: ACTIVE_DOSSIERS_SERVICE,
useExisting: ActiveDossiersService,
},
{
provide: ARCHIVED_DOSSIERS_SERVICE,
useExisting: ArchivedDossiersService,
},
{
provide: MAT_TOOLTIP_DEFAULT_OPTIONS,
useValue: {
disableTooltipInteractivity: true,
showDelay: 1,
},
},
BaseDatePipe,
DatePipe,
provideCustomDateFormatter(),
provideHelpMode(helpModeKeys as HelpModeKey[]),
ColorPickerService,
provideCommonUi({
existingUserPreferenceService: UserPreferenceService,
configService: ConfigService,
}),
],
bootstrap: [AppComponent],
})
export class AppModule {}

View File

@ -1,13 +1,12 @@
import { AsyncPipe, NgClass, NgForOf, NgIf } from '@angular/common'; import { AsyncPipe, NgClass, NgForOf, NgIf } from '@angular/common';
import { HttpClient } from '@angular/common/http'; import { HttpClient } from '@angular/common/http';
import { ChangeDetectorRef, Component, ElementRef, inject, OnInit, ViewChild } from '@angular/core'; import { ChangeDetectorRef, Component, ElementRef, inject, isDevMode, OnInit, ViewChild } from '@angular/core';
import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms'; import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { MatIcon } from '@angular/material/icon'; import { MatIcon } from '@angular/material/icon';
import { MatSlider, MatSliderThumb } from '@angular/material/slider'; import { MatSlider, MatSliderThumb } from '@angular/material/slider';
import { MatTooltip } from '@angular/material/tooltip'; import { MatTooltip } from '@angular/material/tooltip';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { environment } from '@environments/environment';
import { import {
getConfig, getConfig,
HasScrollbarDirective, HasScrollbarDirective,
@ -45,6 +44,7 @@ import { stampPDFPage } from '@utils/page-stamper';
import { ColorPickerModule } from 'ngx-color-picker'; import { ColorPickerModule } from 'ngx-color-picker';
import { BehaviorSubject, firstValueFrom, Observable, of } from 'rxjs'; import { BehaviorSubject, firstValueFrom, Observable, of } from 'rxjs';
import { tap } from 'rxjs/operators'; import { tap } from 'rxjs/operators';
import { WebViewerConfig } from '../../../../pdf-viewer/utils/tokens';
import { PaginatorComponent } from '../paginator/paginator.component'; import { PaginatorComponent } from '../paginator/paginator.component';
export const DEFAULT_WATERMARK: Partial<IWatermark> = { export const DEFAULT_WATERMARK: Partial<IWatermark> = {
@ -99,6 +99,7 @@ export class WatermarkScreenComponent implements OnInit {
readonly #config = getConfig<AppConfig>(); readonly #config = getConfig<AppConfig>();
#watermark: Partial<IWatermark> = {}; #watermark: Partial<IWatermark> = {};
readonly #convertPath = inject(UI_ROOT_PATH_FN); readonly #convertPath = inject(UI_ROOT_PATH_FN);
readonly #webViewerConfig = inject(WebViewerConfig);
readonly iconButtonTypes = IconButtonTypes; readonly iconButtonTypes = IconButtonTypes;
readonly translations = watermarkTranslations; readonly translations = watermarkTranslations;
readonly trackBy = trackByFactory(); readonly trackBy = trackByFactory();
@ -246,15 +247,7 @@ export class WatermarkScreenComponent implements OnInit {
async #loadViewer() { async #loadViewer() {
this.instance = await WebViewer.Iframe( this.instance = await WebViewer.Iframe(
{ this.#webViewerConfig,
licenseKey: this._licenseService.activeLicenseKey,
path: this.#convertPath('/assets/wv-resources/11.1.0'),
css: this.#convertPath('/assets/pdftron/stylesheet.css'),
fullAPI: true,
isReadOnly: true,
backendType: 'ems',
ui: 'legacy',
},
// use nativeElement instead of document.getElementById('viwer') // use nativeElement instead of document.getElementById('viwer')
// because WebViewer works better with this approach // because WebViewer works better with this approach
this._viewer.nativeElement, this._viewer.nativeElement,
@ -268,7 +261,7 @@ export class WatermarkScreenComponent implements OnInit {
this._loadingService.stop(); this._loadingService.stop();
}); });
if (environment.production) { if (!isDevMode()) {
this.instance.Core.setCustomFontURL(window.location.origin + this.#convertPath('/assets/pdftron/fonts')); this.instance.Core.setCustomFontURL(window.location.origin + this.#convertPath('/assets/pdftron/fonts'));
} }

View File

@ -1,12 +1,11 @@
import { DestroyRef, inject, Injectable, signal, Signal } from '@angular/core'; import { DestroyRef, inject, Injectable, isDevMode, signal, Signal } from '@angular/core';
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop'; import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { environment } from '@environments/environment';
import { ErrorService, getConfig, LanguageService } from '@iqser/common-ui'; import { ErrorService, getConfig, LanguageService } from '@iqser/common-ui';
import { shareDistinctLast, UI_ROOT_PATH_FN } from '@iqser/common-ui/lib/utils'; import { shareDistinctLast, UI_ROOT_PATH_FN } from '@iqser/common-ui/lib/utils';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import WebViewer, { Core, WebViewerInstance, WebViewerOptions } from '@pdftron/webviewer'; import WebViewer, { Core, WebViewerInstance } from '@pdftron/webviewer';
import { AppConfig, File, IHeaderElement } from '@red/domain'; import { AppConfig, File, IHeaderElement } from '@red/domain';
import { LicenseService } from '@services/license.service'; import { LicenseService } from '@services/license.service';
import { UserPreferenceService } from '@users/user-preference.service'; import { UserPreferenceService } from '@users/user-preference.service';
@ -15,6 +14,7 @@ import { combineLatest, fromEvent, Observable } from 'rxjs';
import { map, startWith } from 'rxjs/operators'; import { map, startWith } from 'rxjs/operators';
import { DISABLED_HOTKEYS, DOCUMENT_LOADING_ERROR, SelectionModes, USELESS_ELEMENTS } from '../utils/constants'; import { DISABLED_HOTKEYS, DOCUMENT_LOADING_ERROR, SelectionModes, USELESS_ELEMENTS } from '../utils/constants';
import { asList } from '../utils/functions'; import { asList } from '../utils/functions';
import { WebViewerConfig } from '../utils/tokens';
import { Rgb } from '../utils/types'; import { Rgb } from '../utils/types';
import { REDAnnotationManager } from './annotation-manager.service'; import { REDAnnotationManager } from './annotation-manager.service';
import Annotation = Core.Annotations.Annotation; import Annotation = Core.Annotations.Annotation;
@ -27,6 +27,7 @@ import TextTool = Core.Tools.TextTool;
export class PdfViewer { export class PdfViewer {
#instance: WebViewerInstance; #instance: WebViewerInstance;
readonly #convertPath = inject(UI_ROOT_PATH_FN); readonly #convertPath = inject(UI_ROOT_PATH_FN);
readonly #webViewerConfig = inject(WebViewerConfig);
readonly #licenseKey = inject(LicenseService).activeLicenseKey; readonly #licenseKey = inject(LicenseService).activeLicenseKey;
readonly #config = getConfig<AppConfig>(); readonly #config = getConfig<AppConfig>();
readonly #isCompareMode = signal(false); readonly #isCompareMode = signal(false);
@ -165,9 +166,11 @@ export class PdfViewer {
} }
async init(htmlElement: HTMLElement) { async init(htmlElement: HTMLElement) {
this.#instance = await this.#getInstance(htmlElement); // This should be migrated to v11
// https://docs.apryse.com/web/get-started/migrating-to-v11/
this.#instance = await WebViewer.Iframe(this.#webViewerConfig, htmlElement);
if (environment.production) { if (!isDevMode()) {
this.#instance.Core.setCustomFontURL(window.location.origin + this.#convertPath('/assets/pdftron/fonts')); this.#instance.Core.setCustomFontURL(window.location.origin + this.#convertPath('/assets/pdftron/fonts'));
} }
@ -373,22 +376,6 @@ export class PdfViewer {
textTool.SELECTION_MODE = selectionMode; textTool.SELECTION_MODE = selectionMode;
} }
#getInstance(htmlElement: HTMLElement) {
const options: WebViewerOptions = {
licenseKey: this.#licenseKey,
fullAPI: true,
path: this.#convertPath('/assets/wv-resources/11.1.0'),
css: this.#convertPath('/assets/pdftron/stylesheet.css'),
backendType: 'ems',
// This should be migrated to v11
ui: 'legacy',
};
// This should be migrated to v11
// https://docs.apryse.com/web/get-started/migrating-to-v11/
return WebViewer.Iframe(options, htmlElement);
}
#isElementActive(element: string): boolean { #isElementActive(element: string): boolean {
return this.#instance.UI.isElementOpen(element); return this.#instance.UI.isElementOpen(element);
} }

View File

@ -0,0 +1,30 @@
import { inject, InjectionToken } from '@angular/core';
import { UI_ROOT_PATH_FN } from '@common-ui/utils';
import { type WebViewerOptions } from '@pdftron/webviewer';
import { LicenseService } from '@services/license.service';
export const WebViewerResourcesPath = new InjectionToken<string>('WebViewerResourcesPath', {
factory() {
return inject(UI_ROOT_PATH_FN)('/assets/wv-resources/11.1.1');
},
});
export const WebViewerCssPath = new InjectionToken<string>('WebViewerCssPath', {
factory() {
return inject(UI_ROOT_PATH_FN)('/assets/pdftron/stylesheet.css');
},
});
export const WebViewerConfig = new InjectionToken<WebViewerOptions>('WebViewerOptions', {
factory() {
return {
licenseKey: inject(LicenseService).activeLicenseKey,
path: inject(WebViewerResourcesPath),
css: inject(WebViewerCssPath),
fullAPI: true,
isReadOnly: true,
backendType: 'ems',
ui: 'legacy',
};
},
});

View File

@ -1,8 +1,9 @@
import { makeEnvironmentProviders } from '@angular/core';
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core'; import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
import { CustomDateAdapter } from '@shared/CustomDateAdapter'; import { CustomDateAdapter } from '@shared/CustomDateAdapter';
export function provideCustomDateFormatter() { export function provideCustomDateFormatter() {
return [ return makeEnvironmentProviders([
{ {
provide: DateAdapter, provide: DateAdapter,
useClass: CustomDateAdapter, useClass: CustomDateAdapter,
@ -21,5 +22,5 @@ export function provideCustomDateFormatter() {
}, },
}, },
}, },
]; ]);
} }

View File

@ -1,6 +1,17 @@
import { Injectable } from '@angular/core'; import { inject, Injectable } from '@angular/core';
import { IqserConfigService } from '@iqser/common-ui'; import { IqserConfigService } from '@iqser/common-ui';
import { AppConfig } from '@red/domain'; import { AppConfig } from '@red/domain';
import { NGXLogger } from 'ngx-logger';
import { INITIAL_CONFIG } from '../tokens';
@Injectable() @Injectable({ providedIn: 'root' })
export class ConfigService extends IqserConfigService<AppConfig> {} export class ConfigService extends IqserConfigService<AppConfig> {
readonly #logger = inject(NGXLogger);
constructor() {
const initialConfig = inject(INITIAL_CONFIG);
super(initialConfig);
this.#logger.info('App started with initial config: ', initialConfig);
this.#logger.info('Updated config: ', this._values);
}
}

View File

@ -1,6 +1,9 @@
import { InjectionToken } from '@angular/core'; import { InjectionToken } from '@angular/core';
import { AppConfig } from '@red/domain';
export const DOSSIER_ID = new InjectionToken<string>('DOSSIER_ID'); export const DOSSIER_ID = new InjectionToken<string>('DOSSIER_ID');
export const ACTIVE_DOSSIERS_SERVICE = new InjectionToken<string>('Active dossiers service'); export const ACTIVE_DOSSIERS_SERVICE = new InjectionToken<string>('Active dossiers service');
export const ARCHIVED_DOSSIERS_SERVICE = new InjectionToken<string>('Archived dossiers service'); export const ARCHIVED_DOSSIERS_SERVICE = new InjectionToken<string>('Archived dossiers service');
export const INITIAL_CONFIG = new InjectionToken<AppConfig>('Initial App config to init config service');

View File

@ -1,6 +0,0 @@
export const environment = {
production: true,
licenseKey:
'S25lY29uIEFHKGVuLmtuZWNvbi5zd2lzcyk6T0VNOkREQS1SOjpCKzpBTVMoMj' +
'AyMjEwMjkpOkZGQ0M0RDMzMDdEQUI0RjM4QjMxM0JDOUIyNDMzODJDNEU2RjZGQ0I4M0NEOEFDNTc0MzU4QTk1OTczMEI2MjJGQUJFRjVDNw==',
};

View File

@ -1,6 +0,0 @@
export const environment = {
production: false,
licenseKey:
'S25lY29uIEFHKGVuLmtuZWNvbi5zd2lzcyk6T0VNOkREQS1SOjpCKzpBTVMoMj' +
'AyMjEwMjkpOkZGQ0M0RDMzMDdEQUI0RjM4QjMxM0JDOUIyNDMzODJDNEU2RjZGQ0I4M0NEOEFDNTc0MzU4QTk1OTczMEI2MjJGQUJFRjVDNw==',
};

View File

@ -1,15 +1,9 @@
import { ApplicationRef, enableProdMode } from '@angular/core';
import { enableDebugTools } from '@angular/platform-browser';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { bool } from '@common-ui/utils'; import { bool } from '@common-ui/utils';
import { environment } from '@environments/environment';
import { AppConfig } from '@red/domain';
import { appModuleFactory } from './app/app.module';
import { LANDING_PAGE_THEMES, THEME_DIRECTORIES } from '@common-ui/utils/constants'; import { LANDING_PAGE_THEMES, THEME_DIRECTORIES } from '@common-ui/utils/constants';
import { AppConfig } from '@red/domain';
if (environment.production) { import { AppModule } from './app/app.module';
enableProdMode(); import { INITIAL_CONFIG } from './app/tokens';
}
// https://github.com/angular/angular/issues/11195#issuecomment-248020928 // https://github.com/angular/angular/issues/11195#issuecomment-248020928
async function bootstrap(appConfig: AppConfig, version: { FRONTEND_APP_VERSION: string }) { async function bootstrap(appConfig: AppConfig, version: { FRONTEND_APP_VERSION: string }) {
@ -24,17 +18,13 @@ async function bootstrap(appConfig: AppConfig, version: { FRONTEND_APP_VERSION:
FRONTEND_APP_VERSION: version.FRONTEND_APP_VERSION, FRONTEND_APP_VERSION: version.FRONTEND_APP_VERSION,
APP_NAME: appConfig.LANDING_PAGE_THEME === LANDING_PAGE_THEMES.MIXED ? 'Knecon Cloud' : isDocumine ? 'DocuMine' : 'RedactManager', APP_NAME: appConfig.LANDING_PAGE_THEME === LANDING_PAGE_THEMES.MIXED ? 'Knecon Cloud' : isDocumine ? 'DocuMine' : 'RedactManager',
} as AppConfig; } as AppConfig;
console.log('Started with local config: ', config);
const appModule = appModuleFactory(config);
const ngModuleRef = await platformBrowserDynamic().bootstrapModule(appModule, { ngZoneEventCoalescing: true }); await platformBrowserDynamic([
{
if (!environment.production) { provide: INITIAL_CONFIG,
const applicationRef = ngModuleRef.injector.get(ApplicationRef); useValue: config,
const componentRef = applicationRef.components[0]; },
// allows to run `ng.profiler.timeChangeDetection();` ]).bootstrapModule(AppModule, { ngZoneEventCoalescing: true });
enableDebugTools(componentRef);
}
} }
const randomNr = Math.random().toFixed(2); const randomNr = Math.random().toFixed(2);

View File

@ -7,14 +7,10 @@ COPY yarn.lock ./
## Storing node modules on a separate layer will prevent unnecessary npm installs at each build ## Storing node modules on a separate layer will prevent unnecessary npm installs at each build
RUN yarn install RUN yarn install
ARG bamboo_sonarqube_api_token_secret
ENV bamboo_sonarqube_api_token_secret=$bamboo_sonarqube_api_token_secret
COPY . . COPY . .
## Build the angular app in production mode and store the artifacts in dist folder ## Build the angular app in production mode and store the artifacts in dist folder
# Fix auth issue then uncomment
# RUN node sonar.js
RUN yarn run build-lint-all RUN yarn run build-lint-all
RUN yarn run build-paligo-styles RUN yarn run build-paligo-styles
RUN rm -rf ./node_modules RUN rm -rf ./node_modules
@ -23,7 +19,7 @@ CMD ["/bin/cp", "-r", "/ng-app/dist/paligo-styles", "/tmp/styles-export"]
### STAGE 2: Setup ### ### STAGE 2: Setup ###
FROM nginx:1.27.0-alpine FROM nginx:1.27.3-alpine
ENV NGINX_ENVSUBST_OUTPUT_DIR=/tmp ENV NGINX_ENVSUBST_OUTPUT_DIR=/tmp
ENV PDFTRON_ALLOWED_HOSTS='' ENV PDFTRON_ALLOWED_HOSTS=''
## Copy our default nginx config ## Copy our default nginx config

@ -1 +1 @@
Subproject commit 58382ddfeed1d6d4d61f03abd1bbb0dd840afa94 Subproject commit 3bd45d958d7f9c7d504f907c2c4067244565c6f1

View File

@ -8,7 +8,6 @@ export interface AppConfig extends IqserAppConfig {
readonly BACKEND_APP_VERSION: string; readonly BACKEND_APP_VERSION: string;
readonly EULA_URL: string; readonly EULA_URL: string;
readonly MAX_FILE_SIZE_MB: number; readonly MAX_FILE_SIZE_MB: number;
readonly MAX_RETRIES_ON_SERVER_ERROR: number;
readonly RECENT_PERIOD_IN_HOURS: number; readonly RECENT_PERIOD_IN_HOURS: number;
readonly SELECTION_MODE: string; readonly SELECTION_MODE: string;
readonly ANNOTATIONS_THRESHOLD: number; readonly ANNOTATIONS_THRESHOLD: number;

View File

@ -19,22 +19,22 @@
"*.{ts,js,html}": "eslint --fix" "*.{ts,js,html}": "eslint --fix"
}, },
"dependencies": { "dependencies": {
"@angular/animations": "19.0.3", "@angular/animations": "19.0.4",
"@angular/cdk": "19.0.2", "@angular/cdk": "19.0.3",
"@angular/common": "19.0.3", "@angular/common": "19.0.4",
"@angular/compiler": "19.0.3", "@angular/compiler": "19.0.4",
"@angular/core": "19.0.3", "@angular/core": "19.0.4",
"@angular/forms": "19.0.3", "@angular/forms": "19.0.4",
"@angular/material": "19.0.2", "@angular/material": "19.0.3",
"@angular/platform-browser": "19.0.3", "@angular/platform-browser": "19.0.4",
"@angular/platform-browser-dynamic": "19.0.3", "@angular/platform-browser-dynamic": "19.0.4",
"@angular/router": "19.0.3", "@angular/router": "19.0.4",
"@angular/service-worker": "19.0.3", "@angular/service-worker": "19.0.4",
"@materia-ui/ngx-monaco-editor": "^6.0.0", "@materia-ui/ngx-monaco-editor": "^6.0.0",
"@messageformat/core": "^3.4.0", "@messageformat/core": "^3.4.0",
"@ngx-translate/core": "16.0.3", "@ngx-translate/core": "16.0.3",
"@ngx-translate/http-loader": "16.0.0", "@ngx-translate/http-loader": "16.0.0",
"@pdftron/webviewer": "11.1.0", "@pdftron/webviewer": "11.1.1",
"@stomp/rx-stomp": "^2.0.0", "@stomp/rx-stomp": "^2.0.0",
"@stomp/stompjs": "^7.0.0", "@stomp/stompjs": "^7.0.0",
"chart.js": "4.4.7", "chart.js": "4.4.7",
@ -45,7 +45,7 @@
"keycloak-angular": "16.1.0", "keycloak-angular": "16.1.0",
"keycloak-js": "23.0.1", "keycloak-js": "23.0.1",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"monaco-editor": "0.52.0", "monaco-editor": "0.52.2",
"ng2-charts": "7.0.0", "ng2-charts": "7.0.0",
"ngx-color-picker": "17.0.0", "ngx-color-picker": "17.0.0",
"ngx-logger": "^5.0.11", "ngx-logger": "^5.0.11",
@ -54,34 +54,35 @@
"object-hash": "^3.0.0", "object-hash": "^3.0.0",
"papaparse": "^5.4.0", "papaparse": "^5.4.0",
"rxjs": "7.8.1", "rxjs": "7.8.1",
"sass": "1.82.0", "sass": "^1.83.0",
"scroll-into-view-if-needed": "3.1.0", "scroll-into-view-if-needed": "3.1.0",
"streamsaver": "^2.0.5", "streamsaver": "^2.0.5",
"tslib": "2.8.1", "tslib": "2.8.1",
"uuid": "^11.0.3", "uuid": "^9.0.0",
"zone.js": "0.15.0" "zone.js": "0.15.0"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/core": "19.0.3", "@angular-devkit/core": "19.0.5",
"@angular-devkit/schematics": "19.0.3", "@angular-devkit/schematics": "19.0.5",
"@angular-eslint/builder": "19.0.0", "@angular-eslint/builder": "19.0.2",
"@angular-eslint/eslint-plugin": "19.0.0", "@angular-eslint/eslint-plugin": "19.0.2",
"@angular-eslint/eslint-plugin-template": "19.0.0", "@angular-eslint/eslint-plugin-template": "19.0.2",
"@angular-eslint/schematics": "19.0.0", "@angular-eslint/schematics": "19.0.2",
"@angular-eslint/template-parser": "19.0.0", "@angular-eslint/template-parser": "19.0.2",
"@angular/build": "^19.0.3", "@angular/build": "^19.0.5",
"@angular/cli": "19.0.3", "@angular/cli": "19.0.5",
"@angular/compiler-cli": "19.0.3", "@angular/compiler-cli": "19.0.4",
"@angular/language-service": "19.0.3", "@angular/language-service": "19.0.4",
"@localazy/ts-api": "^1.0.0", "@localazy/ts-api": "^1.0.0",
"@schematics/angular": "19.0.3", "@schematics/angular": "^19.0.5",
"@types/file-saver": "^2.0.7", "@types/file-saver": "^2.0.7",
"@types/jest": "29.5.14", "@types/jest": "29.5.14",
"@types/lodash-es": "4.17.12", "@types/lodash-es": "4.17.12",
"@types/node": "22.10.1", "@types/node": "22.10.2",
"@typescript-eslint/eslint-plugin": "^8.17.0", "@typescript-eslint/eslint-plugin": "^8.18.0",
"@typescript-eslint/parser": "^8.17.0", "@typescript-eslint/parser": "^8.18.0",
"@typescript-eslint/utils": "^8.17.0", "@typescript-eslint/types": "^8.18.0",
"@typescript-eslint/utils": "^8.18.0",
"@vendure/ngx-translate-extract": "9.3.1", "@vendure/ngx-translate-extract": "9.3.1",
"axios": "1.7.9", "axios": "1.7.9",
"eslint": "^8.57.0", "eslint": "^8.57.0",
@ -94,12 +95,11 @@
"jest-environment-jsdom": "29.7.0", "jest-environment-jsdom": "29.7.0",
"jest-extended": "4.0.2", "jest-extended": "4.0.2",
"jest-preset-angular": "14.4.2", "jest-preset-angular": "14.4.2",
"lint-staged": "15.2.10", "lint-staged": "15.2.11",
"prettier": "3.4.2", "prettier": "3.4.2",
"sonarqube-scanner": "4.2.6",
"ts-node": "10.9.2", "ts-node": "10.9.2",
"typescript": "5.6.3", "typescript": "5.6.3",
"webpack": "5.97.0", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"xliff": "^6.2.1" "xliff": "^6.2.1"
}, },

View File

@ -1,17 +0,0 @@
const scanner = require('sonarqube-scanner');
const apiKey = process.env.bamboo_sonarqube_api_token_secret;
console.log('Running with api key for sonar: ', apiKey);
scanner(
{
serverUrl: 'https://sonarqube.iqser.com',
token: apiKey,
options: {
'sonar.projectKey': 'RED_ui',
'sonar.sources': 'apps/red-ui,libs/common-ui',
},
},
() => process.exit(),
);

588
yarn.lock
View File

@ -10,7 +10,15 @@
"@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/trace-mapping" "^0.3.24"
"@angular-devkit/architect@0.1900.3", "@angular-devkit/architect@>= 0.1900.0 < 0.2000.0": "@angular-devkit/architect@0.1900.5":
version "0.1900.5"
resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1900.5.tgz#ae5b5b75b24081016ef3ef63aea01376554fc894"
integrity sha512-JxgoIxwGw3QNj6e70d04g5yJ8ZK0g/my22UK0TlRJRbYcfFQr8pL7u3wq77iNlgeHMDwBskZEf4TEZOVSbm7mw==
dependencies:
"@angular-devkit/core" "19.0.5"
rxjs "7.8.1"
"@angular-devkit/architect@>= 0.1900.0 < 0.2000.0":
version "0.1900.3" version "0.1900.3"
resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1900.3.tgz#ebc7f62ec7c284bf68e390cd1187bf75b0941a6d" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1900.3.tgz#ebc7f62ec7c284bf68e390cd1187bf75b0941a6d"
integrity sha512-8goF98QbzC2pkZkNytun4ViTRnLjMhPIx6ze60V2+OaMjUCkJ25nWcyTd0Q3rNx7wYr9IVuzpeAQBmiZ5igEMg== integrity sha512-8goF98QbzC2pkZkNytun4ViTRnLjMhPIx6ze60V2+OaMjUCkJ25nWcyTd0Q3rNx7wYr9IVuzpeAQBmiZ5igEMg==
@ -30,7 +38,30 @@
rxjs "7.8.1" rxjs "7.8.1"
source-map "0.7.4" source-map "0.7.4"
"@angular-devkit/schematics@19.0.3", "@angular-devkit/schematics@>= 19.0.0 < 20.0.0": "@angular-devkit/core@19.0.5":
version "19.0.5"
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-19.0.5.tgz#3dcd83cc2e00bb718e7c03af82dda436968776d1"
integrity sha512-njBblpYHmlDI+Jtbub9NEm9RH+SBIFmmsgL9uJB8GxQVSo2qo4+f69nTkijRNN8WNKsSkYoRR9+JSl9QXWbyEA==
dependencies:
ajv "8.17.1"
ajv-formats "3.0.1"
jsonc-parser "3.3.1"
picomatch "4.0.2"
rxjs "7.8.1"
source-map "0.7.4"
"@angular-devkit/schematics@19.0.5":
version "19.0.5"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-19.0.5.tgz#8120d0ca291ed8f4b426bd65379ec82c1d2545c3"
integrity sha512-dhLVBVb0ECfcIP59azoD/5lJMSMU//bo1LEbuE0VrFA9orVxQhgilNuZeVXBr5sOll1PFjxs/fqyX8sAH9xQYw==
dependencies:
"@angular-devkit/core" "19.0.5"
jsonc-parser "3.3.1"
magic-string "0.30.12"
ora "5.4.1"
rxjs "7.8.1"
"@angular-devkit/schematics@>= 19.0.0 < 20.0.0":
version "19.0.3" version "19.0.3"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-19.0.3.tgz#c82bd9aad6edfefd9112b80ff64eb8d7dce2fa10" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-19.0.3.tgz#c82bd9aad6edfefd9112b80ff64eb8d7dce2fa10"
integrity sha512-ZeSIki4FbB/hXU2NAKdOX6Y7kvoQgkK8pa4WliVeW0bw2z/20J9i2iSULwEeItoc16AGICFL/z33ZZ8gNmUp0Q== integrity sha512-ZeSIki4FbB/hXU2NAKdOX6Y7kvoQgkK8pa4WliVeW0bw2z/20J9i2iSULwEeItoc16AGICFL/z33ZZ8gNmUp0Q==
@ -41,79 +72,79 @@
ora "5.4.1" ora "5.4.1"
rxjs "7.8.1" rxjs "7.8.1"
"@angular-eslint/builder@19.0.0": "@angular-eslint/builder@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/builder/-/builder-19.0.0.tgz#30ab2b9bfe3d7180d07dcf8ded430a0ef7b3ecad" resolved "https://registry.yarnpkg.com/@angular-eslint/builder/-/builder-19.0.2.tgz#62b8908187db6292732b265c07402a9bfde8c662"
integrity sha512-vi68ADoEKrg2SB87jwUCaVhOhWPpXyG6X8QJzg8AiYDCQY721x1l6Pdz6WZOPruWALyoIyFGFXqtuysDGqIBhw== integrity sha512-BdmMSndQt2fSBiTVniskUcUpQaeweUapbsL0IDfQ7a13vL0NVXpc3K89YXuVE/xsb08uHtqphuwxPAAj6kX3OA==
dependencies: dependencies:
"@angular-devkit/architect" ">= 0.1900.0 < 0.2000.0" "@angular-devkit/architect" ">= 0.1900.0 < 0.2000.0"
"@angular-devkit/core" ">= 19.0.0 < 20.0.0" "@angular-devkit/core" ">= 19.0.0 < 20.0.0"
"@angular-eslint/bundled-angular-compiler@19.0.0": "@angular-eslint/bundled-angular-compiler@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-19.0.0.tgz#53260ab328a98ff50726b220de9044d1c4db5c09" resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-19.0.2.tgz#9308199fda2581953a4a9b8b270dd289b5034c68"
integrity sha512-q6IaiqKYcmBW/gw55tytDucguo5E48szVCLNLHUFdN98YDDsP+KM3MPWYPyZcXpusmFfIjLdr8d41PlKmyMUpg== integrity sha512-HPmp92r70SNO/0NdIaIhxrgVSpomqryuUk7jszvNRtu+OzYCJGcbLhQD38T3dbBWT/AV0QXzyzExn6/2ai9fEw==
"@angular-eslint/eslint-plugin-template@19.0.0": "@angular-eslint/eslint-plugin-template@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-19.0.0.tgz#64953f0b1860eea119f1d0fd64ede631b0119616" resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-19.0.2.tgz#3ef9bccadf4021b231471e701dfb1cdaac5a53c7"
integrity sha512-d2NzuAyvFo00QGBv6BLno0KZ3Ptd+UNVHpI9vwU0giaZcjVsdKbcMvMfynkvHAAwVIVw5aSLwabIjnm0rc3x3A== integrity sha512-f/OCF9ThnxQ8m0eNYPwnCrySQPhYfCOF6STL7F9LnS8Bs3ZeW3/oT1yLaMIZ1Eg0ogIkgxksMAJZjrJPUPBD1Q==
dependencies: dependencies:
"@angular-eslint/bundled-angular-compiler" "19.0.0" "@angular-eslint/bundled-angular-compiler" "19.0.2"
"@angular-eslint/utils" "19.0.0" "@angular-eslint/utils" "19.0.2"
aria-query "5.3.2" aria-query "5.3.2"
axobject-query "4.1.0" axobject-query "4.1.0"
"@angular-eslint/eslint-plugin@19.0.0": "@angular-eslint/eslint-plugin@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin/-/eslint-plugin-19.0.0.tgz#6ff67221ba64fe6b361e39dbae143e87244aa692" resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin/-/eslint-plugin-19.0.2.tgz#3a9d6351996ebff98af6755cdbac9e7e307cc71d"
integrity sha512-WkUnH5zmvC/cH6f8BGiRK+KebrKdGbQmhtu3IHLEyzG9U4mBiIV8XkSzhdkY3RCN8bKqhmE5C3oNBLNCtvg4QQ== integrity sha512-DLuNVVGGFicSThOcMSJyNje+FZSPdG0B3lCBRiqcgKH/16kfM4pV8MobPM7RGK2NhaOmmZ4zzJNwpwWPSgi+Lw==
dependencies: dependencies:
"@angular-eslint/bundled-angular-compiler" "19.0.0" "@angular-eslint/bundled-angular-compiler" "19.0.2"
"@angular-eslint/utils" "19.0.0" "@angular-eslint/utils" "19.0.2"
"@angular-eslint/schematics@19.0.0": "@angular-eslint/schematics@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/schematics/-/schematics-19.0.0.tgz#aab0c918ce0785d03455a2833f68c0afb61d8a3f" resolved "https://registry.yarnpkg.com/@angular-eslint/schematics/-/schematics-19.0.2.tgz#44142f0bb292c262f229240f56debb5678c6aee7"
integrity sha512-fle4SMxjI+91y5eR6hVG7yhzJHAw87LudHw918hGUVn2INIAW1TTuuQNoah8kNg9I6ICIDat26IenD4nOau6Gg== integrity sha512-wI4SyiAnUCrpigtK6PHRlVWMC9vWljqmlLhbsJV5O5yDajlmRdvgXvSHDefhJm0hSfvZYRXuiAARYv2+QVfnGA==
dependencies: dependencies:
"@angular-devkit/core" ">= 19.0.0 < 20.0.0" "@angular-devkit/core" ">= 19.0.0 < 20.0.0"
"@angular-devkit/schematics" ">= 19.0.0 < 20.0.0" "@angular-devkit/schematics" ">= 19.0.0 < 20.0.0"
"@angular-eslint/eslint-plugin" "19.0.0" "@angular-eslint/eslint-plugin" "19.0.2"
"@angular-eslint/eslint-plugin-template" "19.0.0" "@angular-eslint/eslint-plugin-template" "19.0.2"
ignore "6.0.2" ignore "6.0.2"
semver "7.6.3" semver "7.6.3"
strip-json-comments "3.1.1" strip-json-comments "3.1.1"
"@angular-eslint/template-parser@19.0.0": "@angular-eslint/template-parser@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/template-parser/-/template-parser-19.0.0.tgz#f007b35437af97020e861b1468c3c97f8aed1466" resolved "https://registry.yarnpkg.com/@angular-eslint/template-parser/-/template-parser-19.0.2.tgz#c03a45c2bef06adb2fb518db68b0d91074ab885c"
integrity sha512-bOLMNBQbrLMujGWSda0SF8ka7snQ9Uzxie1dr5LquI104p2J4Wt90DOoaWzhNaBBwedt3WXmhSHmvvR9720kHA== integrity sha512-z3rZd2sBfuYcFf9rGDsB2zz2fbGX8kkF+0ftg9eocyQmzWrlZHFmuw9ha7oP/Mz8gpblyCS/aa1U/Srs6gz0UQ==
dependencies: dependencies:
"@angular-eslint/bundled-angular-compiler" "19.0.0" "@angular-eslint/bundled-angular-compiler" "19.0.2"
eslint-scope "^8.0.2" eslint-scope "^8.0.2"
"@angular-eslint/utils@19.0.0": "@angular-eslint/utils@19.0.2":
version "19.0.0" version "19.0.2"
resolved "https://registry.yarnpkg.com/@angular-eslint/utils/-/utils-19.0.0.tgz#d161e2bbac4cf573fabe19dede5caa1885bdcedc" resolved "https://registry.yarnpkg.com/@angular-eslint/utils/-/utils-19.0.2.tgz#6e435385caa68f752f3ee9f0f9f917f77bf44cad"
integrity sha512-PH40BmIcIr5ldr08XYnqJ8cTzJfScJjBym4SECsilBnz5fhCdTD7UEQiW4d0P78Ie8H5PxvOJx9ZE+L4WBNrTA== integrity sha512-HotBT8OKr7zCaX1S9k27JuhRiTVIbbYVl6whlb3uwdMIPIWY8iOcEh1tjI4qDPUafpLfR72Dhwi5bO1E17F3/Q==
dependencies: dependencies:
"@angular-eslint/bundled-angular-compiler" "19.0.0" "@angular-eslint/bundled-angular-compiler" "19.0.2"
"@angular/animations@19.0.3": "@angular/animations@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-19.0.3.tgz#db9f370fbaa31744aec3829189d2bcfde48973ee" resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-19.0.4.tgz#e710982d114a9ee9fc0fe87f83d93bff6246a305"
integrity sha512-YWoXM2S5p+Eq6cX1xjtFaai23oVNnbf3u34pEQCyKDjZpqI5lMu8e63lQT0tf7fZttEWlNUYRTwQ9+MpZ0sjzQ== integrity sha512-iGuOMlVhLBmGCSJ5azqwLdsBIFlWXtB+CffeoJjKXGjR2YRxP1aylNccB5UqE7G/XjNNLjJfLkm+nQUAWGLMNg==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/build@^19.0.3": "@angular/build@^19.0.5":
version "19.0.3" version "19.0.5"
resolved "https://registry.yarnpkg.com/@angular/build/-/build-19.0.3.tgz#2d8b5cb837a03dc84c9dcde8a9da44184cd4f8e4" resolved "https://registry.yarnpkg.com/@angular/build/-/build-19.0.5.tgz#53207f0075021b427135af6dd6921577f88c9d05"
integrity sha512-lUM8+/8iQuCzq+tGpuaHklsmgai19aBjaI8QWUmD5KYKQcg0DBtrx8WgG3bRKvhvY77AVVLhabMimzTjtrKVXA== integrity sha512-/4msIXebFfDWcsyYGDzcxrhn1G1bWVTVbLYqkDXDVYFTqWRpBA8UtQ6eLM8FrJqrHw9e/1cxkqBNsR0tkDJ9FQ==
dependencies: dependencies:
"@ampproject/remapping" "2.3.0" "@ampproject/remapping" "2.3.0"
"@angular-devkit/architect" "0.1900.3" "@angular-devkit/architect" "0.1900.5"
"@babel/core" "7.26.0" "@babel/core" "7.26.0"
"@babel/helper-annotate-as-pure" "7.25.9" "@babel/helper-annotate-as-pure" "7.25.9"
"@babel/helper-split-export-declaration" "7.24.7" "@babel/helper-split-export-declaration" "7.24.7"
@ -140,26 +171,26 @@
optionalDependencies: optionalDependencies:
lmdb "3.1.5" lmdb "3.1.5"
"@angular/cdk@19.0.2": "@angular/cdk@19.0.3":
version "19.0.2" version "19.0.3"
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-19.0.2.tgz#0529cd283879950366236562502ef63d750b8641" resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-19.0.3.tgz#d8b0c419a31783c603965065640f4f9b7192605c"
integrity sha512-eDjHJJWpgnzC3pR6N0gCdh51Q1ffoh6mql06YSqprj005aNKBjmCMnpU4bPPzdGSkKsjwAZWGUNWg4RS+R+iZQ== integrity sha512-sPdIKbSgNk4z02FqdTTMUS62aLVA2R/DsnOk3qdH+nEfeS4nNWQEzwrvMf6dDsTeLQ6YJLWXfZfemsGYpOoiWg==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
optionalDependencies: optionalDependencies:
parse5 "^7.1.2" parse5 "^7.1.2"
"@angular/cli@19.0.3": "@angular/cli@19.0.5":
version "19.0.3" version "19.0.5"
resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-19.0.3.tgz#de619b1e5f66b1675261b3e6b2080380c87c1119" resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-19.0.5.tgz#6e0ee72a7a14c7681d52918068de3aa2cf483691"
integrity sha512-ZCreBfqt3fUoZ+mPwrHT4tUzOGQzIfMIv2SUU0DZQyeGeqH1Yjcid3Jcn5iZKkMccSUL4NUpIfId+6AbsTX7RQ== integrity sha512-AalLr1EbgJqBbzk+5ZtXwg6wCwLlRLd+CRrZZcC6QSee69mfsU9jEP2KFlMAecajOCqAGK3H4ZRiTZNeQ3y5AA==
dependencies: dependencies:
"@angular-devkit/architect" "0.1900.3" "@angular-devkit/architect" "0.1900.5"
"@angular-devkit/core" "19.0.3" "@angular-devkit/core" "19.0.5"
"@angular-devkit/schematics" "19.0.3" "@angular-devkit/schematics" "19.0.5"
"@inquirer/prompts" "7.1.0" "@inquirer/prompts" "7.1.0"
"@listr2/prompt-adapter-inquirer" "2.0.18" "@listr2/prompt-adapter-inquirer" "2.0.18"
"@schematics/angular" "19.0.3" "@schematics/angular" "19.0.5"
"@yarnpkg/lockfile" "1.1.0" "@yarnpkg/lockfile" "1.1.0"
ini "5.0.0" ini "5.0.0"
jsonc-parser "3.3.1" jsonc-parser "3.3.1"
@ -172,17 +203,17 @@
symbol-observable "4.0.0" symbol-observable "4.0.0"
yargs "17.7.2" yargs "17.7.2"
"@angular/common@19.0.3": "@angular/common@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/common/-/common-19.0.3.tgz#5412ab4f130c3a13e79e9191b3933af7d2d2dbc3" resolved "https://registry.yarnpkg.com/@angular/common/-/common-19.0.4.tgz#4740c2f4871ec952cc059b8eb23a83916501e70d"
integrity sha512-YyBVZU+LQ38R+/U5vF/b1T3muROKpR0kkupMw7VKnGhQfgrRX5Dk3H2nr9ritt0zPc7TOUuQSlHMf3QWah2GDg== integrity sha512-SBWraO5NVZa/QJPrVbk3IsUmZQDriYBvqYuZFJaI/UTbhcAedNRsLDbKHtOYrHHx6K1saPXSQCufWgFo30lEqw==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/compiler-cli@19.0.3": "@angular/compiler-cli@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-19.0.3.tgz#210b17ee4f54b6736f4138348dd9dc78143ef1b3" resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-19.0.4.tgz#84b463b9e9852004e360936e004b2bc7bc9eb4b2"
integrity sha512-nayLcC3hSHoGKXCZInMdFcIZJEHYkEGNsdAutgCMuSj+lXCGuRUysuGC0rGzJc2R6nhgfaLJnO8T/O5acqaqdA== integrity sha512-D26HwIYNuvo39Jnimv3VguBpMZkpGf1zAS3ZE9atfk1AQOew7KSFnqbSm1IRHiTj99cqnBE068q1zZnXg+3mEA==
dependencies: dependencies:
"@babel/core" "7.26.0" "@babel/core" "7.26.0"
"@jridgewell/sourcemap-codec" "^1.4.14" "@jridgewell/sourcemap-codec" "^1.4.14"
@ -193,64 +224,64 @@
tslib "^2.3.0" tslib "^2.3.0"
yargs "^17.2.1" yargs "^17.2.1"
"@angular/compiler@19.0.3": "@angular/compiler@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-19.0.3.tgz#970bf33c24c4ce73726a78b704b52edd47860fda" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-19.0.4.tgz#7e98aefb9543f09c1350ebd41a1231de5a97dc52"
integrity sha512-cxtK4SlHAPstcXfjwOaoR1dAszrzo2iDF8ZiihbZPgKUG3m27qIU3Lp5XBgxfZPlO4jh6TXkWznY7f6Tyxkb0Q== integrity sha512-DWeP7lnR8L8W/jtmO9oWEGC9JcFE+GCLrsHm8cJN1a4jf9JA1OB8UsPdqxS/JHJJ8GWk5U1ivpTzxKBpXx6ShA==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/core@19.0.3": "@angular/core@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-19.0.3.tgz#1e3af41c7aed97400212af8dc23a80b36a24adb7" resolved "https://registry.yarnpkg.com/@angular/core/-/core-19.0.4.tgz#0cf520ff2bc7de854345437d24d3d19284a9648e"
integrity sha512-WM844gDzrbHtcM2TJB9DmfCmenUYyNSI6h924CeppDW5oG8ShinQGiWNjF5oI6EZ4tG60uK3QvCm3kjr1dmbOA== integrity sha512-eoLixL8+03HpMIrmbL9lX+PAEw/fJSGshUH99IN9ZgCDEWeAlORg3U5RQEEh59ovelGfTn/sNaYhWsLVoBUIYQ==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/forms@19.0.3": "@angular/forms@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-19.0.3.tgz#db4c7c0fb5cd41c651fda4dc2ad5c6aee9148265" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-19.0.4.tgz#9df91e11d5c386c4b9e84389ef31d11ecdddb2d6"
integrity sha512-8wf8yDR6cW+lOhpzhmxUOiI5Wjr1Kf7o8NuJ2P5K6b7IMNRzRyR5q/6R4NUwtF6aaJ1wNqmSof+goQmtn1HOcw== integrity sha512-smBCOjqCOMjHxRwwmImo58esSatGRsIxEaPytMezWWXqcD9pCZFzHskXA7218cJBRO8T9wuAf5AJFSqD4Yg72A==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/language-service@19.0.3": "@angular/language-service@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-19.0.3.tgz#e0d29c81f877c1744ac2f2cf1a048e40367264f7" resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-19.0.4.tgz#994380cd89ef49c699ef6e3f7203e401c36f5b82"
integrity sha512-SkUFggQayulgMWW4rwslLVCD7woZ1m7dCB87NCQdlZv9NIrHbNkaPfxHzaX3YrdKhw+u65XcttzD7cworcMcVQ== integrity sha512-Mf4TwJ09fReFFVzvfwSWUVOO66wS7IpzG5Eg+s46+v3VMWT8c7Tayp+wRLD6bvj58g8MJJeIerrFCP8bDhGKiw==
"@angular/material@19.0.2": "@angular/material@19.0.3":
version "19.0.2" version "19.0.3"
resolved "https://registry.yarnpkg.com/@angular/material/-/material-19.0.2.tgz#c6aeaa31dbd3f9dfa9e3d0ec87651b283704e573" resolved "https://registry.yarnpkg.com/@angular/material/-/material-19.0.3.tgz#64237b65857ed6794f975107c17c48e521adc2eb"
integrity sha512-IKU6znBKgD0xHEGo5WD3JWNK+WjamMCzAvSa72w4Evo2N6PWN+dAkbCMYxugW7dOfwoT8DvUnjIWclC+RRCl0A== integrity sha512-aHAnmEzoE6nEF7S/lBlMwDMs6ZEkvE3omg9g6jY6WyKWtP9HYeCfwxmTPVclqcbXWxJWO/5Bvwfcjzs75uC+YA==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/platform-browser-dynamic@19.0.3": "@angular/platform-browser-dynamic@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.3.tgz#913d3526eadb1f8e6e733e7cb40f93e805c400c7" resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.4.tgz#53782fd9a37ff4dfed6ade5ab784e0cb839256b4"
integrity sha512-gFh+QN7JvepnD3mS0XmOtDmfY8h5sSkk2/guesE2A68Na8q+M3fGZlz7I37tCXToLth5us1X0Gi0UPCSESc4SA== integrity sha512-tO1WeGN7nORU/377t0VClyPin7JtURqld6+zuYlDWjr/wKHDS1OM7rwbOYFMxHmutWGjANwG6BP8gWXgGsHJeg==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/platform-browser@19.0.3": "@angular/platform-browser@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-19.0.3.tgz#f055ebf36c55753c4f818cb615f194b375443f0c" resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-19.0.4.tgz#f1e4169900c87c53d62e0a781bb15384b835e805"
integrity sha512-vggWHSzOsCpYqnGq5IIN+n7xdEvXfgUGaMdgzPhFMTsnlMTUs5+VEFl9tX9FANHkXKB5S1RttVyvEXRqJM9ncQ== integrity sha512-/PRr7kLVVqNFqAkw+SK8RwqE479qCcUyuw6GOHtGabt3ZfQKSbx+pTioVrZFEy5pTBMslCPV5q3I+wGRG7/nyg==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/router@19.0.3": "@angular/router@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/router/-/router-19.0.3.tgz#1b514abdb8f8068dfad1ff8813f68232e6e7743b" resolved "https://registry.yarnpkg.com/@angular/router/-/router-19.0.4.tgz#325446dd69d55546a646627e9f8ef0f3245bc030"
integrity sha512-L/s8crRC6nj5knmHsnPeOXMNdC7vUOSOvTQonXhmT0FdlP9bPnnRrNeVDnLnd8AzjPSBfIFE2eQw6T8jCwdxMA== integrity sha512-GYab1nDwlSLGKr5kAOButbL2/ht7gsTmMKKZsiQTuPgi6YX6N/t5wLP5H0TbHm+hxV/NVRXcoMQUa8TjpeKN2A==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
"@angular/service-worker@19.0.3": "@angular/service-worker@19.0.4":
version "19.0.3" version "19.0.4"
resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-19.0.3.tgz#84c15ac2804992d71907e2cba0439d78e602b236" resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-19.0.4.tgz#ce5904f3c3f554e420b4e48984c923a4efe3e9ec"
integrity sha512-MPvAs0lFAyZbwoHQ6NJgvUM1rHA65UhXZjqRJNq2O5k9Ajd4xFkCtp7UuAOaiTgOlo8ecKB1SMWOw+b86N4+oQ== integrity sha512-/e9726lE9DWE5q6p0OL7YNmYO6LkM4wzwdZc886SSSU82hSJXL4lZfqqm1ZZ5kIjWEimG6W9lMlY+oMW1ZbbKg==
dependencies: dependencies:
tslib "^2.3.0" tslib "^2.3.0"
@ -1673,10 +1704,10 @@
"@parcel/watcher-win32-ia32" "2.5.0" "@parcel/watcher-win32-ia32" "2.5.0"
"@parcel/watcher-win32-x64" "2.5.0" "@parcel/watcher-win32-x64" "2.5.0"
"@pdftron/webviewer@11.1.0": "@pdftron/webviewer@11.1.1":
version "11.1.0" version "11.1.1"
resolved "https://registry.yarnpkg.com/@pdftron/webviewer/-/webviewer-11.1.0.tgz#37618420e21d95fb56c41141f0a93b39d7632ad1" resolved "https://registry.yarnpkg.com/@pdftron/webviewer/-/webviewer-11.1.1.tgz#6704d901fc6614f096d0bdc7b88b5a63349e576e"
integrity sha512-zUh4gR/sIw/ipViaOUP0zvcguFMjzEuVFwpl5NcuY5vM0/y9rZGFNGmZOn/btkajOsFv8uqSpn4d1AaC8wKUmQ== integrity sha512-bz+eDcGx+LNuD6FB1c5hJk2C4ZNzh9HUimMqlcY42wphamPk40mKJTceaHbU+uacHncChwhPFIVq0ZN0BgSYTQ==
"@phenomnomnominal/tsquery@^6.1.3": "@phenomnomnominal/tsquery@^6.1.3":
version "6.1.3" version "6.1.3"
@ -1881,13 +1912,13 @@
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.0.tgz#cb313feef9ac6e3737067fdf34f42804ac65a6f2" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.0.tgz#cb313feef9ac6e3737067fdf34f42804ac65a6f2"
integrity sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ== integrity sha512-Bvno2/aZT6usSa7lRDL2+hMjVAGjuqaymF1ApZm31JXzniR/hvr14jpU+/z4X6Gt5BPlzosscyJZGUvguXIqeQ==
"@schematics/angular@19.0.3": "@schematics/angular@19.0.5", "@schematics/angular@^19.0.5":
version "19.0.3" version "19.0.5"
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-19.0.3.tgz#3a646df4c7bfccf157186c4f0b6f706c6d77ae28" resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-19.0.5.tgz#428423555bf829a1ea661e84ba2d4333af733aeb"
integrity sha512-NQsYHld7pJDAmlwpaTL5D/u9SIHLuNxOmY9KH8DvLwhtzlGLpriTJ5w8q68qyShH/4dYzUiOts1yTavOOiZt4w== integrity sha512-4nBJZF8HvSdj/RoyIixAfOuKEQaEBsEBtohIow8iHX1wcLax558d70O/ZM6EOh2FQxmEaxUe1x4KwBQIha8RxA==
dependencies: dependencies:
"@angular-devkit/core" "19.0.3" "@angular-devkit/core" "19.0.5"
"@angular-devkit/schematics" "19.0.3" "@angular-devkit/schematics" "19.0.5"
jsonc-parser "3.3.1" jsonc-parser "3.3.1"
"@sigstore/bundle@^3.0.0": "@sigstore/bundle@^3.0.0":
@ -2129,13 +2160,20 @@
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb"
integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==
"@types/node@*", "@types/node@22.10.1": "@types/node@*":
version "22.10.1" version "22.10.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766"
integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==
dependencies: dependencies:
undici-types "~6.20.0" undici-types "~6.20.0"
"@types/node@22.10.2":
version "22.10.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.2.tgz#a485426e6d1fdafc7b0d4c7b24e2c78182ddabb9"
integrity sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==
dependencies:
undici-types "~6.20.0"
"@types/semver@^7.3.12": "@types/semver@^7.3.12":
version "7.5.8" version "7.5.8"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
@ -2173,16 +2211,16 @@
dependencies: dependencies:
"@types/yargs-parser" "*" "@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^8.17.0": "@typescript-eslint/eslint-plugin@^8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz#2ee073c421f4e81e02d10e731241664b6253b23c" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.0.tgz#0901933326aea4443b81df3f740ca7dfc45c7bea"
integrity sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w== integrity sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==
dependencies: dependencies:
"@eslint-community/regexpp" "^4.10.0" "@eslint-community/regexpp" "^4.10.0"
"@typescript-eslint/scope-manager" "8.17.0" "@typescript-eslint/scope-manager" "8.18.0"
"@typescript-eslint/type-utils" "8.17.0" "@typescript-eslint/type-utils" "8.18.0"
"@typescript-eslint/utils" "8.17.0" "@typescript-eslint/utils" "8.18.0"
"@typescript-eslint/visitor-keys" "8.17.0" "@typescript-eslint/visitor-keys" "8.18.0"
graphemer "^1.4.0" graphemer "^1.4.0"
ignore "^5.3.1" ignore "^5.3.1"
natural-compare "^1.4.0" natural-compare "^1.4.0"
@ -2195,15 +2233,15 @@
dependencies: dependencies:
"@typescript-eslint/utils" "5.62.0" "@typescript-eslint/utils" "5.62.0"
"@typescript-eslint/parser@^8.17.0": "@typescript-eslint/parser@^8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.17.0.tgz#2ee972bb12fa69ac625b85813dc8d9a5a053ff52" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.0.tgz#a1c9456cbb6a089730bf1d3fc47946c5fb5fe67b"
integrity sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg== integrity sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==
dependencies: dependencies:
"@typescript-eslint/scope-manager" "8.17.0" "@typescript-eslint/scope-manager" "8.18.0"
"@typescript-eslint/types" "8.17.0" "@typescript-eslint/types" "8.18.0"
"@typescript-eslint/typescript-estree" "8.17.0" "@typescript-eslint/typescript-estree" "8.18.0"
"@typescript-eslint/visitor-keys" "8.17.0" "@typescript-eslint/visitor-keys" "8.18.0"
debug "^4.3.4" debug "^4.3.4"
"@typescript-eslint/scope-manager@5.62.0": "@typescript-eslint/scope-manager@5.62.0":
@ -2214,21 +2252,21 @@
"@typescript-eslint/types" "5.62.0" "@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0"
"@typescript-eslint/scope-manager@8.17.0": "@typescript-eslint/scope-manager@8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz#a3f49bf3d4d27ff8d6b2ea099ba465ef4dbcaa3a" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.0.tgz#30b040cb4557804a7e2bcc65cf8fdb630c96546f"
integrity sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg== integrity sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==
dependencies: dependencies:
"@typescript-eslint/types" "8.17.0" "@typescript-eslint/types" "8.18.0"
"@typescript-eslint/visitor-keys" "8.17.0" "@typescript-eslint/visitor-keys" "8.18.0"
"@typescript-eslint/type-utils@8.17.0": "@typescript-eslint/type-utils@8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz#d326569f498cdd0edf58d5bb6030b4ad914e63d3" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.0.tgz#6f0d12cf923b6fd95ae4d877708c0adaad93c471"
integrity sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw== integrity sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==
dependencies: dependencies:
"@typescript-eslint/typescript-estree" "8.17.0" "@typescript-eslint/typescript-estree" "8.18.0"
"@typescript-eslint/utils" "8.17.0" "@typescript-eslint/utils" "8.18.0"
debug "^4.3.4" debug "^4.3.4"
ts-api-utils "^1.3.0" ts-api-utils "^1.3.0"
@ -2237,10 +2275,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
"@typescript-eslint/types@8.17.0": "@typescript-eslint/types@8.18.0", "@typescript-eslint/types@^8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.17.0.tgz#ef84c709ef8324e766878834970bea9a7e3b72cf" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.0.tgz#3afcd30def8756bc78541268ea819a043221d5f3"
integrity sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA== integrity sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==
"@typescript-eslint/typescript-estree@5.62.0": "@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0" version "5.62.0"
@ -2255,13 +2293,13 @@
semver "^7.3.7" semver "^7.3.7"
tsutils "^3.21.0" tsutils "^3.21.0"
"@typescript-eslint/typescript-estree@8.17.0": "@typescript-eslint/typescript-estree@8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz#40b5903bc929b1e8dd9c77db3cb52cfb199a2a34" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.0.tgz#d8ca785799fbb9c700cdff1a79c046c3e633c7f9"
integrity sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw== integrity sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==
dependencies: dependencies:
"@typescript-eslint/types" "8.17.0" "@typescript-eslint/types" "8.18.0"
"@typescript-eslint/visitor-keys" "8.17.0" "@typescript-eslint/visitor-keys" "8.18.0"
debug "^4.3.4" debug "^4.3.4"
fast-glob "^3.3.2" fast-glob "^3.3.2"
is-glob "^4.0.3" is-glob "^4.0.3"
@ -2283,15 +2321,15 @@
eslint-scope "^5.1.1" eslint-scope "^5.1.1"
semver "^7.3.7" semver "^7.3.7"
"@typescript-eslint/utils@8.17.0", "@typescript-eslint/utils@^8.17.0": "@typescript-eslint/utils@8.18.0", "@typescript-eslint/utils@^8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.17.0.tgz#41c05105a2b6ab7592f513d2eeb2c2c0236d8908" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.0.tgz#48f67205d42b65d895797bb7349d1be5c39a62f7"
integrity sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w== integrity sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==
dependencies: dependencies:
"@eslint-community/eslint-utils" "^4.4.0" "@eslint-community/eslint-utils" "^4.4.0"
"@typescript-eslint/scope-manager" "8.17.0" "@typescript-eslint/scope-manager" "8.18.0"
"@typescript-eslint/types" "8.17.0" "@typescript-eslint/types" "8.18.0"
"@typescript-eslint/typescript-estree" "8.17.0" "@typescript-eslint/typescript-estree" "8.18.0"
"@typescript-eslint/visitor-keys@5.62.0": "@typescript-eslint/visitor-keys@5.62.0":
version "5.62.0" version "5.62.0"
@ -2301,12 +2339,12 @@
"@typescript-eslint/types" "5.62.0" "@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0" eslint-visitor-keys "^3.3.0"
"@typescript-eslint/visitor-keys@8.17.0": "@typescript-eslint/visitor-keys@8.18.0":
version "8.17.0" version "8.18.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz#4dbcd0e28b9bf951f4293805bf34f98df45e1aa8" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.0.tgz#7b6d33534fa808e33a19951907231ad2ea5c36dd"
integrity sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg== integrity sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==
dependencies: dependencies:
"@typescript-eslint/types" "8.17.0" "@typescript-eslint/types" "8.18.0"
eslint-visitor-keys "^4.2.0" eslint-visitor-keys "^4.2.0"
"@ungap/structured-clone@^1.2.0": "@ungap/structured-clone@^1.2.0":
@ -2505,11 +2543,6 @@ acorn@^8.0.4, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
adm-zip@0.5.12:
version "0.5.12"
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.12.tgz#87786328e91d54b37358d8a50f954c4cd73ba60b"
integrity sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==
agent-base@6: agent-base@6:
version "6.0.2" version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@ -2642,15 +2675,6 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
axios@1.7.7:
version "1.7.7"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f"
integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==
dependencies:
follow-redirects "^1.15.6"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
axios@1.7.9: axios@1.7.9:
version "1.7.9" version "1.7.9"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a"
@ -2665,11 +2689,6 @@ axobject-query@4.1.0:
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee"
integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==
b4a@^1.6.4:
version "1.6.7"
resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.7.tgz#a99587d4ebbfbd5a6e3b21bdb5d5fa385767abe4"
integrity sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==
babel-jest@^29.7.0: babel-jest@^29.7.0:
version "29.7.0" version "29.7.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5"
@ -2738,11 +2757,6 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
bare-events@^2.2.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.5.0.tgz#305b511e262ffd8b9d5616b056464f8e1b3329cc"
integrity sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==
base64-js@^1.3.1, base64-js@^1.5.1: base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1" version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
@ -3034,11 +3048,6 @@ combined-stream@^1.0.8:
dependencies: dependencies:
delayed-stream "~1.0.0" delayed-stream "~1.0.0"
commander@12.0.0:
version "12.0.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-12.0.0.tgz#b929db6df8546080adfd004ab215ed48cf6f2592"
integrity sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==
commander@^2.20.0: commander@^2.20.0:
version "2.20.3" version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@ -3168,13 +3177,20 @@ debounce@^1.2.1:
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.6, debug@~4.3.6: debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.6:
version "4.3.7" version "4.3.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52"
integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
dependencies: dependencies:
ms "^2.1.3" ms "^2.1.3"
debug@~4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
dependencies:
ms "^2.1.3"
decamelize@^5.0.0: decamelize@^5.0.0:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9"
@ -3705,11 +3721,6 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
fast-fifo@^1.2.0, fast-fifo@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c"
integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==
fast-glob@3.3.2, fast-glob@^3.2.9, fast-glob@^3.3.2: fast-glob@3.3.2, fast-glob@^3.2.9, fast-glob@^3.3.2:
version "3.3.2" version "3.3.2"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
@ -3833,15 +3844,6 @@ form-data@^4.0.0:
combined-stream "^1.0.8" combined-stream "^1.0.8"
mime-types "^2.1.12" mime-types "^2.1.12"
fs-extra@11.2.0:
version "11.2.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b"
integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-minipass@^2.0.0: fs-minipass@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
@ -3983,7 +3985,7 @@ google-translate-api-browser@^5.0.0:
resolved "https://registry.yarnpkg.com/google-translate-api-browser/-/google-translate-api-browser-5.0.0.tgz#70f33a06e5b683d4133d3f44e8c2f790f26b57d4" resolved "https://registry.yarnpkg.com/google-translate-api-browser/-/google-translate-api-browser-5.0.0.tgz#70f33a06e5b683d4133d3f44e8c2f790f26b57d4"
integrity sha512-fU+OMp1Ne/RyN3ETnOKOOnPCQk/ZXF351Ih+Mf3hycuNQl94ZB3Q/oZM3LyRzRsQLMVlxq99HNZ2q1sYoh/6kA== integrity sha512-fU+OMp1Ne/RyN3ETnOKOOnPCQk/ZXF351Ih+Mf3hycuNQl94ZB3Q/oZM3LyRzRsQLMVlxq99HNZ2q1sYoh/6kA==
graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.11" version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@ -4019,11 +4021,6 @@ hosted-git-info@^8.0.0:
dependencies: dependencies:
lru-cache "^10.0.1" lru-cache "^10.0.1"
hpagent@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/hpagent/-/hpagent-1.2.0.tgz#0ae417895430eb3770c03443456b8d90ca464903"
integrity sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==
html-encoding-sniffer@^3.0.0: html-encoding-sniffer@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9"
@ -4696,13 +4693,6 @@ jest-snapshot@^29.7.0:
pretty-format "^29.7.0" pretty-format "^29.7.0"
semver "^7.5.3" semver "^7.5.3"
jest-sonar-reporter@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/jest-sonar-reporter/-/jest-sonar-reporter-2.0.0.tgz#faa54a7d2af7198767ee246a82b78c576789cf08"
integrity sha512-ZervDCgEX5gdUbdtWsjdipLN3bKJwpxbvhkYNXTAYvAckCihobSLr9OT/IuyNIRT1EZMDDwR6DroWtrq+IL64w==
dependencies:
xml "^1.0.1"
jest-util@^29.0.0, jest-util@^29.7.0: jest-util@^29.0.0, jest-util@^29.7.0:
version "29.7.0" version "29.7.0"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc"
@ -4877,15 +4867,6 @@ jsonc-parser@3.3.1:
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4"
integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
dependencies:
universalify "^2.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
jsonparse@^1.3.1: jsonparse@^1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
@ -4954,7 +4935,7 @@ lie@~3.3.0:
dependencies: dependencies:
immediate "~3.0.5" immediate "~3.0.5"
lilconfig@~3.1.2: lilconfig@~3.1.3:
version "3.1.3" version "3.1.3"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4"
integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==
@ -4964,23 +4945,23 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
lint-staged@15.2.10: lint-staged@15.2.11:
version "15.2.10" version "15.2.11"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.10.tgz#92ac222f802ba911897dcf23671da5bb80643cd2" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.11.tgz#e88440982f4a4c1d55a9a7a839259ec3806bd81b"
integrity sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg== integrity sha512-Ev6ivCTYRTGs9ychvpVw35m/bcNDuBN+mnTeObCL5h+boS5WzBEC6LHI4I9F/++sZm1m+J2LEiy0gxL/R9TBqQ==
dependencies: dependencies:
chalk "~5.3.0" chalk "~5.3.0"
commander "~12.1.0" commander "~12.1.0"
debug "~4.3.6" debug "~4.4.0"
execa "~8.0.1" execa "~8.0.1"
lilconfig "~3.1.2" lilconfig "~3.1.3"
listr2 "~8.2.4" listr2 "~8.2.5"
micromatch "~4.0.8" micromatch "~4.0.8"
pidtree "~0.6.0" pidtree "~0.6.0"
string-argv "~0.3.2" string-argv "~0.3.2"
yaml "~2.5.0" yaml "~2.6.1"
listr2@8.2.5, listr2@~8.2.4: listr2@8.2.5, listr2@~8.2.5:
version "8.2.5" version "8.2.5"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.5.tgz#5c9db996e1afeb05db0448196d3d5f64fec2593d" resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.5.tgz#5c9db996e1afeb05db0448196d3d5f64fec2593d"
integrity sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== integrity sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==
@ -5075,13 +5056,6 @@ lru-cache@^5.1.1:
dependencies: dependencies:
yallist "^3.0.2" yallist "^3.0.2"
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
yallist "^4.0.0"
magic-string@0.30.12: magic-string@0.30.12:
version "0.30.12" version "0.30.12"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.12.tgz#9eb11c9d072b9bcb4940a5b2c2e1a217e4ee1a60" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.12.tgz#9eb11c9d072b9bcb4940a5b2c2e1a217e4ee1a60"
@ -5278,10 +5252,10 @@ mkdirp@^3.0.1:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50"
integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==
monaco-editor@0.52.0: monaco-editor@0.52.2:
version "0.52.0" version "0.52.2"
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.52.0.tgz#d47c02b191eae208d68878d679b3ee7456031be7" resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.52.2.tgz#53c75a6fcc6802684e99fd1b2700299857002205"
integrity sha512-OeWhNpABLCeTqubfqLMXGsqf6OmPU6pHM85kF3dhy6kq5hnhuVS1p3VrEW/XhWHc71P2tHyS5JFySD8mgs1crw== integrity sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==
moo@^0.5.1: moo@^0.5.1:
version "0.5.2" version "0.5.2"
@ -5396,11 +5370,6 @@ node-addon-api@^7.0.0:
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558"
integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==
node-forge@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
node-gyp-build-optional-packages@5.2.2: node-gyp-build-optional-packages@5.2.2:
version "5.2.2" version "5.2.2"
resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz#522f50c2d53134d7f3a76cd7255de4ab6c96a3a4" resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz#522f50c2d53134d7f3a76cd7255de4ab6c96a3a4"
@ -5880,11 +5849,6 @@ prompts@^2.0.1, prompts@~2.4.2:
kleur "^3.0.3" kleur "^3.0.3"
sisteransi "^1.0.5" sisteransi "^1.0.5"
properties-file@3.5.4:
version "3.5.4"
resolved "https://registry.yarnpkg.com/properties-file/-/properties-file-3.5.4.tgz#c40f54b16448c74afe551f4f696748c346ac828e"
integrity sha512-OGQPWZ4j9ENDKBl+wUHqNtzayGF5sLlVcmjcqEMUUHeCbUSggDndii+kjcBDPj3GQvqYB9sUEc4siX36wx4glw==
proxy-from-env@^1.1.0: proxy-from-env@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
@ -5917,11 +5881,6 @@ queue-microtask@^1.2.2:
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
queue-tick@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142"
integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==
randombytes@^2.1.0: randombytes@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@ -6174,10 +6133,10 @@ sass@1.80.7:
optionalDependencies: optionalDependencies:
"@parcel/watcher" "^2.4.1" "@parcel/watcher" "^2.4.1"
sass@1.82.0: sass@^1.83.0:
version "1.82.0" version "1.83.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.82.0.tgz#30da277af3d0fa6042e9ceabd0d984ed6d07df70" resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.0.tgz#e36842c0b88a94ed336fd16249b878a0541d536f"
integrity sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q== integrity sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==
dependencies: dependencies:
chokidar "^4.0.0" chokidar "^4.0.0"
immutable "^5.0.2" immutable "^5.0.2"
@ -6213,13 +6172,6 @@ scroll-into-view-if-needed@3.1.0:
dependencies: dependencies:
compute-scroll-into-view "^3.0.2" compute-scroll-into-view "^3.0.2"
semver@7.6.0:
version "7.6.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
dependencies:
lru-cache "^6.0.0"
semver@7.6.3, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: semver@7.6.3, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
version "7.6.3" version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
@ -6311,11 +6263,6 @@ slice-ansi@^7.1.0:
ansi-styles "^6.2.1" ansi-styles "^6.2.1"
is-fullwidth-code-point "^5.0.0" is-fullwidth-code-point "^5.0.0"
slugify@1.6.6:
version "1.6.6"
resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b"
integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==
smart-buffer@^4.2.0: smart-buffer@^4.2.0:
version "4.2.0" version "4.2.0"
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
@ -6338,24 +6285,6 @@ socks@^2.8.3:
ip-address "^9.0.5" ip-address "^9.0.5"
smart-buffer "^4.2.0" smart-buffer "^4.2.0"
sonarqube-scanner@4.2.6:
version "4.2.6"
resolved "https://registry.yarnpkg.com/sonarqube-scanner/-/sonarqube-scanner-4.2.6.tgz#b6b1a5f5d9760b1e5a51a775ca397885ca549343"
integrity sha512-UK6mCGr290bKo6yML9fYOyLrvPkU7vmnYPLvTWVUIQpxiTbkPm4bmPvhcIcSBBH0dN+cKObcrne1E8zuEYl95g==
dependencies:
adm-zip "0.5.12"
axios "1.7.7"
commander "12.0.0"
fs-extra "11.2.0"
hpagent "1.2.0"
jest-sonar-reporter "2.0.0"
node-forge "^1.3.1"
properties-file "3.5.4"
proxy-from-env "^1.1.0"
semver "7.6.0"
slugify "1.6.6"
tar-stream "3.1.7"
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
@ -6442,17 +6371,6 @@ streamsaver@^2.0.5:
resolved "https://registry.yarnpkg.com/streamsaver/-/streamsaver-2.0.6.tgz#869d2347dd70191e0ac888d52296956a8cba2ed9" resolved "https://registry.yarnpkg.com/streamsaver/-/streamsaver-2.0.6.tgz#869d2347dd70191e0ac888d52296956a8cba2ed9"
integrity sha512-LK4e7TfCV8HzuM0PKXuVUfKyCB1FtT9L0EGxsFk5Up8njj0bXK8pJM9+Wq2Nya7/jslmCQwRK39LFm55h7NBTw== integrity sha512-LK4e7TfCV8HzuM0PKXuVUfKyCB1FtT9L0EGxsFk5Up8njj0bXK8pJM9+Wq2Nya7/jslmCQwRK39LFm55h7NBTw==
streamx@^2.15.0:
version "2.21.0"
resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.21.0.tgz#ef42a3b3fada6887ba06964443adbbbec60c5851"
integrity sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==
dependencies:
fast-fifo "^1.3.2"
queue-tick "^1.0.1"
text-decoder "^1.1.0"
optionalDependencies:
bare-events "^2.2.0"
string-argv@~0.3.2: string-argv@~0.3.2:
version "0.3.2" version "0.3.2"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
@ -6609,15 +6527,6 @@ tapable@^2.1.1, tapable@^2.2.0:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
tar-stream@3.1.7:
version "3.1.7"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b"
integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==
dependencies:
b4a "^1.6.4"
fast-fifo "^1.2.0"
streamx "^2.15.0"
tar@^6.1.11: tar@^6.1.11:
version "6.2.1" version "6.2.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a"
@ -6672,11 +6581,6 @@ test-exclude@^6.0.0:
glob "^7.1.4" glob "^7.1.4"
minimatch "^3.0.4" minimatch "^3.0.4"
text-decoder@^1.1.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.1.tgz#e173f5121d97bfa3ff8723429ad5ba92e1ead67e"
integrity sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==
text-table@^0.2.0: text-table@^0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@ -6857,11 +6761,6 @@ universalify@^0.2.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
universalify@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
update-browserslist-db@^1.1.1: update-browserslist-db@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5"
@ -6890,10 +6789,10 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
uuid@^11.0.3: uuid@^9.0.0:
version "11.0.3" version "9.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.0.3.tgz#248451cac9d1a4a4128033e765d137e2b2c49a3d" resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
integrity sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg== integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
v8-compile-cache-lib@^3.0.1: v8-compile-cache-lib@^3.0.1:
version "3.0.1" version "3.0.1"
@ -7000,10 +6899,10 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack@5.97.0: webpack@5.97.1:
version "5.97.0" version "5.97.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.0.tgz#1c5e3b9319f8c6decb19b142e776d90e629d5c40" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.1.tgz#972a8320a438b56ff0f1d94ade9e82eac155fa58"
integrity sha512-CWT8v7ShSfj7tGs4TLRtaOLmOCPWhoKEvp+eA7FVx8Xrjb3XfT0aXdxDItnRZmE8sHcH+a8ayDrJCOjXKxVFfQ== integrity sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==
dependencies: dependencies:
"@types/eslint-scope" "^3.7.7" "@types/eslint-scope" "^3.7.7"
"@types/estree" "^1.0.6" "@types/estree" "^1.0.6"
@ -7155,11 +7054,6 @@ xml-name-validator@^4.0.0:
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
xml@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5"
integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==
xmlchars@^2.2.0: xmlchars@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
@ -7185,10 +7079,10 @@ yallist@^5.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533"
integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==
yaml@~2.5.0: yaml@~2.6.1:
version "2.5.1" version "2.6.1"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.1.tgz#42f2b1ba89203f374609572d5349fb8686500773"
integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==
yargs-parser@^21.1.1: yargs-parser@^21.1.1:
version "21.1.1" version "21.1.1"