From d90c1cb56302e308c6379a6b285e94a7f170fbd5 Mon Sep 17 00:00:00 2001 From: Amritanshu Date: Sun, 30 Aug 2026 17:36:20 +0000 Subject: [PATCH] Moved from moment to luxon. Report Printing is not a post not a get. --- .../barker/routers/reports/cashier_report.py | 2 +- .../barker/routers/reports/discount_report.py | 2 +- .../reports/menu_engineering_report.py | 2 +- .../routers/reports/product_sale_report.py | 2 +- barker/barker/routers/reports/sale_report.py | 2 +- bookie/angular.json | 9 +- bookie/package.json | 5 +- bookie/src/app/app.config.ts | 4 +- bookie/src/app/app.environment.ts | 16 +- .../beer-sale-report.component.ts | 18 +- .../bill-settlement-report.component.ts | 18 +- .../cashier-report.component.ts | 18 +- .../cashier-report/cashier-report.service.ts | 2 +- .../discount-report.component.ts | 18 +- .../discount-report.service.ts | 2 +- .../guest-book-detail.component.ts | 20 +- .../guest-book-list.component.ts | 16 +- .../menu-engineering-report.component.ts | 18 +- .../menu-engineering-report.service.ts | 2 +- .../product-sale-report.component.ts | 18 +- .../product-sale-report.service.ts | 2 +- .../product-updates-report.component.ts | 18 +- .../app/sale-report/sale-report.component.ts | 18 +- .../app/sale-report/sale-report.service.ts | 2 +- bookie/src/app/settings/settings.component.ts | 6 +- bookie/src/app/shared/local-time.pipe.ts | 10 +- .../app/tax-report/tax-report.component.ts | 18 +- .../temporal-product-detail.component.ts | 26 +- .../update-product-prices.component.ts | 8 +- bookie/yarn.lock | 909 +++++++++--------- frank/ansible/hosts | 28 +- frank/ansible/vars/devices/chd-bar.yml | 6 - frank/ansible/vars/devices/chd1.yml | 1 + frank/ansible/vars/devices/chd2.yml | 8 +- frank/ansible/vars/devices/mhl1.yml | 8 +- frank/ansible/vars/devices/mhl2.yml | 8 +- frank/ansible/vars/devices/mhl3.yml | 8 +- frank/ansible/vars/devices/mhl4.yml | 8 +- frank/ansible/vars/devices/moz1.yml | 8 +- frank/ansible/vars/devices/pkl1.yml | 8 +- frank/ansible/vars/devices/pkl2.yml | 8 +- frank/ansible/vars/devices/pkl3.yml | 8 +- frank/ansible/vars/devices/pkl4.yml | 8 +- frank/ansible/vars/devices/tan-home.yml | 1 + 44 files changed, 677 insertions(+), 650 deletions(-) delete mode 100644 frank/ansible/vars/devices/chd-bar.yml diff --git a/barker/barker/routers/reports/cashier_report.py b/barker/barker/routers/reports/cashier_report.py index 030ca35..de322a0 100644 --- a/barker/barker/routers/reports/cashier_report.py +++ b/barker/barker/routers/reports/cashier_report.py @@ -130,7 +130,7 @@ def get_id(id_: uuid.UUID, start_date: date, finish_date: date, user: UserLink, ) -@router.get("/print/{id_}", response_model=bool) +@router.post("/print/{id_}", response_model=bool) def print_report( id_: uuid.UUID, start_date: Annotated[date, Depends(report_start_date)], diff --git a/barker/barker/routers/reports/discount_report.py b/barker/barker/routers/reports/discount_report.py index f35ddc5..77f1db2 100644 --- a/barker/barker/routers/reports/discount_report.py +++ b/barker/barker/routers/reports/discount_report.py @@ -71,7 +71,7 @@ def get_discount_report(start_date: date, finish_date: date, db: Session) -> lis return [DiscountReportItem(name=pg, amount=amt) for pg, amt in list_] -@router.get("/print", response_model=bool) +@router.post("/print", response_model=bool) def print_report( start_date: Annotated[date, Depends(report_start_date)], finish_date: Annotated[date, Depends(report_finish_date)], diff --git a/barker/barker/routers/reports/menu_engineering_report.py b/barker/barker/routers/reports/menu_engineering_report.py index 93c8a42..5cce1a2 100644 --- a/barker/barker/routers/reports/menu_engineering_report.py +++ b/barker/barker/routers/reports/menu_engineering_report.py @@ -124,7 +124,7 @@ def menu_engineering_report(start_date: date, finish_date: date, db: Session) -> return info -# @router.get("/print", response_model=bool) +# @router.post("/print", response_model=bool) # def print_report( # start_date: Annotated[date, Depends(report_start_date)], # finish_date: Annotated[date, Depends(report_finish_date)], diff --git a/barker/barker/routers/reports/product_sale_report.py b/barker/barker/routers/reports/product_sale_report.py index 6edc50f..12a02bc 100644 --- a/barker/barker/routers/reports/product_sale_report.py +++ b/barker/barker/routers/reports/product_sale_report.py @@ -105,7 +105,7 @@ def product_sale_report( return info -@router.get("/print", response_model=bool) +@router.post("/print", response_model=bool) def print_report( start_date: Annotated[date, Depends(report_start_date)], finish_date: Annotated[date, Depends(report_finish_date)], diff --git a/barker/barker/routers/reports/sale_report.py b/barker/barker/routers/reports/sale_report.py index 66342f5..8ccba65 100644 --- a/barker/barker/routers/reports/sale_report.py +++ b/barker/barker/routers/reports/sale_report.py @@ -116,7 +116,7 @@ def get_settlements(start_date: date, finish_date: date, id_: uuid.UUID | None, return info + [SaleReportItem(name="Total", amount=total)] -@router.get("/print", response_model=bool) +@router.post("/print", response_model=bool) def print_report( start_date: Annotated[date, Depends(report_start_date)], finish_date: Annotated[date, Depends(report_finish_date)], diff --git a/bookie/angular.json b/bookie/angular.json index bc75bd8..a0eaf39 100644 --- a/bookie/angular.json +++ b/bookie/angular.json @@ -32,7 +32,14 @@ "input": "public" } ], - "styles": ["src/styles.sass"] + "styles": ["src/styles.sass"], + "allowedCommonJsDependencies": [ + "typed-function", + "javascript-natural-sort", + "tiny-emitter", + "escape-latex", + "seedrandom" + ] }, "configurations": { "production": { diff --git a/bookie/package.json b/bookie/package.json index 6b082fb..0ae021b 100644 --- a/bookie/package.json +++ b/bookie/package.json @@ -17,11 +17,12 @@ "@angular/core": "^22.1.1", "@angular/forms": "^22.1.1", "@angular/material": "^22.1.1", - "@angular/material-moment-adapter": "^22.1.1", + "@angular/material-luxon-adapter": "^22.1.4", "@angular/platform-browser": "^22.1.1", "@angular/router": "^22.1.1", + "@types/luxon": "^3.7.5", + "luxon": "^3.7.2", "mathjs": "^15.1.0", - "moment": "^2.30.1", "rxjs": "~7.8.0", "tslib": "^2.6.0" }, diff --git a/bookie/src/app/app.config.ts b/bookie/src/app/app.config.ts index 8d30224..da677bf 100644 --- a/bookie/src/app/app.config.ts +++ b/bookie/src/app/app.config.ts @@ -8,7 +8,7 @@ import { provideZonelessChangeDetection, } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; -import { MomentDateAdapter } from '@angular/material-moment-adapter'; +import { LuxonDateAdapter } from '@angular/material-luxon-adapter'; import { MatButtonModule } from '@angular/material/button'; import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core'; import { MatDialogModule } from '@angular/material/dialog'; @@ -71,7 +71,7 @@ export const appConfig: ApplicationConfig = { }), withComponentInputBinding(), ), - { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] }, + { provide: DateAdapter, useClass: LuxonDateAdapter, deps: [MAT_DATE_LOCALE] }, { provide: MAT_DATE_FORMATS, useValue: dateFormat }, { provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: { duration: 3000 } }, provideZonelessChangeDetection(), diff --git a/bookie/src/app/app.environment.ts b/bookie/src/app/app.environment.ts index 7ce7e1e..9219da3 100644 --- a/bookie/src/app/app.environment.ts +++ b/bookie/src/app/app.environment.ts @@ -6,15 +6,15 @@ export const environment = { export const dateFormat = { parse: { - dateInput: 'DD-MMM-YYYY', - timeInput: 'hh:mm A', + dateInput: 'dd-MMM-yyyy', + timeInput: 'hh:mm a', }, display: { - dateInput: 'DD-MMM-YYYY', - timeInput: 'hh:mm A', - timeOptionLabel: 'hh:mm A', - monthYearLabel: 'MMM YYYY', - dateA11yLabel: 'DD-MMM-YYYY', - monthYearA11yLabel: 'MMM YYYY', + dateInput: 'dd-MMM-yyyy', + timeInput: 'hh:mm a', + timeOptionLabel: 'hh:mm a', + monthYearLabel: 'MMM yyyy', + dateA11yLabel: 'dd-MMM-yyyy', + monthYearA11yLabel: 'MMM yyyy', }, }; diff --git a/bookie/src/app/beer-sale-report/beer-sale-report.component.ts b/bookie/src/app/beer-sale-report/beer-sale-report.component.ts index 4605c5a..d3027ba 100644 --- a/bookie/src/app/beer-sale-report/beer-sale-report.component.ts +++ b/bookie/src/app/beer-sale-report/beer-sale-report.component.ts @@ -10,7 +10,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { SaleCategoryService } from '../sale-category/sale-category.service'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; @@ -21,8 +21,8 @@ import { BeerSaleReport } from './beer-sale-report'; import { BeerSaleReportService } from './beer-sale-report.service'; export interface BeerSaleReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; saleCategory: string; regular: boolean; happy: boolean; @@ -81,8 +81,8 @@ export class BeerSaleReportComponent { computation: (info): BeerSaleReportFormData => { if (info) { return { - startDate: moment(info.startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(info.finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(info.startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(info.finishDate, 'dd-MMM-yyyy'), saleCategory: info.saleCategory?.id ?? '', regular: info.regular, happy: info.happy, @@ -91,8 +91,8 @@ export class BeerSaleReportComponent { }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), saleCategory: '', regular: true, happy: true, @@ -131,8 +131,8 @@ export class BeerSaleReportComponent { const formModel = this.formModel(); return new BeerSaleReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), saleCategory: this.saleCategories().find((sc) => sc.id === formModel.saleCategory), regular: formModel.regular, happy: formModel.happy, diff --git a/bookie/src/app/bill-settlement-report/bill-settlement-report.component.ts b/bookie/src/app/bill-settlement-report/bill-settlement-report.component.ts index dbdea69..481b24e 100644 --- a/bookie/src/app/bill-settlement-report/bill-settlement-report.component.ts +++ b/bookie/src/app/bill-settlement-report/bill-settlement-report.component.ts @@ -8,7 +8,7 @@ import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; import { LocalTimePipe } from '../shared/local-time.pipe'; @@ -18,8 +18,8 @@ import { BillSettlementReport } from './bill-settlement-report'; import { BillSettlementReportService } from './bill-settlement-report.service'; export interface BillSettlementReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; } @Component({ @@ -56,13 +56,13 @@ export class BillSettlementReportComponent { computation: (infoVal): BillSettlementReportFormData => { if (infoVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), }; }, }); @@ -86,8 +86,8 @@ export class BillSettlementReportComponent { const formModel = this.formModel(); return new BillSettlementReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); } diff --git a/bookie/src/app/cashier-report/cashier-report.component.ts b/bookie/src/app/cashier-report/cashier-report.component.ts index bc76a8c..b74a718 100644 --- a/bookie/src/app/cashier-report/cashier-report.component.ts +++ b/bookie/src/app/cashier-report/cashier-report.component.ts @@ -11,7 +11,7 @@ import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { User } from '../core/user'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; @@ -21,8 +21,8 @@ import { CashierReport } from './cashier-report'; import { CashierReportService } from './cashier-report.service'; export interface CashierReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; cashier: string | null; } @@ -67,13 +67,13 @@ export class CashierReportComponent { if (infoVal) { return { cashier: this.info().cashier.id ?? '', - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), cashier: null, }; }, @@ -115,8 +115,8 @@ export class CashierReportComponent { return new CashierReport({ cashier: new User({ id: formModel.cashier ?? undefined }), cashiers: this.info().cashiers, - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); } diff --git a/bookie/src/app/cashier-report/cashier-report.service.ts b/bookie/src/app/cashier-report/cashier-report.service.ts index c785ca9..545cc74 100644 --- a/bookie/src/app/cashier-report/cashier-report.service.ts +++ b/bookie/src/app/cashier-report/cashier-report.service.ts @@ -66,7 +66,7 @@ export class CashierReportService { options.params = options.params.set('f', finishDate); } return this.http - .get(printUrl, options) + .post(printUrl, null, options) .pipe(catchError(this.log.handleError(serviceName, 'print'))) as Observable; } } diff --git a/bookie/src/app/discount-report/discount-report.component.ts b/bookie/src/app/discount-report/discount-report.component.ts index 45e493c..eda0a9a 100644 --- a/bookie/src/app/discount-report/discount-report.component.ts +++ b/bookie/src/app/discount-report/discount-report.component.ts @@ -9,7 +9,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; import { SkeletonLoaderComponent } from '../shared/skeleton-loader/skeleton-loader.component'; @@ -18,8 +18,8 @@ import { DiscountReport } from './discount-report'; import { DiscountReportService } from './discount-report.service'; export interface DiscountReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; } @Component({ @@ -56,13 +56,13 @@ export class DiscountReportComponent { computation: (infoVal): DiscountReportFormData => { if (infoVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), }; }, }); @@ -86,8 +86,8 @@ export class DiscountReportComponent { const formModel = this.formModel(); return new DiscountReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); } diff --git a/bookie/src/app/discount-report/discount-report.service.ts b/bookie/src/app/discount-report/discount-report.service.ts index 4406684..a18c0e2 100644 --- a/bookie/src/app/discount-report/discount-report.service.ts +++ b/bookie/src/app/discount-report/discount-report.service.ts @@ -44,7 +44,7 @@ export class DiscountReportService { options.params = options.params.set('f', finishDate); } return this.http - .get(printUrl, options) + .post(printUrl, null, options) .pipe(catchError(this.log.handleError(serviceName, 'print'))) as Observable; } } diff --git a/bookie/src/app/guest-book/guest-book-detail/guest-book-detail.component.ts b/bookie/src/app/guest-book/guest-book-detail/guest-book-detail.component.ts index 012b237..2eb5318 100644 --- a/bookie/src/app/guest-book/guest-book-detail/guest-book-detail.component.ts +++ b/bookie/src/app/guest-book/guest-book-detail/guest-book-detail.component.ts @@ -10,7 +10,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTimepickerModule } from '@angular/material/timepicker'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { Customer } from '../../core/customer'; import { CustomerService } from '../../customers/customer.service'; @@ -26,8 +26,8 @@ export interface GuestBookDetailFormData { pax: number; address: string; notes: string; - date: Date; - time: Date; + date: DateTime; + time: DateTime; } @Component({ @@ -73,8 +73,8 @@ export class GuestBookDetailComponent { pax: itemVal.pax, address: itemVal.address ?? '', notes: itemVal.notes ?? '', - date: dt ? new Date(dt) : new Date(), - time: dt ? new Date(dt) : new Date(), + date: dt ? DateTime.fromJSDate(new Date(dt)) : DateTime.now(), + time: dt ? DateTime.fromJSDate(new Date(dt)) : DateTime.now(), }; } return { @@ -83,8 +83,8 @@ export class GuestBookDetailComponent { pax: 0, address: '', notes: '', - date: new Date(), - time: new Date(), + date: DateTime.now(), + time: DateTime.now(), }; }, }); @@ -172,15 +172,15 @@ export class GuestBookDetailComponent { item.pax = formModel.pax ?? 0; item.address = formModel.address; item.notes = formModel.notes; - const timeStr = formModel.time ? moment(formModel.time).format('HH:mm') : '00:00'; + const timeStr = formModel.time ? formModel.time.toFormat('HH:mm') : '00:00'; item.type = item.type || this.t() || 'walk_in'; if (item.type === 'booking') { - item.bookingDate = moment(formModel.date).format('DD-MMM-YYYY') + ' ' + timeStr; + item.bookingDate = formModel.date.toFormat('dd-MMM-yyyy') + ' ' + timeStr; } else { const existingDate = item.arrivalDate ? (item.arrivalDate as string).substring(0, 12) - : moment(formModel.date).format('DD-MMM-YYYY '); + : formModel.date.toFormat('dd-MMM-yyyy '); item.arrivalDate = existingDate + timeStr; } diff --git a/bookie/src/app/guest-book/guest-book-list/guest-book-list.component.ts b/bookie/src/app/guest-book/guest-book-list/guest-book-list.component.ts index f11ceed..eae4bd3 100644 --- a/bookie/src/app/guest-book/guest-book-list/guest-book-list.component.ts +++ b/bookie/src/app/guest-book/guest-book-list/guest-book-list.component.ts @@ -7,7 +7,7 @@ import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatTableModule } from '@angular/material/table'; import { ActivatedRoute, Router, RouterLink } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { ErrorStateComponent } from '../../shared/error-state/error-state.component'; import { LocalTimePipe } from '../../shared/local-time.pipe'; @@ -15,7 +15,7 @@ import { SkeletonLoaderComponent } from '../../shared/skeleton-loader/skeleton-l import { GuestBookService } from '../guest-book.service'; export interface GuestBookListFormData { - date: Date; + date: DateTime; } @Component({ @@ -42,13 +42,13 @@ export class GuestBookListComponent { private router = inject(Router); private ser = inject(GuestBookService); - date = input(new Date(), { - transform: (v: string | null | undefined): Date => { + date = input(DateTime.now(), { + transform: (v: string | null | undefined): DateTime => { if (v) { - const parsed = moment(v, 'DD-MMM-YYYY', true); - if (parsed.isValid()) return parsed.toDate(); + const parsed = DateTime.fromFormat(v, 'dd-MMM-yyyy'); + if (parsed.isValid) return parsed; } - return new Date(); + return DateTime.now(); }, }); @@ -63,7 +63,7 @@ export class GuestBookListComponent { displayedColumns = ['sno', 'name', 'phone', 'pax', 'date', 'action']; - dateSignal = computed(() => moment(this.formModel().date).format('DD-MMM-YYYY')); + dateSignal = computed(() => this.formModel().date.toFormat('dd-MMM-yyyy')); listResource = this.ser.list(this.dateSignal); dataSource = computed(() => this.listResource.value()?.list ?? []); diff --git a/bookie/src/app/menu-engineering-report/menu-engineering-report.component.ts b/bookie/src/app/menu-engineering-report/menu-engineering-report.component.ts index aee252c..bc08ff1 100644 --- a/bookie/src/app/menu-engineering-report/menu-engineering-report.component.ts +++ b/bookie/src/app/menu-engineering-report/menu-engineering-report.component.ts @@ -11,8 +11,8 @@ import { MatSnackBar } from '@angular/material/snack-bar'; import { MatSortModule } from '@angular/material/sort'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; +import { DateTime } from 'luxon'; import { equal, larger, largerEq, smaller, smallerEq } from 'mathjs'; -import moment from 'moment'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; import { SkeletonLoaderComponent } from '../shared/skeleton-loader/skeleton-loader.component'; @@ -22,8 +22,8 @@ import { MenuEngineeringReportItem } from './menu-engineering-report-item'; import { MenuEngineeringReportService } from './menu-engineering-report.service'; export interface MenuEngineeringReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; filter: string; } @@ -64,14 +64,14 @@ export class MenuEngineeringReportComponent { computation: (infoVal): MenuEngineeringReportFormData => { if (infoVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), filter: '', }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), filter: '', }; }, @@ -143,8 +143,8 @@ export class MenuEngineeringReportComponent { const formModel = this.formModel(); return new MenuEngineeringReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); } diff --git a/bookie/src/app/menu-engineering-report/menu-engineering-report.service.ts b/bookie/src/app/menu-engineering-report/menu-engineering-report.service.ts index 5436ee7..c6fbd95 100644 --- a/bookie/src/app/menu-engineering-report/menu-engineering-report.service.ts +++ b/bookie/src/app/menu-engineering-report/menu-engineering-report.service.ts @@ -44,7 +44,7 @@ export class MenuEngineeringReportService { options.params = options.params.set('f', finishDate); } return this.http - .get(printUrl, options) + .post(printUrl, null, options) .pipe(catchError(this.log.handleError(serviceName, 'print'))) as Observable; } } diff --git a/bookie/src/app/product-sale-report/product-sale-report.component.ts b/bookie/src/app/product-sale-report/product-sale-report.component.ts index 18f4904..04b3f12 100644 --- a/bookie/src/app/product-sale-report/product-sale-report.component.ts +++ b/bookie/src/app/product-sale-report/product-sale-report.component.ts @@ -10,7 +10,7 @@ import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { SectionService } from '../sections/section.service'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; @@ -20,8 +20,8 @@ import { ProductSaleReport } from './product-sale-report'; import { ProductSaleReportService } from './product-sale-report.service'; export interface ProductSaleReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; section: string | null; } @@ -66,14 +66,14 @@ export class ProductSaleReportComponent { computation: (sectionsVal): ProductSaleReportFormData => { if (sectionsVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), section: this.info().sectionId || null, }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), section: null, }; }, @@ -102,8 +102,8 @@ export class ProductSaleReportComponent { const formModel = this.formModel(); const data = new ProductSaleReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); if (formModel.section) { data.sectionId = formModel.section; diff --git a/bookie/src/app/product-sale-report/product-sale-report.service.ts b/bookie/src/app/product-sale-report/product-sale-report.service.ts index 4483288..bb08b6a 100644 --- a/bookie/src/app/product-sale-report/product-sale-report.service.ts +++ b/bookie/src/app/product-sale-report/product-sale-report.service.ts @@ -52,7 +52,7 @@ export class ProductSaleReportService { options.params = options.params.set('section', section); } return this.http - .get(printUrl, options) + .post(printUrl, null, options) .pipe(catchError(this.log.handleError(serviceName, 'print'))) as Observable; } } diff --git a/bookie/src/app/product-updates-report/product-updates-report.component.ts b/bookie/src/app/product-updates-report/product-updates-report.component.ts index a5eb7e0..ed30c81 100644 --- a/bookie/src/app/product-updates-report/product-updates-report.component.ts +++ b/bookie/src/app/product-updates-report/product-updates-report.component.ts @@ -7,7 +7,7 @@ import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; import { SkeletonLoaderComponent } from '../shared/skeleton-loader/skeleton-loader.component'; @@ -16,8 +16,8 @@ import { ProductUpdatesReport } from './product-updates-report'; import { ProductUpdatesReportService } from './product-updates-report.service'; export interface ProductUpdatesReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; } @Component({ @@ -52,13 +52,13 @@ export class ProductUpdatesReportComponent { computation: (infoVal): ProductUpdatesReportFormData => { if (infoVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), }; }, }); @@ -82,8 +82,8 @@ export class ProductUpdatesReportComponent { const formModel = this.formModel(); return new ProductUpdatesReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); } diff --git a/bookie/src/app/sale-report/sale-report.component.ts b/bookie/src/app/sale-report/sale-report.component.ts index aa95d46..e3efc13 100644 --- a/bookie/src/app/sale-report/sale-report.component.ts +++ b/bookie/src/app/sale-report/sale-report.component.ts @@ -11,7 +11,7 @@ import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { SectionService } from '../sections/section.service'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; @@ -21,8 +21,8 @@ import { SaleReport } from './sale-report'; import { SaleReportService } from './sale-report.service'; export interface SaleReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; section: string | null; } @@ -67,14 +67,14 @@ export class SaleReportComponent { computation: (sectionsVal): SaleReportFormData => { if (sectionsVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), section: this.info().sectionId || null, }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), section: null, }; }, @@ -102,8 +102,8 @@ export class SaleReportComponent { getInfo(): SaleReport { const formModel = this.formModel(); const data = new SaleReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); if (formModel.section) { data.sectionId = formModel.section; diff --git a/bookie/src/app/sale-report/sale-report.service.ts b/bookie/src/app/sale-report/sale-report.service.ts index 0e83cbf..b1e3a79 100644 --- a/bookie/src/app/sale-report/sale-report.service.ts +++ b/bookie/src/app/sale-report/sale-report.service.ts @@ -52,7 +52,7 @@ export class SaleReportService { options.params = options.params.set('section', section); } return this.http - .get(printUrl, options) + .post(printUrl, null, options) .pipe(catchError(this.log.handleError(serviceName, 'print'))) as Observable; } } diff --git a/bookie/src/app/settings/settings.component.ts b/bookie/src/app/settings/settings.component.ts index 5b016f1..78d2e00 100644 --- a/bookie/src/app/settings/settings.component.ts +++ b/bookie/src/app/settings/settings.component.ts @@ -8,7 +8,7 @@ import { MatInputModule } from '@angular/material/input'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTabsModule } from '@angular/material/tabs'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { environment } from '../app.environment'; import { AuthService } from '../auth/auth.service'; @@ -68,8 +68,8 @@ export class SettingsComponent { runMaintenance() { const formModel = this.formModel(); - const startDate = moment(formModel.startDate).format('DD-MMM-YYYY'); - const finishDate = moment(formModel.finishDate).format('DD-MMM-YYYY'); + const startDate = DateTime.fromJSDate(formModel.startDate).toFormat('dd-MMM-yyyy'); + const finishDate = DateTime.fromJSDate(formModel.finishDate).toFormat('dd-MMM-yyyy'); if (!this.beerFile || !this.saleFile) { this.snackBar.open('Please choose both files first!', 'Danger'); diff --git a/bookie/src/app/shared/local-time.pipe.ts b/bookie/src/app/shared/local-time.pipe.ts index 567e559..882c144 100644 --- a/bookie/src/app/shared/local-time.pipe.ts +++ b/bookie/src/app/shared/local-time.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, PipeTransform } from '@angular/core'; -import moment from 'moment'; +import { DateTime } from 'luxon'; @Pipe({ name: 'localTime', @@ -11,10 +11,10 @@ export class LocalTimePipe implements PipeTransform { return ''; } if (value.length === 5) { - return moment(value, 'HH:mm').subtract(new Date().getTimezoneOffset(), 'minutes').format('HH:mm'); + return DateTime.fromFormat(value, 'HH:mm').minus({ minutes: new Date().getTimezoneOffset() }).toFormat('HH:mm'); } - return moment(value, 'DD-MMM-YYYY HH:mm') - .subtract(new Date().getTimezoneOffset(), 'minutes') - .format('DD-MMM-YYYY HH:mm'); + return DateTime.fromFormat(value, 'dd-MMM-yyyy HH:mm') + .minus({ minutes: new Date().getTimezoneOffset() }) + .toFormat('dd-MMM-yyyy HH:mm'); } } diff --git a/bookie/src/app/tax-report/tax-report.component.ts b/bookie/src/app/tax-report/tax-report.component.ts index 0417ce9..e3461fe 100644 --- a/bookie/src/app/tax-report/tax-report.component.ts +++ b/bookie/src/app/tax-report/tax-report.component.ts @@ -8,7 +8,7 @@ import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; import { SkeletonLoaderComponent } from '../shared/skeleton-loader/skeleton-loader.component'; @@ -17,8 +17,8 @@ import { TaxReport } from './tax-report'; import { TaxReportService } from './tax-report.service'; export interface TaxReportFormData { - startDate: Date; - finishDate: Date; + startDate: DateTime; + finishDate: DateTime; } @Component({ @@ -55,13 +55,13 @@ export class TaxReportComponent { computation: (infoVal): TaxReportFormData => { if (infoVal) { return { - startDate: moment(this.info().startDate, 'DD-MMM-YYYY').toDate(), - finishDate: moment(this.info().finishDate, 'DD-MMM-YYYY').toDate(), + startDate: DateTime.fromFormat(this.info().startDate, 'dd-MMM-yyyy'), + finishDate: DateTime.fromFormat(this.info().finishDate, 'dd-MMM-yyyy'), }; } return { - startDate: new Date(), - finishDate: new Date(), + startDate: DateTime.now(), + finishDate: DateTime.now(), }; }, }); @@ -85,8 +85,8 @@ export class TaxReportComponent { const formModel = this.formModel(); return new TaxReport({ - startDate: moment(formModel.startDate).format('DD-MMM-YYYY'), - finishDate: moment(formModel.finishDate).format('DD-MMM-YYYY'), + startDate: formModel.startDate.toFormat('dd-MMM-yyyy'), + finishDate: formModel.finishDate.toFormat('dd-MMM-yyyy'), }); } diff --git a/bookie/src/app/temporal-product/temporal-product-detail/temporal-product-detail.component.ts b/bookie/src/app/temporal-product/temporal-product-detail/temporal-product-detail.component.ts index 394f18c..2bbc8c7 100644 --- a/bookie/src/app/temporal-product/temporal-product-detail/temporal-product-detail.component.ts +++ b/bookie/src/app/temporal-product/temporal-product-detail/temporal-product-detail.component.ts @@ -14,7 +14,7 @@ import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { MenuCategory } from '../../core/menu-category'; import { SaleCategory } from '../../core/sale-category'; @@ -30,8 +30,8 @@ export interface TemporalProductFormData { name: string; fractionUnits: string; saleCategory: string; - validFrom: Date | null; - validTill: Date | null; + validFrom: DateTime | null; + validTill: DateTime | null; } export interface TemporalSkuFormData { @@ -43,8 +43,8 @@ export interface TemporalSkuFormData { menuCategory: string; hasHappyHour: boolean; isNotAvailable: boolean; - validFrom: Date | null; - validTill: Date | null; + validFrom: DateTime | null; + validTill: DateTime | null; } @Component({ @@ -101,8 +101,8 @@ export class TemporalProductDetailComponent { name: '', fractionUnits: '', saleCategory: '', - validFrom: null as Date | null, - validTill: null as Date | null, + validFrom: null as DateTime | null, + validTill: null as DateTime | null, }; } return { @@ -130,8 +130,8 @@ export class TemporalProductDetailComponent { menuCategory: '', hasHappyHour: false, isNotAvailable: false, - validFrom: null as Date | null, - validTill: null as Date | null, + validFrom: null as DateTime | null, + validTill: null as DateTime | null, }; } return { @@ -151,12 +151,12 @@ export class TemporalProductDetailComponent { skuForm = form(this.skuFormModel); - private parseDateOrNull(d: string | null | undefined): Date | null { - return !d ? null : moment(d, 'DD-MMM-YYYY').toDate(); + private parseDateOrNull(d: string | null | undefined): DateTime | null { + return !d ? null : DateTime.fromFormat(d, 'dd-MMM-yyyy'); } - private formatDateOrNull(d: Date | null | undefined): string | null { - return !d ? null : moment(d).format('DD-MMM-YYYY'); + private formatDateOrNull(d: DateTime | null | undefined): string | null { + return !d ? null : d.toFormat('dd-MMM-yyyy'); } constructor() { diff --git a/bookie/src/app/update-product-prices/update-product-prices.component.ts b/bookie/src/app/update-product-prices/update-product-prices.component.ts index 9086a9a..92db034 100644 --- a/bookie/src/app/update-product-prices/update-product-prices.component.ts +++ b/bookie/src/app/update-product-prices/update-product-prices.component.ts @@ -11,7 +11,7 @@ import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableModule } from '@angular/material/table'; import { Router } from '@angular/router'; -import moment from 'moment'; +import { DateTime } from 'luxon'; import { MenuCategoryService } from '../menu-category/menu-category.service'; import { ErrorStateComponent } from '../shared/error-state/error-state.component'; @@ -21,7 +21,7 @@ import { UpdateProductPrices } from './update-product-prices'; import { UpdateProductPricesService } from './update-product-prices.service'; export interface UpdateProductPricesFormData { - date: Date; + date: DateTime; menuCategory: string; prices: { newPrice: number | null }[]; } @@ -64,7 +64,7 @@ export class UpdateProductPricesComponent { source: () => this.info(), computation: (info): UpdateProductPricesFormData => { return { - date: info.date ? moment(info.date, 'DD-MMM-YYYY').toDate() : new Date(), + date: info.date ? DateTime.fromFormat(info.date, 'dd-MMM-yyyy') : DateTime.now(), menuCategory: info.menuCategoryId !== undefined ? info.menuCategoryId : '', prices: info.items.map((x) => ({ newPrice: x.newPrice })), }; @@ -99,7 +99,7 @@ export class UpdateProductPricesComponent { }); return { - date: moment(formModel.date).format('DD-MMM-YYYY'), + date: formModel.date.toFormat('dd-MMM-yyyy'), menuCategoryId: formModel.menuCategory, items: [...info.items], }; diff --git a/bookie/yarn.lock b/bookie/yarn.lock index 9d3dc80..85777c2 100644 --- a/bookie/yarn.lock +++ b/bookie/yarn.lock @@ -10,18 +10,18 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@angular-devkit/architect@0.2201.4", "@angular-devkit/architect@>= 0.2200.0 < 0.2300.0": - version "0.2201.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.2201.4.tgz#55784db27897aaeaed48b1d93fce1a0007542a62" - integrity sha512-a2J9hdBYFobhMx9G0KwCdo6+LrWIOOyIeijrA/QSZiPOjg8dAprhMh7BEQkF3eT6R1q7wDGP+IElVR9LsBlXQw== +"@angular-devkit/architect@0.2201.6", "@angular-devkit/architect@>= 0.2200.0 < 0.2300.0": + version "0.2201.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.2201.6.tgz#5eb90f3a16acb0f2f6b738174ba8d49ce9f05ea7" + integrity sha512-oGQEdof2/1bZk58PN9dvpGi8pvtbgE5vkP1xRtCqN8dSVxwre1l0pKynOj/Uge1KxjCvs4c1QrQu0vsAnY0vpg== dependencies: - "@angular-devkit/core" "22.1.4" + "@angular-devkit/core" "22.1.6" rxjs "7.8.2" -"@angular-devkit/core@22.1.4", "@angular-devkit/core@>= 22.0.0 < 23.0.0": - version "22.1.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-22.1.4.tgz#ac3401d204e761e7cb7f22f02d31bc9cf5d1e161" - integrity sha512-40jG/6chng9fQuWtpg1kadPO17sRTurNh0aav6Uxebn65PfNpTpvhPIYVIcRgv4tCKdMd++YH95A8SiaIOwqig== +"@angular-devkit/core@22.1.6", "@angular-devkit/core@>= 22.0.0 < 23.0.0": + version "22.1.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-22.1.6.tgz#599244803509e060d7d28a8ce966f5f5fb79ccc1" + integrity sha512-KLBsZoc2RhOy0xSdeYcLoSOqV/fBP3feBmhY9o12ry2IuyW/17sCmWr6XbIfTIYQN6M98Y1ewmwVNFsvV5b0gA== dependencies: ajv "8.20.0" ajv-formats "3.0.1" @@ -30,84 +30,84 @@ rxjs "7.8.2" source-map "0.7.6" -"@angular-devkit/schematics@22.1.4", "@angular-devkit/schematics@>= 22.0.0 < 23.0.0": - version "22.1.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-22.1.4.tgz#087ef5b69e3d52d458d44fb0738584f53badef41" - integrity sha512-UBJ7jc7B0vRfmrVwlvpmuudo1D7AfpO6ugf1BxvkM4sw5m8cJpZtaIJFKBorv0QZo78CyDOroQfQdXaijjB2ZA== +"@angular-devkit/schematics@22.1.6", "@angular-devkit/schematics@>= 22.0.0 < 23.0.0": + version "22.1.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-22.1.6.tgz#d986d201efa9943a276253b4b52918ada3c2238c" + integrity sha512-IbDO9KbQyQm20uinsfT8d9ZtQw41/WVutI/65mAw39WZfN8Ky+MOgOUJCGLiSccMprvZ9YdodBTnN9bLH149Ag== dependencies: - "@angular-devkit/core" "22.1.4" + "@angular-devkit/core" "22.1.6" jsonc-parser "3.3.1" magic-string "1.0.0" ora "9.4.1" rxjs "7.8.2" -"@angular-eslint/builder@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/builder/-/builder-22.1.0.tgz#d38388a397239e2c65addb0ca6428dd4e7199ace" - integrity sha512-gmdk06PK0whNJlapIQjRnhud2/n+oIIDBIoLUHWFFxhHRs+ZstVc6+81gf+sYDOm1Ehmb0V3nZAg3YpT1Mk0Eg== +"@angular-eslint/builder@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/builder/-/builder-22.2.0.tgz#c193b07a64c8f7bf7a34395ad5592308b3462aa5" + integrity sha512-X5r6JG2VC0aZBayHM9tJYZIF5KWBo2opC4uHndhZqQqb3TmX/KYlgbMlTC4HIAXQlTXfTNbjHW8mhhAwGOaNMA== dependencies: "@angular-devkit/architect" ">= 0.2200.0 < 0.2300.0" "@angular-devkit/core" ">= 22.0.0 < 23.0.0" -"@angular-eslint/bundled-angular-compiler@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-22.1.0.tgz#603becba751c43afcfa19503022e129584e49056" - integrity sha512-iOtOQ2jtrtko1rIQo6i+g3ezxGL0lyYv80j4GccFTK1JGh4K+AqYkmaBvfUfNtqoE/7VcKsOoyxaFt6iIpKhaQ== +"@angular-eslint/bundled-angular-compiler@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-22.2.0.tgz#4b82037f1edc36d43ca4f97b3140ea10f1dccec7" + integrity sha512-JYjUXcnZCMg23HXvHnaGcMvVF0WP9b/n9I9Oz3zY+lH2A2HkcCUYnTg3lhDghZfCcermNaz+JvXp88NX+cgA6A== -"@angular-eslint/eslint-plugin-template@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-22.1.0.tgz#30642c56aa8a634dc45e2dc103840ad27937c142" - integrity sha512-GK/Mwhwvj+MX6DefD29/IfuYjcai5CsCbYJ6Qb9P6IAzZaQqw+EN+CiXxIwzMnzm2edLcJzAsX8iBk4X7sVi2Q== +"@angular-eslint/eslint-plugin-template@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-22.2.0.tgz#f6cf57bec35fae125903623a15484c96024e8cef" + integrity sha512-v/X8/QJXWXaOkU8chmIPWu/86JAca5Tje6EFIf3G2VOxxuGzDpCPPuAKLBclhK+dtFHuJnqKYKZOfcdXqzj9eg== dependencies: - "@angular-eslint/bundled-angular-compiler" "22.1.0" - "@angular-eslint/utils" "22.1.0" + "@angular-eslint/bundled-angular-compiler" "22.2.0" + "@angular-eslint/utils" "22.2.0" aria-query "5.3.2" axobject-query "4.1.0" -"@angular-eslint/eslint-plugin@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin/-/eslint-plugin-22.1.0.tgz#d445da381aaf79a6afbdab76a825141bddbf995a" - integrity sha512-nRwdbUiW7vF0gbwtxw2hRGPZYZCNWOTLZKw4HM+I37o5YFIA0CFLtbyRKgZWs6JZCIqzTYSwCyKNsW41Qw0FwQ== +"@angular-eslint/eslint-plugin@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin/-/eslint-plugin-22.2.0.tgz#de88f3894d0c7a4b93fb8baf8e7c63507ce0c72b" + integrity sha512-ceA/aluyI7LKii+IaIjhoVCqJ3oPKC+3kqUf/DpWrgVsCbbLoW+iXCQVqMnlDZG1lagpLaqe6cIbVaH897yjPA== dependencies: - "@angular-eslint/bundled-angular-compiler" "22.1.0" - "@angular-eslint/utils" "22.1.0" + "@angular-eslint/bundled-angular-compiler" "22.2.0" + "@angular-eslint/utils" "22.2.0" ts-api-utils "^2.1.0" -"@angular-eslint/schematics@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/schematics/-/schematics-22.1.0.tgz#e9e7bd786d8496177d85dd9180c501e69338afb7" - integrity sha512-/Z7MEO9ys9P5w5itM2mpNW4R/QNAVxtDdcU5LVFulSx/lo7zCDx1rZ/tLDuzbN5k5RGQy5ZkdRIs0MoscsGXQQ== +"@angular-eslint/schematics@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/schematics/-/schematics-22.2.0.tgz#a032ca0d3c3e27b8761f5de4341ed7349792ed14" + integrity sha512-KDtjpkAUOO+wK9J5HtRQtS5lwn5UHGMLEPVFznwrK+5hrNGN9LzfAzDhAHA9y+YoplqGK/Romm4v0384e+BiWw== dependencies: "@angular-devkit/core" ">= 22.0.0 < 23.0.0" "@angular-devkit/schematics" ">= 22.0.0 < 23.0.0" - "@angular-eslint/eslint-plugin" "22.1.0" - "@angular-eslint/eslint-plugin-template" "22.1.0" - ignore "7.0.5" + "@angular-eslint/eslint-plugin" "22.2.0" + "@angular-eslint/eslint-plugin-template" "22.2.0" + ignore "7.0.6" semver "7.8.5" strip-json-comments "3.1.1" -"@angular-eslint/template-parser@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/template-parser/-/template-parser-22.1.0.tgz#ff92e9a4809bc8fb0b3904c3b4aa8dcf0075fa18" - integrity sha512-gcufZLI/Rl2fOWtBk2MgMRkH1t+OrbJGxIsfT0w3pVjKm0zwi7njM/dtPbVjCHzsGhx7szQMvY0i0UwTBVYkSw== +"@angular-eslint/template-parser@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/template-parser/-/template-parser-22.2.0.tgz#699dc429f76703e60fd203f631f4e2d8197abc85" + integrity sha512-RCDEzYRFIV8UPWsAgj8v8ryKwXq+wAmEHqMJRqMdAGXRWrxziWvCxI7nCsj74u/11GXZKSAz3SQmwfkdWiZEQA== dependencies: - "@angular-eslint/bundled-angular-compiler" "22.1.0" + "@angular-eslint/bundled-angular-compiler" "22.2.0" eslint-scope "9.1.2" -"@angular-eslint/utils@22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@angular-eslint/utils/-/utils-22.1.0.tgz#d85addc71f157dc75c578f2e1909b752518ba46e" - integrity sha512-zDPJqgOxlkG20UJWsVDSvnEtC2MfIP0+yKMaQUBL+2nrEknV/fVLrz7ApnerWiDrGTcAms5si49KV10MarMpRA== +"@angular-eslint/utils@22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@angular-eslint/utils/-/utils-22.2.0.tgz#45690e50a834a548577278dbbdacc8361b2b6d1d" + integrity sha512-hAAMlPhaoLI0W4CmICrLp58Jm0pMs4OBL/DYvjFu7cdoey0fRMRBiHV1Fw5lT1oHtLjsFj0n6TzvpbjGYkaYvw== dependencies: - "@angular-eslint/bundled-angular-compiler" "22.1.0" + "@angular-eslint/bundled-angular-compiler" "22.2.0" "@angular/build@^22.1.3": - version "22.1.4" - resolved "https://registry.yarnpkg.com/@angular/build/-/build-22.1.4.tgz#99fff97ee69d1bd912fc901e335f60dc06a7576b" - integrity sha512-y5wxiyUu1DjYNG5jiFjjgFp7O5bkyYjWzy2kfyTGq+DjKMEveTzNH3tBkZrE33EJ4wYyfx+rQ01IG9nZbhfdvA== + version "22.1.6" + resolved "https://registry.yarnpkg.com/@angular/build/-/build-22.1.6.tgz#fb084a262b609309e4498f106f8bf5f917c2497e" + integrity sha512-J7JBd3hDAV4dlGNMavDC0KjtvbDd4KOddaom1inwkq92tYnD1ljmhDDigAsUBnRvQhJ82cvagD8zi0s9Ki4rTQ== dependencies: "@ampproject/remapping" "2.3.0" - "@angular-devkit/architect" "0.2201.4" + "@angular-devkit/architect" "0.2201.6" "@babel/core" "8.0.1" "@babel/helper-annotate-as-pure" "8.0.0" "@babel/helper-split-export-declaration" "7.24.7" @@ -118,7 +118,7 @@ esbuild "0.28.2" https-proxy-agent "9.1.0" jsonc-parser "3.3.1" - listr2 "10.2.2" + listr2 "11.0.0" magic-string "1.0.0" mrmime "2.0.1" oxc-parser "0.142.0" @@ -136,27 +136,27 @@ lmdb "3.5.6" "@angular/cdk@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-22.1.2.tgz#660037c01a024584eb26269e1062421860f5ffb8" - integrity sha512-YwTzVnTgZIQDLq3lnnPLINIB24e0SiDn7XxBxHSrOzD/+Y0zLAid5XIiMALXWOqa7rfdhfVh1kEeM93RRLnllQ== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-22.1.4.tgz#ca7fe33374a8a52b78eab0beb16640e7604fc877" + integrity sha512-//KICh/rxeLbYLgNj8HawaliVAPNlSV0aRmki45Tf/YhoXVhzon9DfFqCs5u1cLvmMkMTHdFm5ghGTB8SUv3DA== dependencies: parse5 "^8.0.0" tslib "^2.3.0" "@angular/cli@^22.1.3": - version "22.1.4" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-22.1.4.tgz#2d143bb4eed672efa2b69c1ade9fd0215b4ecc72" - integrity sha512-Yt6q7a1vXh0ICFHnRdUOmx/gEXZ87zpkvE1eUWREUqeQ3ARkwqNZVzF3IP+s9NpDDrnc+EB9cqel9SnGZ/0z2Q== + version "22.1.6" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-22.1.6.tgz#07585e917347a66a933701e96a2b4223d458960e" + integrity sha512-HT3OzYkSpCyXMTgD5G1tsS7vkrY8cYJ/JgSjRjrpwOAooSMtKF1hv7BgBcn79sKg4eaiPLrDpQLXP93vHxgSFg== dependencies: - "@angular-devkit/architect" "0.2201.4" - "@angular-devkit/core" "22.1.4" - "@angular-devkit/schematics" "22.1.4" + "@angular-devkit/architect" "0.2201.6" + "@angular-devkit/core" "22.1.6" + "@angular-devkit/schematics" "22.1.6" "@inquirer/prompts" "8.5.2" - "@listr2/prompt-adapter-inquirer" "4.2.4" + "@listr2/prompt-adapter-inquirer" "4.2.5" "@modelcontextprotocol/sdk" "1.30.0" - "@schematics/angular" "22.1.4" + "@schematics/angular" "22.1.6" jsonc-parser "3.3.1" - listr2 "10.2.2" + listr2 "11.0.0" npm-package-arg "14.0.0" parse5-html-rewriting-stream "8.0.1" semver "7.8.5" @@ -164,16 +164,16 @@ zod "4.4.3" "@angular/common@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-22.1.2.tgz#da972b75818a8985bc464f39b0ceb1e14997e189" - integrity sha512-8TzyYPBDvSItV8Vqq8k5u8a9fWaomC9bMEr8z1vVLRZDIPhNQ/UcCyuTYbC7GZkeqrrKGu5m8tjUrA09RCwuaQ== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-22.1.4.tgz#76c1a1effe87f94cc69275c3df4bf339f0f59dba" + integrity sha512-UtWCloA/d0I5twV9Lu/Fcc7T6uQb40f/k0Hj5HLohIsiLTyvXVxWINBfa7LWWLtcq/0UOIY/yCs9Zq9Sj4dWqA== dependencies: tslib "^2.3.0" "@angular/compiler-cli@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-22.1.2.tgz#eb9d27221decdf25cc39bc3d2bc5acc8f29b4c41" - integrity sha512-GWRtvQQz/LvKejF/Zpls+hGnnJkvaPPtd3TZnxfZQ1fYCs7b7gpi0YM9PP02TJz51vhlsgkPYJwgtJAKDJEHNQ== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-22.1.4.tgz#62bcffbdc4b97eabf306b4e8b6c45082709aa4bc" + integrity sha512-h9CcVG614TJLbk+dswlzSjYARYJh2MLOEwcnpt9zUGtOffhrrSS9BFJGjSwzdDSVM3J5mvf5ZuW+0hPAuRRoOA== dependencies: "@babel/core" "8.0.1" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -185,53 +185,53 @@ yargs "^18.0.0" "@angular/compiler@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-22.1.2.tgz#e57b92326ff025ede2d372195177a601a72cc83f" - integrity sha512-aQv0p5MeXuguCeftUUxK4H8Hbw1hC5Zyu+cFsGbsi025LZ9Ngw+BW+iUHDQZAcqHvWDw2wgGOdKh4e7IkcfRyQ== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-22.1.4.tgz#55f97056e814c910c334c9c68dff1ef5a3506cd9" + integrity sha512-o+W0shjR5KmPPWchFmqN9bLINYAy14zIW//g9T5WqKDMOqjt4IbeY6AKOoE1db/dXffprLEH9nyPOmi19iKNxg== dependencies: tslib "^2.3.0" "@angular/core@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-22.1.2.tgz#bfaa88718aac9ec195014ee80807cdd71ba6af0e" - integrity sha512-t7BrgfdeqbdSbFe3CsGX8ySMeKDlZNBPxFMCOanAAqd6W0H1Kh1WFILBs3DIg0NfjpybfSRJAzKcagOFQWNtiw== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-22.1.4.tgz#b01d0e74065bc1d1f01ec052489cbd67fc00234f" + integrity sha512-0dW+lw8nHo6RGBUOXtjs02vjHIPJ8rEbw4fd0NH3Dii4p+gIB4ZaTw+o7Se3Nf4m1oZ8+2qAYmWVHXlfhKcCDg== dependencies: tslib "^2.3.0" "@angular/forms@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-22.1.2.tgz#4ba15aec5c11c9d80107881b34930a8252aea125" - integrity sha512-pKDYSNKje/jox74KzswBdX4sL7kJ8OFkJwLnqng8oc7a/NVl/Vf4/Xq4kyowRAdtPcZfLTUnZG6s0qbegfV5mg== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-22.1.4.tgz#b69316eac6669544ddecbc11dd5c6c08844c32ca" + integrity sha512-w8ZXe4oURrb/DS5zAFrR4AmGXC84sdLeOKXRM76ndRRgSCzyRLEe4wDU1KHnDejNVIGvoSZYJJjOajG1lpj8TA== dependencies: "@standard-schema/spec" "^1.0.0" tslib "^2.3.0" zod "^4.0.10" -"@angular/material-moment-adapter@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-22.1.2.tgz#7d3901323311ef572186d37a9c5963bae9dedb82" - integrity sha512-huMm6Ev7UlVJYMie6VmkP0/Xkk+8HnoCJXblfLM0untw+7YDVTQKnft0SHCBjgjlqU6SAlOr27U2MqjBTz6/DQ== +"@angular/material-luxon-adapter@^22.1.4": + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/material-luxon-adapter/-/material-luxon-adapter-22.1.4.tgz#4512a4ed269b1a513c4710648ce3ffea62890ce3" + integrity sha512-q7lUf8plCmI/SxNDM4vpK5n6qRe5C4wjHWMQLyC0b9PyF5S+ItTJNVqIR2gbmu4EsChPwlLFi7+oTmgKRICXRw== dependencies: tslib "^2.3.0" "@angular/material@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-22.1.2.tgz#18439da01958a4fae93364b133e58c1a49c05d46" - integrity sha512-KX0bVUppfwjDfUepsjpG1CAQGUGHI0l5e0QYpFcskB+1wNRCocBGsIO1br5z6neYu0rzsbhtWocjCeH05gwi7w== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-22.1.4.tgz#6116f90b5c70c3952e024dbc99c7f9837679794d" + integrity sha512-d4+uajpIYmyjar/4dypd5L+z8pbgkaCOsSxsrslmE0o0wK7mfFvXCkn0wwfucey5yUHXjswlKu1X5RzJZLOZ+w== dependencies: tslib "^2.3.0" "@angular/platform-browser@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-22.1.2.tgz#0026cf8d0222dc63de306b1cac0bee1a383568d2" - integrity sha512-MQO735ve/tk4gLsWbw8NyBD/DxPfbbmf1pM/vp6K7tZz2xyysMXilqF/k8PBdQBZVOofST8S13inZHQ35nHuRA== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-22.1.4.tgz#0c2942f8ca21ad0c0b69212d21cf131ea114dce7" + integrity sha512-zhEWnRShG6GjnEvCVROD68XfnrV6+HJ9bPjwZx4LsAz7spX823Nhiml8Uqpvijsa1w7UdWLU7nK/magr9IEMOQ== dependencies: tslib "^2.3.0" "@angular/router@^22.1.1": - version "22.1.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-22.1.2.tgz#7f89569d73b7450b747800c86d3c9caedd1c2a13" - integrity sha512-C2c6NJ9HZUfb1L07M554Zpgvi0TvpOBO6Og9L36v/jsv42m7tpOenvqQVPa8R3va7eqLEszCL7wLFcWeJ8naew== + version "22.1.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-22.1.4.tgz#44bfac87495a3400f4d94b1f7a492de505ad29df" + integrity sha512-vCwJLRnFBSRH5LxSF8OXKBhdmJ526hVGb/5sfeLTQW/oWCdcfXb2RvHfB077m5cdqKX9sBwFVlkJ8Z8kgx/pLQ== dependencies: tslib "^2.3.0" @@ -676,16 +676,16 @@ integrity sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q== "@inquirer/checkbox@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@inquirer/checkbox/-/checkbox-5.2.1.tgz#7f148b3153a776cee202015b10f9a985068d188d" - integrity sha512-b6xmA/VlTe0ZgDQHDui+Nav470u7u49nRd8/iuhOcQPO9Ch7lGuogydhi2VOmNlZ+zXcM8IcPuNSwQcdJaF/kw== + version "5.2.3" + resolved "https://registry.yarnpkg.com/@inquirer/checkbox/-/checkbox-5.2.3.tgz#3c2b2199c3e3d884a843a2c1280b253f958d5f8a" + integrity sha512-XEYX2WA8SBkLPczL6/yXPHLPCvDoptmh9v56Cy05BSV1Smk1vWy19bTC4qJBuIffw7+6l4CcaYYzGqG60RfW1g== dependencies: "@inquirer/ansi" "^2.0.7" - "@inquirer/core" "^11.2.1" - "@inquirer/figures" "^2.0.7" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/figures" "^2.0.8" + "@inquirer/type" "^4.1.0" -"@inquirer/confirm@6.1.1", "@inquirer/confirm@^6.1.1": +"@inquirer/confirm@6.1.1": version "6.1.1" resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-6.1.1.tgz#9c6a7d79c6132b2af57fdb75747f056204e55356" integrity sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ== @@ -693,6 +693,14 @@ "@inquirer/core" "^11.2.1" "@inquirer/type" "^4.0.7" +"@inquirer/confirm@^6.1.1": + version "6.3.0" + resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-6.3.0.tgz#5c32d1bba3a0551dcbddc52628a22daef3f5a8cd" + integrity sha512-pZHXJImFtERmSNMBHcjwuz8Ck5vEFEYNUZnwbb8aJpjHv/TwGuFErNxF2Hp8+V+pNJs2EYPMlyWscvFEqO9jOQ== + dependencies: + "@inquirer/core" "^12.0.1" + "@inquirer/type" "^4.1.0" + "@inquirer/core@^11.2.1": version "11.2.1" resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-11.2.1.tgz#54ccd8f7d47852140b6066cbd77d63b2c2b168fd" @@ -706,60 +714,73 @@ mute-stream "^3.0.0" signal-exit "^4.1.0" -"@inquirer/editor@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@inquirer/editor/-/editor-5.2.2.tgz#7c73e2fc0e7bd4c40cfd38a180ae5bbd24d32b90" - integrity sha512-ZRVd/oD+sYsUd5zVm0NflqEzlqfYCyHNsqkHl2oWXEUHs12tCbcSFi+wVFEvD8+LGRaMUsVrE7qeo6lSG/S1Vg== +"@inquirer/core@^12.0.1": + version "12.0.1" + resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-12.0.1.tgz#a59c69f48c9a67d60ac821b6f12e667cb116ffb4" + integrity sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw== dependencies: - "@inquirer/core" "^11.2.1" - "@inquirer/external-editor" "^3.0.3" - "@inquirer/type" "^4.0.7" + "@inquirer/ansi" "^2.0.7" + "@inquirer/figures" "^2.0.8" + "@inquirer/type" "^4.1.0" + cli-width "^4.1.0" + fast-wrap-ansi "^0.2.0" + mute-stream "^3.0.0" + signal-exit "^4.1.0" + +"@inquirer/editor@^5.2.2": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@inquirer/editor/-/editor-5.3.1.tgz#a035364e93ecd03753129813b99f4961650844a2" + integrity sha512-y43COoyVUjPWIobn2Qep/uI1drPS78aaZZZ9kVi94Tyu/GuW2N8d8Q4rifJXGAXCEAXCPTTMjD8gC1HyvM5ukA== + dependencies: + "@inquirer/core" "^12.0.1" + "@inquirer/external-editor" "^3.0.4" + "@inquirer/type" "^4.1.0" "@inquirer/expand@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@inquirer/expand/-/expand-5.1.1.tgz#e2afeac247d97dd64ee18aa81e902bdd1fe0ea70" - integrity sha512-YmQpenjbFSHAK3sOd44puHh3V1KXXr+JiNpUztoSQ4drLh2rTVzTap/YtlAVu/5xavifIlBfNEzJ/neZJ1a/1g== + version "5.1.3" + resolved "https://registry.yarnpkg.com/@inquirer/expand/-/expand-5.1.3.tgz#f587260168acb6733643665882195bbe4d2e3dc3" + integrity sha512-3NQJiXNJ/aj9wiAsr7pECdp5Qe9J0X9YUJCKsaFXS+ddOxfL6J4AIl3w3T4Gq3kK0WsQY5GMoDokK5X94m6lHw== dependencies: - "@inquirer/core" "^11.2.1" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/type" "^4.1.0" -"@inquirer/external-editor@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@inquirer/external-editor/-/external-editor-3.0.3.tgz#d79e772542cf8d340642e9dabd3a1ea7f5a30104" - integrity sha512-6thf5I8q7lZwzGLAxPaaGEREEkZ3nyePPDQ1oyobblxmEE8mqTLguScP7pDjUTAibiyb4hfXl+qjUEJ+di/aNA== +"@inquirer/external-editor@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@inquirer/external-editor/-/external-editor-3.0.4.tgz#6f61cfbdcc578530e6d322abe30921eba3e4e73a" + integrity sha512-tZbbaK2ovq6vlrRBNQvjrypmrED/p5x2ncIHQ79cD55tei3dD96v5glMMA+6tiq7K104i/25DVYKWVPJuV6ptA== dependencies: chardet "^2.1.1" iconv-lite "^0.7.2" -"@inquirer/figures@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-2.0.7.tgz#f5cc5843732a81304d06a0db4b53cc7dbda15541" - integrity sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw== +"@inquirer/figures@^2.0.7", "@inquirer/figures@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-2.0.8.tgz#d10c3a8a28896679797d9da5944f3093476aa0cd" + integrity sha512-tApbon79GM9ry56ja/Ud3SY2CL4TQsao9fIwDQbgTeNY55025GdMzQ2+UdegV/lx51VNGUB59M0v0nMpybYY4Q== "@inquirer/input@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@inquirer/input/-/input-5.1.2.tgz#9305cb170dfc3a5323e5eac885a945e7cddd5c4b" - integrity sha512-9K/DDBSQpOyZSkt6sOVP9Vo0TR7atX2kuILsUu0x3wVcVbe97lJwIJKMLdMw25tDYuXl/qp6erT0Xs1rfmcfZg== + version "5.1.4" + resolved "https://registry.yarnpkg.com/@inquirer/input/-/input-5.1.4.tgz#4aadb5f4f800e6b9f7a9ef79d42f78fb0ee1d42f" + integrity sha512-3xQkQrOvgOzpSN2ciTVdRDlg1FWMCA8l+0KfB6SNlILoTCGzJTzO/gc0Rwjcb3usuGyKdaGtI6OiyMdeMeLWkg== dependencies: - "@inquirer/core" "^11.2.1" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/type" "^4.1.0" "@inquirer/number@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@inquirer/number/-/number-4.1.1.tgz#b133668d8e0e099b4133abb915221501e0ff75d7" - integrity sha512-XF4IXAbPnGPgw0wsbC/i2tPcyfdZgDpUlhsqU0SfT4IRIGWha6Xm9VRgN5yYxJq+jnyXlfXI/nQ3ulfk0iEICA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/@inquirer/number/-/number-4.2.1.tgz#34c302d434f78571cf6be54027d4016400d2e5bb" + integrity sha512-5KaqwZNLRpUuWcoCrYghPP9TMaXL5v2Sk4xqePM7RCVegcJStoXdWibio60YIC1bec+z1fCyb67N6XPJIkZtGA== dependencies: - "@inquirer/core" "^11.2.1" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/type" "^4.1.0" "@inquirer/password@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@inquirer/password/-/password-5.1.1.tgz#f21efb614da9c905095262f51781fd2a721fceac" - integrity sha512-3XBfF7DAsp5qeDsvN5Rd1HmbNokVvEQoUM0QLrRcybC9nX96w3Pbmu7qUsb3IT3J3jBvs2+mTXaKHOUsgHMLzg== + version "5.2.0" + resolved "https://registry.yarnpkg.com/@inquirer/password/-/password-5.2.0.tgz#002db941c99ab3fa10b624d18decc3ee3400461c" + integrity sha512-CvVcW09emkBESEOW+4R8CjLNkP3fB3XrjeL8CDvfpjgrJN+V9oerXmJAXXM3l+4xqYPD5Yaujzy/Ph0PLOdDuA== dependencies: "@inquirer/ansi" "^2.0.7" - "@inquirer/core" "^11.2.1" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/type" "^4.1.0" "@inquirer/prompts@8.5.2": version "8.5.2" @@ -778,36 +799,36 @@ "@inquirer/select" "^5.2.1" "@inquirer/rawlist@^5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@inquirer/rawlist/-/rawlist-5.3.1.tgz#66f6b8e6aa82d47399c433b8262128e7c1a4f9ce" - integrity sha512-QqdTqQddL3qPX/PPrjobpsO25NZ4dWXgTLenrR445L2ptLEYE6Z+PD5c5CNDJNx4ugRgELAIpSIJxZaO2jJ2Og== + version "5.3.3" + resolved "https://registry.yarnpkg.com/@inquirer/rawlist/-/rawlist-5.3.3.tgz#efac1bd316bbed4bd58572dee4e2826bfc3336d0" + integrity sha512-Mu7WrtmDLaXBDEyrRLS70SZgX9ZSm4Up1w0ZxiH8C1OOp9oaVCn2k8q3QGgmlnhsKYUhuaU3zFWhAP6wxkVIMA== dependencies: - "@inquirer/core" "^11.2.1" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/type" "^4.1.0" "@inquirer/search@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@inquirer/search/-/search-4.2.1.tgz#c8f4b78ab3f866fdf0503fac0cd08c4a6661c11e" - integrity sha512-xJj8QWKRSrfKoBIITLZK61dD3zwo0Rz11fgDImku30/Oe81zMdIdGgrLY2h6RkJ+KZ/GhNYIRMKnH/62qBTA5g== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@inquirer/search/-/search-4.3.1.tgz#e4c96e9e65ea6adcc78ed629c6a363085689968d" + integrity sha512-0VWOvsHWI0rPj6CG70MoP4oXNCB6adcyN8bVFZXnh11eLDdPIK2f2XCmva78acPPDfJisfab7qNakwBh7hdBXw== dependencies: - "@inquirer/core" "^11.2.1" - "@inquirer/figures" "^2.0.7" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/figures" "^2.0.8" + "@inquirer/type" "^4.1.0" "@inquirer/select@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@inquirer/select/-/select-5.2.1.tgz#3a05e76e58d9e1bb095e912c3e7093aa04cd4604" - integrity sha512-FlDndEUww8m7BfukO2nJa25vhD+H5jxxCv4oGioKqzyWz3nPHhhw4LKdYRSlXuAx7DsdWia7iyaBPKKS95Evfw== + version "5.2.3" + resolved "https://registry.yarnpkg.com/@inquirer/select/-/select-5.2.3.tgz#527f4290568c2851c9e0a7a03513e90b26ab1e80" + integrity sha512-KuRTodDa6xBXX2noIpjuitpX/QT7Sfav7dIZ/OfUY54Hxg95nrGoshSzxx6Ey7qqLbImKdiGkSDt7KjPXjQgmA== dependencies: "@inquirer/ansi" "^2.0.7" - "@inquirer/core" "^11.2.1" - "@inquirer/figures" "^2.0.7" - "@inquirer/type" "^4.0.7" + "@inquirer/core" "^12.0.1" + "@inquirer/figures" "^2.0.8" + "@inquirer/type" "^4.1.0" -"@inquirer/type@^4.0.6", "@inquirer/type@^4.0.7": - version "4.0.7" - resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-4.0.7.tgz#9c6f0d857fe6ad549a3a932343b64e76acb34b10" - integrity sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g== +"@inquirer/type@^4.0.7", "@inquirer/type@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-4.1.0.tgz#98f607ae62c4c5b333ae1b45b629af62a3be6472" + integrity sha512-FMiJpuHUG3Dk0ex+UIXkre7i+i4OcwHWk9YdcVtZHFwb/r2rnrU2ipTCNAB7A+QOP0ryzIcqOfy76fRyyvOEAw== "@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": version "0.3.13" @@ -823,9 +844,9 @@ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" - integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + version "1.6.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz#f4c663e862f06dc98ca4d453862c46902789a18d" + integrity sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw== "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": version "0.3.31" @@ -835,12 +856,12 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@listr2/prompt-adapter-inquirer@4.2.4": - version "4.2.4" - resolved "https://registry.yarnpkg.com/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-4.2.4.tgz#28fcb5727d88e364bb4d404fefc34134ff62a41e" - integrity sha512-/KRI2DMD7JGSYaREF0Ygl7AefJ/2ase4Gc5cBiKqT5l4tFjsSJfhFGcc5nSkgl0Sp9LkCQNzl/cqbVJYP2L3dw== +"@listr2/prompt-adapter-inquirer@4.2.5": + version "4.2.5" + resolved "https://registry.yarnpkg.com/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-4.2.5.tgz#ad8c358dda9857a9d6d803d554a6dc3448f89585" + integrity sha512-pYGy9dTdTwXdasPgyohkr0HoQ4FrkAzFnsUZl/gcnadDArbpZ8e+fgr+F9WBdNEl2y00mb9bCM4WgmoBkZJ27A== dependencies: - "@inquirer/type" "^4.0.6" + "@inquirer/type" "^4.0.7" "@lmdb/lmdb-darwin-arm64@3.5.6": version "3.5.6" @@ -1159,10 +1180,10 @@ resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.140.0.tgz#2acc1bd45ff24951059d01ce7552d26e1574c5ac" integrity sha512-h5LUOzGArYemnW1NMz/DuuQhBi96J6JL2Bk8zE4kvqxB5Sg3jxmCiH4uyOWHDkiKSt5vWlG4FIwCR/DbstcNRQ== -"@oxc-project/types@=0.144.0": - version "0.144.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.144.0.tgz#7dfbfbfbbb9c24d4abeb6f9856a1eca02aff6468" - integrity sha512-nuhZIOLuI6TFQ32I/WnUx+SCPY7SdSKwgnFHydAuoS1+Z4BRcaP+RRJmGzl9lw+0OFF7UmaESf7KQRXaNLHypg== +"@oxc-project/types@=0.147.0": + version "0.147.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.147.0.tgz#512e43196053db4a99928e35b287549a3226268b" + integrity sha512-IJ3s6ltHLp45S0bh7phkX+gJO7A1Wuz2EaqpAhb8WjqDwbzMiWKHhyyT42tskaWjEYXtHtVCPpnBJVT9+dcRLg== "@oxc-project/types@^0.142.0": version "0.142.0" @@ -1252,6 +1273,11 @@ "@parcel/watcher-win32-arm64" "2.6.0" "@parcel/watcher-win32-x64" "2.6.0" +"@rolldown/binding-android-arm-eabi@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.6.tgz#81bc32b79902fcd3875dffdf3be2ccba3ef8d794" + integrity sha512-b+jTcARdTiFLI6jB4a5XjTm0RWd6KcRfQj/I2356fxUZemiho9zQLxo0RtCuMDAyKcLo6cEltkgbQp6d1+sjjQ== + "@rolldown/binding-android-arm64@1.1.5": version "1.1.5" resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz#f58cb9a0a8128ed0582282720528547fc5c035f3" @@ -1262,10 +1288,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.0.tgz#18b16c76ef035d88a12905e84a5875fd39a869b4" integrity sha512-9yB1l95IrJuNGDFdOYe79vdApdz6WWBCObE+rQ2LUliYUlcyFwSYIb2xb5/Ifw7dAtMy2ZqNyd8QTSOc7duAKw== -"@rolldown/binding-android-arm64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.4.tgz#9ac390255ded738672ad1425bed6423453ff71fd" - integrity sha512-jHC2cnyKz5xU2fhECtFl8OZ83cYNt13GZQD+0uMJ/X3o+ijmd56okHhTUwxVSHPx1IRVIJEZ1/1pPzeLCU6XKA== +"@rolldown/binding-android-arm64@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.6.tgz#9b20ae8d8a5bb979ea6aa8fa4b7e11f58c53f775" + integrity sha512-lkWU8ZJaRk9q3CIEY1Tc7vIFALp3Xw5NfGJo2hQg5oIqNgxWi1zI+IiDEK3r70BF5Dzol1tcXsnzsRc8NLhG+Q== "@rolldown/binding-darwin-arm64@1.1.5": version "1.1.5" @@ -1277,10 +1303,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.0.tgz#2d66d02ade26d1ef79f98f65d7598fd9dae0a77b" integrity sha512-pexNaW9ACLUOaBITOpU6qVu4VrsOFIjTv6bzgu0YUATo4eUJx0V605PxwZfndpPOn0ilqGqvGQ0M8UW0IE24jg== -"@rolldown/binding-darwin-arm64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.4.tgz#c63cad2f656b672782dd70894af895af9cba35c8" - integrity sha512-Dc5mPD8F5F/FS8i01syd7FTF6yB2fVthH/TRkjwJkzUK6EpoxHtqvZQP5Zwq80/5z19TWYHIg1KOHboCgVx/aQ== +"@rolldown/binding-darwin-arm64@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.6.tgz#1031ee06b51c9134ba5a6da3a7310388875f7dd8" + integrity sha512-dgR56NYnvAszm7Ob1B2/Vn0e8bUQYZH2UjVaMMtMVOCKFSfjhfLmuA/9+O+F+ajUdG6B/bSssrKW6JJYASa8jA== "@rolldown/binding-darwin-x64@1.1.5": version "1.1.5" @@ -1292,10 +1318,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.0.tgz#2f8a8beecd275e4291730c3f5b21b45399c81c4d" integrity sha512-NqKYaq0355ZmNMG4QGpxtEDxsc7tGDhjhCm4PpE0cwnBW+5Il95LJyq414niEiaKLVjnVHBEjSo1wngKxJNiFw== -"@rolldown/binding-darwin-x64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.4.tgz#54f6305d6785793c63c1521a4da4412bf7d8e089" - integrity sha512-fpDm4oBo6SqLvWUYCmFhdde3U9KH2fRNNMeAnAPAIwxRL345xutL0EtEUcuoxsoazdJGv/MuDBQHlCDrtbvqOg== +"@rolldown/binding-darwin-x64@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.6.tgz#11cf31040b779dba8e61d932ae3c0ee81ef94ae0" + integrity sha512-vpVxFvUCFioJqug7OTvqptkc4yb8UX0AwfDmJpaR/0sWz+BUmqSVAf7c8JkUgnN8YLspb4a/N6NhTyMAmdyQ7Q== "@rolldown/binding-freebsd-x64@1.1.5": version "1.1.5" @@ -1307,10 +1333,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.0.tgz#2b66b88e282ea2ebd2ab721ea88d209d600508c0" integrity sha512-3vPoHzh6eBTz9IbB0/qZdSr0Qeks2echn+I4cHu2joV74VriPDdldswksEDzrl1mBB+oPRi+67+3Ib59paxIPQ== -"@rolldown/binding-freebsd-x64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.4.tgz#c069a3ebd4a5dcfffd79a00f33c06bc242d9566b" - integrity sha512-rSJoreDE/HoIzoaib6MTp5jQtCTdMHKIvItAKT/ImS6Y6Ww76oUaeMyp4Vc/fAgd/ehji068IxetHXAnqUwN9A== +"@rolldown/binding-freebsd-x64@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.6.tgz#72d805b459ba4a8bbfc112bca4a1c70740516ae9" + integrity sha512-h1wG6Y6K3JlRswxsI64qQJqBAy4vrLuHgRbc8CZMGSWTOFRY6ghMApM1NKzB2I0n5xV1fjkE18SuVl2QpLeNpA== "@rolldown/binding-linux-arm-gnueabihf@1.1.5": version "1.1.5" @@ -1322,10 +1348,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.0.tgz#e3c3a54ab4b7855dd7b1388bd564344e78f2a9d8" integrity sha512-E6NNefZ1bUVmKJq2tJkf45J4Zyczj7qm9rUT7NY+Xo2474Y13qWAwc2tvBt0BAVbmtXR1llkxXg0Ou1jbDf2SQ== -"@rolldown/binding-linux-arm-gnueabihf@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.4.tgz#cff0d05a56e19f02443313f2abf73cf693173867" - integrity sha512-/jm8OGHgn7oGaJu3i/qZI9spUGcJ+y/lk43ttQ/iO1tOd9NissG6o97bighBCiL+BKRngmcDuR6ikfwYdJmVuQ== +"@rolldown/binding-linux-arm-gnueabihf@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.6.tgz#43b778dd021f50182a1efdb4149cd89cff86c942" + integrity sha512-tbCiqub0q2MVWJKgF5PoAlNWCtQydiOYSLIkd8sByqK/6MMYLJRcSXSYodqYtd0O+Fw7QaVmKKlS4oL94YRZ0w== "@rolldown/binding-linux-arm64-gnu@1.1.5": version "1.1.5" @@ -1337,10 +1363,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.0.tgz#1af753d6af0db3e408193d945f592f328947fd39" integrity sha512-D+TgkdgM1vu+7/Fpf8+v0ARW+RXEP9Ccazgm8zQ4JFFd9Q7SrYQ2TakU5S5ihazQDgpKyAgZDOcIFsvoHmTZ8w== -"@rolldown/binding-linux-arm64-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.4.tgz#267605366ba2bf3146609417a6db99253943c96f" - integrity sha512-tIP06BeD9EqvECBrPZ+sqdPlYrT+aYaAiu1wYziVx5elRK/ftm33JxVDy2bXGbr6J0CrtirCkR87/X5a2euEng== +"@rolldown/binding-linux-arm64-gnu@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.6.tgz#e9fa7a469999c1346d827b29154068d1c833c474" + integrity sha512-oxK9+baEBPhZG5HB4URY+uU04zJWeZlH6Tb9rB5DK4DF9XR1uXNLXt5Q5ZsugTKayNCNLhkcwz/ye74hRI98dg== "@rolldown/binding-linux-arm64-musl@1.1.5": version "1.1.5" @@ -1352,10 +1378,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.0.tgz#1caa273824312871204d2b58747425ea49739ef1" integrity sha512-wUqdwJBbAv0APN87GecstdMUtLjjNTs0hBALpxETD73mccFxdmt/XeizXDtN5RAlBwNKmI+Tg+blect2G+8IeQ== -"@rolldown/binding-linux-arm64-musl@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.4.tgz#73d47bfdba2a72c16bfb271c23efb8949b2c2018" - integrity sha512-Ql1Q0EQqVThvn9VAVlwNzsUvbSFtCMGjLpRRi4pk5i7NZZ4n5ISiLMjHYtus4VQ2PvkSw24zyaCVsiS+sXPj1w== +"@rolldown/binding-linux-arm64-musl@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.6.tgz#5e68dd6eb85797745f494dfe8c490c2bce4218a6" + integrity sha512-muWCk27FVBEZtv0MsK8gnfSmgczA8KQ0uRVJbTABKhkRfQc38aUrcb7fhi3BNiyseFmgcRsoMfQsSNJ+DbZdSw== "@rolldown/binding-linux-ppc64-gnu@1.1.5": version "1.1.5" @@ -1367,10 +1393,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.0.tgz#95a1a48e3051f1f8d9cab3703de62ea418c9924e" integrity sha512-9DtF35qR9/NrfhM4oxLplCzVVjE+KKm8Pjemi0i/sdhAWkUasjmSo8WTTubNJClhSHCfyk2yeyoXDQEDPtDAAw== -"@rolldown/binding-linux-ppc64-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.4.tgz#3ba455c72d3e9efd973df59689d48e75ca6f7559" - integrity sha512-GjbjXD4XXfN19D0LZNbmiCBUoDiRACsYHr0yaIbbn8aFsXjHZifcYqu/W5Er5X2X990WjHXFrxarn5chzItorQ== +"@rolldown/binding-linux-ppc64-gnu@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.6.tgz#2a0efc15437a55dd2caf58f0318e129d11d98ee6" + integrity sha512-eWDoSfU7Co2qj3vgB3Dt4lj1mG6CoWbcJQkRMP3XJplyCMtuaq3LHvPFjS9QIPvMGWVadJC04Xiy0IdcVPtnwQ== "@rolldown/binding-linux-s390x-gnu@1.1.5": version "1.1.5" @@ -1382,10 +1408,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.0.tgz#2d3f7543b193f8462a4c12e9aefd2ad72fbbe518" integrity sha512-RzuHrBh8X8Hntd2N4VR02QGEciq/9JhcZoTpR/Cee6otRrlILGCf3cg2ygHuih+ZebUnWmMrDX6ITI85btO6rQ== -"@rolldown/binding-linux-s390x-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.4.tgz#2fddcb48eee12a620735c83a0056307b6ede2edb" - integrity sha512-p5WR0NOwaRmJ/B1b6IjEFLLivwEsf3PrdBIhRbhTCQisbo2SvHHpG4ELB/+FgQNnB88LTOF86upmJmbvZdQ2lw== +"@rolldown/binding-linux-s390x-gnu@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.6.tgz#bc2b0b6325d8aae0f1a1c06fb10d665c82258541" + integrity sha512-2bWNjRSIayvupRKxXUY2tWG9fYdoUlTqWywHRvE8Eq3GvuQ+f2HeIkve697fIt+IQs/PV8yFsdWuhp1aJ1PdnA== "@rolldown/binding-linux-x64-gnu@1.1.5": version "1.1.5" @@ -1397,10 +1423,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.0.tgz#0d428b854214bcaf0c8b81fc668c59932b20283b" integrity sha512-MK7L0018jjh1jR3mh21G2j1zAVcpscJBlPo2z19pRjv2XOYGRhaV4LyiD8HO6nCDdZln9IFgCMIV5yt4E3klGQ== -"@rolldown/binding-linux-x64-gnu@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz#97fb91430f78e46f81d4fe82a049a8c47f4ece96" - integrity sha512-4/GyVjmhR+Tc6HLJvwc1sOhPqAZtySiSMesOZyX6JQ5XBxoTDEMKQzvo07NIK6nTon/SivlZqvhzvuVBNQhObQ== +"@rolldown/binding-linux-x64-gnu@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.6.tgz#e6e5022f6138fdc0d14cefacc67dc7bc5dff6430" + integrity sha512-KekI0gS0wLxe1UBSQSjenBVwou/JkcQPDzBPICGZjxUv9k3RteHDPBQaiOicZUFKRIH2wKEimGwVpnJsbPzu7w== "@rolldown/binding-linux-x64-musl@1.1.5": version "1.1.5" @@ -1412,10 +1438,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.0.tgz#3ef09dc3980913b3db489e5b568db3f51b7c02f8" integrity sha512-gyrxLQ9NfGb/9LoVnC4kb9miUghw1mghnkfYvNHSnVIXriabnfgGPUP4RLcJm87q3KgYz4FYUG8IDiWUT+CpSw== -"@rolldown/binding-linux-x64-musl@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.4.tgz#71ec9967b5ff546a6d5dda16d1c7a97e50bf647a" - integrity sha512-l9eeLsCNvPpmSXUej0etw/J1eqV0Jj1D5G/xG6YTijmE6dkv6E2QezgWbTfQk63v952DPqrjOCoiqxq7Bw0YUQ== +"@rolldown/binding-linux-x64-musl@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.6.tgz#c8b462609809237bbf6265491b1e78d5c260ed46" + integrity sha512-TvtPnfVr+HtyGiDmPK4VWmlNm7QhNNAcK5Q9A7aOXsI8545yCyaoMaicXrFZ72JzeYjaUVk7yT243zT0jzjFKQ== "@rolldown/binding-openharmony-arm64@1.1.5": version "1.1.5" @@ -1427,10 +1453,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.0.tgz#bc2afd9513b85fd3cc176e3d0cb32727f4611598" integrity sha512-/6VFMQGRmrhP77KXDC+StIxGzcNp5JOIyYtw0CQ8gPlzhpiIRucYfoM5FaFamHd5BJYIdH86yfP46l1p3WdrFA== -"@rolldown/binding-openharmony-arm64@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.4.tgz#1e19ab28fbdb009cb6d9503e3ff6cbeffd7225ae" - integrity sha512-e0F355MSTMm3+UOqtV3L24gFUp2N5m1f8L/7d56deik6va+AXdrt9F8LbzGpeWGWRbZEDq4m8NVnJDeBtf9DZg== +"@rolldown/binding-openharmony-arm64@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.6.tgz#aa208791647b3b0bd23b372d5ee6bd5ed5988118" + integrity sha512-iOo0VEay2XFhaCcH0sps5XIimkSuOnNaZrf6+ZkoSOQBJPKNU48RkmJv0/lSpipexu5P+ouFgafe5IGr/DiQfg== "@rolldown/binding-wasm32-wasi@1.1.5": version "1.1.5" @@ -1460,10 +1486,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.0.tgz#548e33a9362f50ca326e49bdfd35d4e1aaa68d9a" integrity sha512-+5suHwRiKGmhwyUaNT8a5QbrBvLFh2DbO910TEmGRH1aSxwrCezodvGQnulv4uiWEIv1Kq4ypRsJ5+O+ry1DiA== -"@rolldown/binding-win32-arm64-msvc@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.4.tgz#9fad167d015c699f4375c2a1d04d1e52e4a32de4" - integrity sha512-AWLi0uBRYh6QlE7OKhiz+phZC0qwtij2QZmhmOdsLdFn64m7oMpooE9ICE3lhm9xMb4SpDo2WbHcxX1iFLFtqw== +"@rolldown/binding-win32-arm64-msvc@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.6.tgz#a2a5f1a84555d00afe0ac0ff387878bcf4ada52a" + integrity sha512-y5NTmmasMS455JlOCO4ZM9krIchv3Mvm1crL1iUPGOPgEzSkves9n0SdC5Sjz6+qWDFhd8/JpfWMH8NSWNHe+A== "@rolldown/binding-win32-x64-msvc@1.1.5": version "1.1.5" @@ -1475,10 +1501,10 @@ resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.0.tgz#7a655b9b4cac46a46eb18a0fae6bbc9ca22db4e4" integrity sha512-WfFv6/qGufotqBSBzBYwgpCkJBk8Nj7697LL9vTz/XWc67e0r3oewu8iMRwQj3AUL45GVD7wVsPjCsAAtW66Wg== -"@rolldown/binding-win32-x64-msvc@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.4.tgz#7a5f2d3e886c357029332b53f38ad2042e4615c4" - integrity sha512-UwSDJOg3dqCAejWdxclJjCsh3Qq4vLYMDxmyHqo1btz3stK2VqgwNd3mm5tuIwzSlGIQ/1H9Hr+Zn09mrezNqQ== +"@rolldown/binding-win32-x64-msvc@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.6.tgz#1162903e264ed10db4be8af40ba8cf13cd4a0b4a" + integrity sha512-np8iZSLfXlAD4kWhiyq/u0Yt8oZDtRQ8lGhQaCXo2rl37KNjeU0GjJuwr4P3oeZ++ROfofsKNBqR5LTO8aXyWQ== "@rolldown/pluginutils@^1.0.0": version "1.0.1" @@ -1490,13 +1516,13 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@schematics/angular@22.1.4": - version "22.1.4" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-22.1.4.tgz#38c29eae18e735f85cd531a4c641ebabcf791839" - integrity sha512-uiYKuiCnkTEbs4eOU1QJlM5NPw6BR1qgpct8VlrhS4n861WCCjTy5cxiAWJ3Doc0R72d44j3uoBfAEp7KEVn2w== +"@schematics/angular@22.1.6": + version "22.1.6" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-22.1.6.tgz#b2d777bfdce375088f1c44900b470ffa415b9f11" + integrity sha512-RiD4OZJ4yuaM1aXb3pt1gjDSWwkP0jrgiCuoaBls1eabcrDmlsNuQv0ekxbcGgCRPdSJvmHRZIHHmFPzei8w3Q== dependencies: - "@angular-devkit/core" "22.1.4" - "@angular-devkit/schematics" "22.1.4" + "@angular-devkit/core" "22.1.6" + "@angular-devkit/schematics" "22.1.6" jsonc-parser "3.3.1" typescript "6.0.3" @@ -1555,6 +1581,11 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/luxon@^3.7.5": + version "3.7.5" + resolved "https://registry.yarnpkg.com/@types/luxon/-/luxon-3.7.5.tgz#d223e1adfdadb140eca9c51647aba59b98508128" + integrity sha512-jJ41Q4z6ZVO260MNDdHfW7+7a5iMiX8Mr6ZJHcmgrvhZha6dz5704o/lF2kKl6URjH6ivEL97w9xS/MgpJEphg== + "@types/minimist@^1.2.0": version "1.2.5" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" @@ -1565,100 +1596,100 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== -"@typescript-eslint/eslint-plugin@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.67.0.tgz#52f9f0e47d5a7571c4336e69bfeea581509ef2cf" - integrity sha512-Un7Heoyj65NREbKAyIrFxeM143NZpExWmy1Nep4DLeQOeLlTeumPjoNKnBrU5D5moWXbPJgRa5Uwcdu0faVNGQ== +"@typescript-eslint/eslint-plugin@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.68.0.tgz#a8fbdb1cf49aafaf16071b646daad890151bd149" + integrity sha512-WASHDpCm6qO5jj9g1a+8NiW5+GCkAyLReR56/4VruYmNgfUmqpxOfZ2Yfb8xGfJPWv5Qi6LSD8sXdces3vbp/Q== dependencies: "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.67.0" - "@typescript-eslint/type-utils" "8.67.0" - "@typescript-eslint/utils" "8.67.0" - "@typescript-eslint/visitor-keys" "8.67.0" + "@typescript-eslint/scope-manager" "8.68.0" + "@typescript-eslint/type-utils" "8.68.0" + "@typescript-eslint/utils" "8.68.0" + "@typescript-eslint/visitor-keys" "8.68.0" ignore "^7.0.5" natural-compare "^1.4.0" ts-api-utils "^2.5.0" -"@typescript-eslint/parser@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.67.0.tgz#0158022ec9927e0afcd58a8cc2ad57e01d892f5c" - integrity sha512-fUBfTuuEulWqX6V8+O3PtScV01tzYYRUDTAirHFKoRAt7nOzoGiPt0M/bB47wWNy0coOOcgEwAMUtBpykMxl6w== +"@typescript-eslint/parser@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.68.0.tgz#61de31481354c50457bc9621a7ed746779f09ee7" + integrity sha512-fHq2VC1kpyYfvEcbiMjOpySY4WS7voEp89yAThrHRX5sm9j2lzYppCb2umFMEed4fWcyeLjHxrz0mpjNBaBxMQ== dependencies: - "@typescript-eslint/scope-manager" "8.67.0" - "@typescript-eslint/types" "8.67.0" - "@typescript-eslint/typescript-estree" "8.67.0" - "@typescript-eslint/visitor-keys" "8.67.0" + "@typescript-eslint/scope-manager" "8.68.0" + "@typescript-eslint/types" "8.68.0" + "@typescript-eslint/typescript-estree" "8.68.0" + "@typescript-eslint/visitor-keys" "8.68.0" debug "^4.4.3" -"@typescript-eslint/project-service@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.67.0.tgz#1552db007ca9206a1c6c7acf49e210bd17a8c56f" - integrity sha512-cvE8c7ulYeXN9fYuszhCeCsbzyVEXuhrRCybnBre7TUmqb5nRmBfQAwCj0O3WJFDeyAZt4VYv51vMCC9LHSdYw== +"@typescript-eslint/project-service@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.68.0.tgz#ea4b2869f59165c420cd7a4bbebc38039794e8cc" + integrity sha512-5GQtWZCXFcFYux955pvoS02WLc49pXNlvIxocKjS0clvwo3in1RdlzVKyiqQH9vE5AKWFLTaUgeQkOrTS+0Qxw== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.67.0" - "@typescript-eslint/types" "^8.67.0" + "@typescript-eslint/tsconfig-utils" "^8.68.0" + "@typescript-eslint/types" "^8.68.0" debug "^4.4.3" -"@typescript-eslint/scope-manager@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.67.0.tgz#4d4c2da09560d10dd7d947cba2d29d14d25af16d" - integrity sha512-EgvsleTwS4E+WzzSvem8fAUubLwatMNF1B5hHSLQxcvs7q2dtRhGyujHwLJSYlG41niJ7GP24Aha2+0mb1b2kg== +"@typescript-eslint/scope-manager@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.68.0.tgz#e5a13a1159497faeab4e48279bf07576045b1499" + integrity sha512-T5eXpcaJNg8bhjHJ8Rjp68Vq/QBteYtTKY8TZqVNPaUbuz0f6jI9t6aDkylwvalpAB9XTTFeFOjrjXAZ3YvmVA== dependencies: - "@typescript-eslint/types" "8.67.0" - "@typescript-eslint/visitor-keys" "8.67.0" + "@typescript-eslint/types" "8.68.0" + "@typescript-eslint/visitor-keys" "8.68.0" -"@typescript-eslint/tsconfig-utils@8.67.0", "@typescript-eslint/tsconfig-utils@^8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.67.0.tgz#f45a3eba6b9132fb47141ec03ce2f275f1ea991d" - integrity sha512-vV+LUSv5njUWsknE71fqKTlXUva+R76SaeORd6Zojcunk/6DvKFXONU3BrAs2H49mbygUXt6gbYunzwqNwlhdg== +"@typescript-eslint/tsconfig-utils@8.68.0", "@typescript-eslint/tsconfig-utils@^8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.68.0.tgz#594d7a3c5952055b3c431fc563ca7fd1defcce18" + integrity sha512-F7zrGQfiJHojPwi8vhxZQC1tWtJzvL74cK/nqri2lk8YUXvYaYwl263xOJ69jDWPUk1hmcdoayFwk9lX09npVw== -"@typescript-eslint/type-utils@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.67.0.tgz#96bed105275559df3bcf0449b73a6414d35c59ce" - integrity sha512-aVWDXbRmdXO9siTfX4ditQI1T9+zVcNazT48EJCD0v40/9RIFoUgZ05CmGEq9H2gixRpjUn/iplwvlcvutJW/Q== +"@typescript-eslint/type-utils@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.68.0.tgz#8f3e838dbd740909db27053857468cd037b00220" + integrity sha512-X77zqoY1EjeWGs/0JNxeaMfp5C5lIz4Tw8y66F1Ne8Faq6g424sBNYM6xBAqElfGZPLpWS+CZAp0DXyKDzWiHg== dependencies: - "@typescript-eslint/types" "8.67.0" - "@typescript-eslint/typescript-estree" "8.67.0" - "@typescript-eslint/utils" "8.67.0" + "@typescript-eslint/types" "8.68.0" + "@typescript-eslint/typescript-estree" "8.68.0" + "@typescript-eslint/utils" "8.68.0" debug "^4.4.3" ts-api-utils "^2.5.0" -"@typescript-eslint/types@8.67.0", "@typescript-eslint/types@^8.0.0", "@typescript-eslint/types@^8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.67.0.tgz#4a8d00cc1faba5c14feabc60f85b7a32652f34b6" - integrity sha512-sBtgslww8nsMYUjhdPBiSyUqSzT8uR6g93A2QXnQC8+cGdjz0CyaOdqHDRJb1AtORbZCNUJBBeFA/tNR2uQmww== +"@typescript-eslint/types@8.68.0", "@typescript-eslint/types@^8.0.0", "@typescript-eslint/types@^8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.68.0.tgz#3f9d4e62fbe5728f09403cdc7b4d58af842ac1af" + integrity sha512-9RnpsGJjrAllCMefGVVsImJM24YurhC0Q1h4UbvivtvOqXmR/vEJge2OoE++z9m6hyg8T1Q8t5SNT6tHSbrxcg== -"@typescript-eslint/typescript-estree@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.67.0.tgz#116c3a47c06119c5a050e8851861d6497dd64bc2" - integrity sha512-EKQBCE9yNlRJYm7jdTW5AhDacDUmSwQb0FAJAmK2EKYrNXIsa2vxcSZx6PvJ/dEdI6lS+Y9W+EXckLj0iPFGcw== +"@typescript-eslint/typescript-estree@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.68.0.tgz#bf4165029825138ac27231a3ff02923ecd977f38" + integrity sha512-OKKsD0tYmoNiU5PW2zehO1yO56jYOm1ShYlxon/Z0SJNidAkdVg86eg9ruRuoXf8xfnuWZGbwDsStkoXbZtIIA== dependencies: - "@typescript-eslint/project-service" "8.67.0" - "@typescript-eslint/tsconfig-utils" "8.67.0" - "@typescript-eslint/types" "8.67.0" - "@typescript-eslint/visitor-keys" "8.67.0" + "@typescript-eslint/project-service" "8.68.0" + "@typescript-eslint/tsconfig-utils" "8.68.0" + "@typescript-eslint/types" "8.68.0" + "@typescript-eslint/visitor-keys" "8.68.0" debug "^4.4.3" minimatch "^10.2.2" semver "^7.7.3" tinyglobby "^0.2.15" ts-api-utils "^2.5.0" -"@typescript-eslint/utils@8.67.0", "@typescript-eslint/utils@^8.0.0", "@typescript-eslint/utils@^8.65.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.67.0.tgz#3e478a3d69d330a1fc50c12746cc2ee0732ccfcd" - integrity sha512-U9D1FdwEWBwok3hxxSdhclMb0twvt9QnjIQ0VfQ1AiX2epnpSgv2ubVDsayOFyY8K6FX+AQ7E0FKWVG3iKsj1A== +"@typescript-eslint/utils@8.68.0", "@typescript-eslint/utils@^8.0.0", "@typescript-eslint/utils@^8.65.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.68.0.tgz#00547f2c8de8aca2a3c21752a9711f73206fd36d" + integrity sha512-PB5gJMMOg0Q5P1tsgWtEAqQacJXq0qEqRHDX/YJ4FaTMLfZPpHB3gjl2EJuiZyPABxmj4ZQYiY9m1bdAJ5y7tQ== dependencies: "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.67.0" - "@typescript-eslint/types" "8.67.0" - "@typescript-eslint/typescript-estree" "8.67.0" + "@typescript-eslint/scope-manager" "8.68.0" + "@typescript-eslint/types" "8.68.0" + "@typescript-eslint/typescript-estree" "8.68.0" -"@typescript-eslint/visitor-keys@8.67.0": - version "8.67.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.67.0.tgz#601d40af9acf82a28da2286f3edafc69bba9017f" - integrity sha512-fkv8dHRDqfGtTHuJeebdrQ7cX6Ad4WAS00rgHh9UGvMycF1mjBfsxry1XsLIFhWZ6Judlh6UdzK+TYlbpCXgnA== +"@typescript-eslint/visitor-keys@8.68.0": + version "8.68.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.68.0.tgz#78db3c9bb258a0309d9e2b1b617127c3a8fb1f54" + integrity sha512-YR65gGdGvTUAWLldC3xLOvOzamdGzB4A5/N8rehEaHs3Zvoe39BhgY+u0SPch1OvrVTfLcc55wsSgK2NcnTS/A== dependencies: - "@typescript-eslint/types" "8.67.0" + "@typescript-eslint/types" "8.68.0" eslint-visitor-keys "^5.0.0" "@vitejs/plugin-basic-ssl@2.3.0": @@ -1790,21 +1821,21 @@ ajv@^6.14.0: uri-js "^4.2.2" angular-eslint@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/angular-eslint/-/angular-eslint-22.1.0.tgz#b8e91d79f994eb44ad294d3aff04367732af3dde" - integrity sha512-LU5a6MOSeQTETnc4xaHi10p9S1cstNczr93sChi3rx8IzgH4+risIsjjQHVLSnQDrSGH2O8jAGCaChker7f7TQ== + version "22.2.0" + resolved "https://registry.yarnpkg.com/angular-eslint/-/angular-eslint-22.2.0.tgz#47b9285fbe5f2302c63e3668c52d2c43251941ad" + integrity sha512-66myS9hmanwiRlOiEwfF126jypqwiD+zc2/9dcq8zZjadXRa83Znf3KPp/4kSmSsWmDei9FgYArSmdOkPuMJQA== dependencies: "@angular-devkit/core" ">= 22.0.0 < 23.0.0" "@angular-devkit/schematics" ">= 22.0.0 < 23.0.0" - "@angular-eslint/builder" "22.1.0" - "@angular-eslint/eslint-plugin" "22.1.0" - "@angular-eslint/eslint-plugin-template" "22.1.0" - "@angular-eslint/schematics" "22.1.0" - "@angular-eslint/template-parser" "22.1.0" + "@angular-eslint/builder" "22.2.0" + "@angular-eslint/eslint-plugin" "22.2.0" + "@angular-eslint/eslint-plugin-template" "22.2.0" + "@angular-eslint/schematics" "22.2.0" + "@angular-eslint/template-parser" "22.2.0" "@typescript-eslint/types" "^8.0.0" "@typescript-eslint/utils" "^8.0.0" -ansi-escapes@^7.0.0: +ansi-escapes@^7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.3.0.tgz#5395bb74b2150a4a1d6e3c2565f4aeca78d28627" integrity sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg== @@ -1956,9 +1987,9 @@ balanced-match@^4.0.2: integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== baseline-browser-mapping@^2.11.12: - version "2.11.15" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.15.tgz#9c0cac93d7d304f3d61bb41088a102cd62e68676" - integrity sha512-FwMjJJ7HnyZpWe+oWxegG0fezZyBZUagI5LZEoO3GCbtbKNwRfMH9Ue5d5v01PNePBy1QSfPSDTTeVL0Hb9EzA== + version "2.11.20" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz#26078c7a4b08299656ea7ddceaebec955dc44303" + integrity sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw== beasties@0.4.3: version "0.4.3" @@ -2072,9 +2103,9 @@ camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001809: - version "1.0.30001809" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz#e6cf71f14ddfe008f114dd2a846923be3c03a07b" - integrity sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ== + version "1.0.30001810" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz#4970b477dea3278374de9bc43aa8f5d39fc3cda2" + integrity sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg== chai@^6.2.2: version "6.2.2" @@ -2119,12 +2150,12 @@ cli-spinners@^3.2.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-3.4.0.tgz#1f11f6d48c4e5bc6849fcb4efa0dc98f9e7299ea" integrity sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw== -cli-truncate@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-5.2.0.tgz#c8e72aaca8339c773d128c36e0a17c6315b694eb" - integrity sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw== +cli-truncate@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-6.1.1.tgz#35ae66a040eef357aedcfffd6149d847bf7a2eb1" + integrity sha512-06p9vyLahLa4zkGcgsGxU6iEkSOiuI4fhCH6Emhe2lPAcoUv73n72DnODsnHA+5wwXGnV0n9M9/qOQJSjYhFhw== dependencies: - slice-ansi "^8.0.0" + slice-ansi "^9.0.0" string-width "^8.2.0" cli-width@^4.1.0: @@ -2212,7 +2243,7 @@ content-type@^1.0.5: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -content-type@^2.0.0: +content-type@^2.0.0, content-type@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/content-type/-/content-type-2.1.0.tgz#d9389c43c0a8cf6a355db464d21e07092a40493a" integrity sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag== @@ -2617,9 +2648,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.402: - version "1.5.409" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.409.tgz#3d514dd82b2d181d8ade96c53242f4b8c94ab4ed" - integrity sha512-ChI4N44d0B4A6C8prnNjMOaGgE59fUyEVYcRYm2XEXIjMbbvF5i9UL1cblDbpGqiU0uS8FE8UcKxqZqTXdmzbQ== + version "1.5.416" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.416.tgz#d3efc642529905e0fd7500749d18a3e88347be1a" + integrity sha512-K6bvB2BjnNrugtIih6ewlbBI9DXa976jIdiIlRLHhBoEI9a4JaQjjHyF+A1IQI543aQYR4LnmOrT/K5fZj0aPA== emoji-regex@^10.3.0: version "10.6.0" @@ -2926,9 +2957,9 @@ eslint-visitor-keys@^5.0.0, eslint-visitor-keys@^5.0.1: integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== eslint@^10.8.1: - version "10.8.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.8.1.tgz#fb37d514c19b6dd5b2d6b70169fd26fddfa97967" - integrity sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ== + version "10.9.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.9.1.tgz#409da5c41a5536d5a849f8555a18ca7ef1eb963b" + integrity sha512-9VaAkDURekixUQJy0oJYl2DcN6oKMfxay7XzaGYAWQwsb6qfKf+x76R2k1L8kb1boc+FyCAaTA9GmiKaaiaF+A== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.2" @@ -3006,11 +3037,6 @@ etag@^1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -eventemitter3@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.4.tgz#a86d66170433712dde814707ac52b5271ceb1feb" - integrity sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw== - eventsource-parser@^3.0.0, eventsource-parser@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/eventsource-parser/-/eventsource-parser-3.1.1.tgz#b96cbb7dace4f3774f58a9e3b1ae9a4a524872e2" @@ -3029,9 +3055,9 @@ expect-type@^1.3.0: integrity sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA== express-rate-limit@^8.2.1: - version "8.6.2" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-8.6.2.tgz#1a6c7fb6c5f5a83883c14f1d198fcdff60087c5d" - integrity sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A== + version "8.7.0" + resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-8.7.0.tgz#87739a3535e7db3ca87b4a77b1ec5cc2c0a711e4" + integrity sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g== dependencies: debug "^4.4.3" ip-address "^10.2.0" @@ -3098,9 +3124,9 @@ fast-string-width@^3.0.2: fast-string-truncated-width "^3.0.2" fast-uri@^3.0.1: - version "3.1.5" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.5.tgz#610f37419a030270430cecd68d74e3d4d96725d0" - integrity sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw== + version "3.1.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.6.tgz#bfdd308ef763f835fed059f3c6c925f708e33e3a" + integrity sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q== fast-wrap-ansi@^0.2.0: version "0.2.2" @@ -3418,9 +3444,9 @@ hasown@^2.0.2, hasown@^2.0.3, hasown@^2.0.4: function-bind "^1.1.2" hono@^4.11.4: - version "4.13.3" - resolved "https://registry.yarnpkg.com/hono/-/hono-4.13.3.tgz#9715a35f637115f7455287ce6fdddcab21653d6b" - integrity sha512-r8AO2mYHoLxSHkgafNeC/BXyb2vWRxD3jem4Ts+ptav8oTG5FIRifAjuJEmZI4bSvvc2ns0GxmIYiZnHqN3mMw== + version "4.13.5" + resolved "https://registry.yarnpkg.com/hono/-/hono-4.13.5.tgz#3df9463c4668a0321c39515309f5891e388e9709" + integrity sha512-O6+/eCYRkzzzy0rPWwKLiGBR1nFuUPZynnwjxN1MBA62NNqbT0wQEzQyK2gSO5yDIDB336sXQleAhOHrzlYyKw== hosted-git-info@^10.1.0: version "10.1.1" @@ -3483,10 +3509,10 @@ iconv-lite@^0.7.2, iconv-lite@~0.7.0: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -ignore@7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" - integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== +ignore@7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.6.tgz#6a57aaef4c90df27ac3590875d29e8f11988c88e" + integrity sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw== ignore@^5.2.0: version "5.3.2" @@ -3494,9 +3520,9 @@ ignore@^5.2.0: integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== ignore@^7.0.5: - version "7.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.6.tgz#6a57aaef4c90df27ac3590875d29e8f11988c88e" - integrity sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw== + version "7.0.7" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.7.tgz#b979ed6bcfdb93e6d0f1baf8de4e7e34e338a3a4" + integrity sha512-dML0wP6oak21rsNYCJpJB6O1BJIEwNpGrTw0URPfAk4hm0e3pRfCtzkfB6olBcXcVlU2rouCyz7lCyRB0OMVCA== immutable@^5.1.5: version "5.1.9" @@ -3538,9 +3564,9 @@ internal-slot@^1.1.0: side-channel "^1.1.0" ip-address@^10.2.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.5.0.tgz#fcd6d7dfe9e68416b7cb71afe9bc960b3e38c13b" - integrity sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g== + version "10.7.0" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-10.7.0.tgz#9713429f16787ede8f642f6255b41fb515c825d9" + integrity sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA== ipaddr.js@1.9.1: version "1.9.1" @@ -3640,7 +3666,7 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-fullwidth-code-point@^5.0.0, is-fullwidth-code-point@^5.1.0: +is-fullwidth-code-point@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz#046b2a6d4f6b156b2233d3207d4b5a9783999b98" integrity sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== @@ -3802,9 +3828,9 @@ javascript-natural-sort@^0.7.1: integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== jose@^6.1.3: - version "6.2.9" - resolved "https://registry.yarnpkg.com/jose/-/jose-6.2.9.tgz#344fa11af928f8000a4f81972c4d567d587170f0" - integrity sha512-XrchZOFZUl/T3vTwRe8XK+cJrGtMF4th1ARnDfwbBXFKThGhlsxEE4Zu03AD/bjJSt/9jT/mxrOCkJWOg77aPA== + version "6.2.10" + resolved "https://registry.yarnpkg.com/jose/-/jose-6.2.10.tgz#b70436c920c4b3f97314c28a8b8612c15b1d9e7f" + integrity sha512-iiW7J9qRFlGxvCOIBDBDxFePQSn7ZMAnrYGhrrOo6siO/MIqwfyilLR27pkfDgUk+raLuzADS8A3S/KLBisc0g== js-tokens@^10.0.0: version "10.0.0" @@ -3983,25 +4009,23 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@^17.3.0: - version "17.3.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-17.3.0.tgz#f13483b12f11790746e0ec82808ca0614ba80f4b" - integrity sha512-woZS3vNe3UKqBaLPvbLOtKRY4tLANpWQhom12MGWqC8Mh1lCOO+WgSwmX2amjJAqTY9BkXYW87fCUH5H9Ph6xw== + version "17.4.1" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-17.4.1.tgz#3d7684dcf8b3103794c31c3df4cb0de6921dfa75" + integrity sha512-FmJeudcalbSfg1du+JCfvi5vS6Qt08KgbfLWiHinbef+2JJwUZwAWVoaO1AcJVUTWPfk0t30PMQNwPAeCzYQ+Q== dependencies: - picomatch "^4.0.5" + picomatch "^4.0.7" string-argv "^0.3.2" - tinyexec "^1.2.4" + tinyexec "^1.3.0" optionalDependencies: yaml "^2.9.0" -listr2@10.2.2: - version "10.2.2" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-10.2.2.tgz#01d987a6e3fb03b17612968617366f28fdeaf4d3" - integrity sha512-JtNtbZj8q5BnDMR7trpwvwk3RIrANtIVzEUm8w7amp6xelLgyuq+4WZoTH913XaQAoH/cNdYhaNzBPA2U3xbDw== +listr2@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-11.0.0.tgz#e3e792ae2a6155122abdd9e7c150d7af2fc58458" + integrity sha512-8K88S0aSrcSXdJfiZtEy5BQMnR+TyjrCGLcgAvQs6ta0NEnIm0RJ72/Pv67Jvg07cfBhDbuN74V81lSSVYEFEw== dependencies: - cli-truncate "^5.2.0" - eventemitter3 "^5.0.4" - log-update "^6.1.0" - rfdc "^1.4.1" + cli-truncate "^6.1.1" + log-update "^8.0.0" wrap-ansi "^10.0.0" lmdb@3.5.6: @@ -4082,16 +4106,17 @@ log-symbols@^7.0.1: is-unicode-supported "^2.0.0" yoctocolors "^2.1.1" -log-update@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" - integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== +log-update@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-8.0.0.tgz#07d7bde6320dda8cf6fb12619e9d30695525b141" + integrity sha512-lddSgOt3bPASrylL54ZSpy8nBHns+vBVSoILlVOx+dei300pnLRN958rj/EdlVLKuWlSESU3qdnDZdAI7FXYGg== dependencies: - ansi-escapes "^7.0.0" + ansi-escapes "^7.3.0" cli-cursor "^5.0.0" - slice-ansi "^7.1.0" - strip-ansi "^7.1.0" - wrap-ansi "^9.0.0" + slice-ansi "^9.0.0" + string-width "^8.2.0" + strip-ansi "^7.2.0" + wrap-ansi "^10.0.0" lru-cache@^11.0.0, lru-cache@^11.1.0: version "11.5.2" @@ -4105,6 +4130,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +luxon@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.7.2.tgz#d697e48f478553cca187a0f8436aff468e3ba0ba" + integrity sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== + magic-string@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-1.0.0.tgz#e0f1c16d20b1a993d6481007f49fe1f5ca9b38ff" @@ -4231,11 +4261,6 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moment@^2.30.1: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - mrmime@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" @@ -4288,9 +4313,11 @@ natural-orderby@^5.0.0: integrity sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg== negotiator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" - integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.1.0.tgz#16e003d0db4ac24fd9df168edf871625deeae3df" + integrity sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg== + dependencies: + content-type "^2.1.0" neo-async@^2.6.2: version "2.6.2" @@ -4325,9 +4352,9 @@ node-gyp-build-optional-packages@5.2.2: detect-libc "^2.0.1" node-releases@^2.0.53: - version "2.0.53" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.53.tgz#0fe5ad8a7935e075172f574e56f0c20f07fa41af" - integrity sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ== + version "2.0.54" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.54.tgz#09af17d5647aa9f221ec5cf2becb95b68a981afe" + integrity sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ== normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" @@ -4674,11 +4701,16 @@ picocolors@^1.1.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@4.0.5, picomatch@^4.0.3, picomatch@^4.0.4, picomatch@^4.0.5: +picomatch@4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.5.tgz#51ea57a17d86f605f81039595fbc40ed06a55fab" integrity sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A== +picomatch@^4.0.3, picomatch@^4.0.4, picomatch@^4.0.5, picomatch@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.7.tgz#6313360034ccb36b3dc61ecbdff78121f90fe21f" + integrity sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA== + pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4716,7 +4748,7 @@ postcss-safe-parser@^7.0.1: resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz#36e4f7e608111a0ca940fd9712ce034718c40ec0" integrity sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A== -postcss@^8.4.49, postcss@^8.5.17, postcss@^8.5.25: +postcss@^8.4.49, postcss@^8.5.17, postcss@^8.5.26: version "8.5.26" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.26.tgz#6e75135780c7e10df3433bf2266c552d35c8c620" integrity sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ== @@ -4769,9 +4801,9 @@ q@^1.5.1: integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qs@^6.14.0, qs@^6.15.2: - version "6.15.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.3.tgz#76852132a58ed5c7c0ef67e4441b9bb5d6061b3b" - integrity sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A== + version "6.16.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.16.0.tgz#c22c723a28a920f3aacdce8289fabd43eccb79fd" + integrity sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA== dependencies: es-define-property "^1.0.1" side-channel "^1.1.1" @@ -4938,11 +4970,6 @@ restore-cursor@^5.0.0: onetime "^7.0.0" signal-exit "^4.1.0" -rfdc@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" - integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== - rolldown@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.2.0.tgz#02157b8547dd99917da192375c0d4f9357d89830" @@ -4991,28 +5018,29 @@ rolldown@~1.1.5: "@rolldown/binding-win32-arm64-msvc" "1.1.5" "@rolldown/binding-win32-x64-msvc" "1.1.5" -rolldown@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.2.4.tgz#a70655fdd305b829bbc0fc598b3dd1765b4a87dc" - integrity sha512-rSr7irW0K7QRWzjdJXqZowkcRdDtjRduh43rBltnVKd0VFq839l1lJoDvGJb6gl7+4rTTCrPWu+YfujUL8Ug7w== +rolldown@~1.2.4: + version "1.2.6" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.2.6.tgz#025f5c11975cc70129ea9c76c54f35dd35881786" + integrity sha512-vMM4q3aixf46GiF1Kok8jDPFsEpXgFWGjUHXNkNHNm+Y2adXAG2dbX91jkti3i0ZRsOlcmbuzAz1poObSHCmUA== dependencies: - "@oxc-project/types" "=0.144.0" + "@oxc-project/types" "=0.147.0" "@rolldown/pluginutils" "^1.0.0" optionalDependencies: - "@rolldown/binding-android-arm64" "1.2.4" - "@rolldown/binding-darwin-arm64" "1.2.4" - "@rolldown/binding-darwin-x64" "1.2.4" - "@rolldown/binding-freebsd-x64" "1.2.4" - "@rolldown/binding-linux-arm-gnueabihf" "1.2.4" - "@rolldown/binding-linux-arm64-gnu" "1.2.4" - "@rolldown/binding-linux-arm64-musl" "1.2.4" - "@rolldown/binding-linux-ppc64-gnu" "1.2.4" - "@rolldown/binding-linux-s390x-gnu" "1.2.4" - "@rolldown/binding-linux-x64-gnu" "1.2.4" - "@rolldown/binding-linux-x64-musl" "1.2.4" - "@rolldown/binding-openharmony-arm64" "1.2.4" - "@rolldown/binding-win32-arm64-msvc" "1.2.4" - "@rolldown/binding-win32-x64-msvc" "1.2.4" + "@rolldown/binding-android-arm-eabi" "1.2.6" + "@rolldown/binding-android-arm64" "1.2.6" + "@rolldown/binding-darwin-arm64" "1.2.6" + "@rolldown/binding-darwin-x64" "1.2.6" + "@rolldown/binding-freebsd-x64" "1.2.6" + "@rolldown/binding-linux-arm-gnueabihf" "1.2.6" + "@rolldown/binding-linux-arm64-gnu" "1.2.6" + "@rolldown/binding-linux-arm64-musl" "1.2.6" + "@rolldown/binding-linux-ppc64-gnu" "1.2.6" + "@rolldown/binding-linux-s390x-gnu" "1.2.6" + "@rolldown/binding-linux-x64-gnu" "1.2.6" + "@rolldown/binding-linux-x64-musl" "1.2.6" + "@rolldown/binding-openharmony-arm64" "1.2.6" + "@rolldown/binding-win32-arm64-msvc" "1.2.6" + "@rolldown/binding-win32-x64-msvc" "1.2.6" router@^2.2.0: version "2.2.0" @@ -5231,18 +5259,10 @@ signal-exit@^4.1.0: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -slice-ansi@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.2.tgz#adf7be70aa6d72162d907cd0e6d5c11f507b5403" - integrity sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w== - dependencies: - ansi-styles "^6.2.1" - is-fullwidth-code-point "^5.0.0" - -slice-ansi@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-8.0.0.tgz#22d0b66d18bc5c57f488bfcf36cbde3bef731537" - integrity sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg== +slice-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-9.0.0.tgz#8ed38fdc31f16b607a56cf86c3160d2684f1b61b" + integrity sha512-SO/3iYL5S3W57LLEniscOGPZgOqZUPCx6d3dB+52B80yJ0XstzsC/eV8gnA4tM3MHDrKz+OCFSLNjswdSC+/bA== dependencies: ansi-styles "^6.2.3" is-fullwidth-code-point "^5.1.0" @@ -5448,7 +5468,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.1.0, strip-ansi@^7.1.2: +strip-ansi@^7.1.0, strip-ansi@^7.1.2, strip-ansi@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== @@ -5519,7 +5539,7 @@ tinybench@^2.9.0: resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== -tinyexec@^1.0.2, tinyexec@^1.2.4: +tinyexec@^1.0.2, tinyexec@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.3.0.tgz#aacc1dbb1d4e93e6ad8dd64944e09f9ad147a474" integrity sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ== @@ -5654,14 +5674,14 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript-eslint@^8.33.1: - version "8.67.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.67.0.tgz#1e92de09ee0ff2d96cc0848f5e9f345ea930d963" - integrity sha512-S2udFs8tCKEKffuJ4TB1idGUZiXdCPGi3IPBGWXarbLQ5UPXORV8QEVzJ4gCRduURMb5EkpNCdjbk0eDIuI8Yg== + version "8.68.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.68.0.tgz#c2abd878ba7f9f1248a58060a726342c3357b3a0" + integrity sha512-MHy0Y0ynqeEbx/S45+i/bBssdy3X6KNBfmJAP35GrgtNxu2TQ5K5xsFDhAnmsq1jvpdoZOPG1LGtJo0HWqYCrQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.67.0" - "@typescript-eslint/parser" "8.67.0" - "@typescript-eslint/typescript-estree" "8.67.0" - "@typescript-eslint/utils" "8.67.0" + "@typescript-eslint/eslint-plugin" "8.68.0" + "@typescript-eslint/parser" "8.68.0" + "@typescript-eslint/typescript-estree" "8.68.0" + "@typescript-eslint/utils" "8.68.0" typescript@6.0.3, typescript@~6.0.3: version "6.0.3" @@ -5689,9 +5709,9 @@ unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.3.1.tgz#a71c28dd22f505481dbc4689087b18d933e90afd" - integrity sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz#9d99fbff56c50bb11ba5fd35cece5916da595836" + integrity sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw== dependencies: escalade "^3.2.0" picocolors "^1.1.1" @@ -5740,14 +5760,14 @@ vite@8.1.5: fsevents "~2.3.3" "vite@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.2.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-8.2.1.tgz#6fc8d8bb843bd52353091fac978e194d4de5b31d" - integrity sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw== + version "8.2.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-8.2.2.tgz#399aefad3656145145be110d137a07ea5bb55014" + integrity sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q== dependencies: lightningcss "^1.33.0" picomatch "^4.0.5" - postcss "^8.5.25" - rolldown "~1.2.1" + postcss "^8.5.26" + rolldown "~1.2.4" tinyglobby "^0.2.17" optionalDependencies: fsevents "~2.3.3" @@ -5969,7 +5989,12 @@ zod-to-json-schema@^3.25.1: resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz#3fa799a7badd554541472fb65843fdc460b2e5aa" integrity sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA== -zod@4.4.3, "zod@^3.25 || ^4.0", zod@^4.0.10: +zod@4.4.3: version "4.4.3" resolved "https://registry.yarnpkg.com/zod/-/zod-4.4.3.tgz#b680f172885d18bbebf21a834ea25e55a1bbf356" integrity sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ== + +"zod@^3.25 || ^4.0", zod@^4.0.10: + version "4.5.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.5.4.tgz#e215c62420c528dd7951e31fb52c5438f1fd184a" + integrity sha512-sC95tT5iHHH9gtpj6A81kh+NEaRAUFN+qlUPDUbRfOMvNf5QCBqsb3WgvnpVtK5Y+4UfA6KqufotuTvMGiTlsA== diff --git a/frank/ansible/hosts b/frank/ansible/hosts index 755abdf..0022c5b 100644 --- a/frank/ansible/hosts +++ b/frank/ansible/hosts @@ -2,18 +2,16 @@ ansible_python_interpreter=/usr/bin/python3 [frank] -chd-bar ansible_host="clair" var_file=vars/devices/chd-bar.yml -pkl1 ansible_host="clair" var_file=vars/devices/pkl1.yml -pkl2 ansible_host="clair" var_file=vars/devices/pkl2.yml -pkl3 ansible_host="clair" var_file=vars/devices/pkl3.yml -pkl4 ansible_host="clair" var_file=vars/devices/pkl4.yml -moz1 ansible_host="clair" var_file=vars/devices/moz1.yml -; moz2 ansible_host="clair" var_file=vars/devices/moz2.yml -mhl1 ansible_host="clair" var_file=vars/devices/mhl1.yml -mhl2 ansible_host="clair" var_file=vars/devices/mhl2.yml -mhl3 ansible_host="clair" var_file=vars/devices/mhl3.yml -mhl4 ansible_host="clair" var_file=vars/devices/mhl4.yml -chd1 ansible_host="clair" var_file=vars/devices/chd1.yml -chd2 ansible_host="clair" var_file=vars/devices/chd2.yml -tan-home ansible_host=tan-home ansible_user=barker var_file=vars/devices/tan-home.yml -mozimo-backup ansible_host=10.1.113.5 ansible_user=barker var_file=vars/devices/moz2.yml +chd1 ansible_host=chd-bar ansible_user=barker var_file=vars/devices/chd1.yml +chd2 ansible_host=chd-kitchen ansible_user=barker var_file=vars/devices/chd2.yml +mhl1 ansible_host=mhl-ground ansible_user=barker var_file=vars/devices/mhl1.yml +mhl2 ansible_host=mhl-first ansible_user=barker var_file=vars/devices/mhl2.yml +mhl3 ansible_host=mhl-second ansible_user=barker var_file=vars/devices/mhl3.yml +mhl4 ansible_host=mhl-kitchen ansible_user=barker var_file=vars/devices/mhl4.yml +moz1 ansible_host=mozimo-main ansible_user=barker var_file=vars/devices/moz1.yml +moz2 ansible_host=mozimo-backup ansible_user=barker var_file=vars/devices/moz2.yml +pkl1 ansible_host=pkl-ground ansible_user=barker var_file=vars/devices/pkl1.yml +pkl2 ansible_host=pkl-first ansible_user=barker var_file=vars/devices/pkl2.yml +pkl3 ansible_host=pkl-second ansible_user=barker var_file=vars/devices/pkl3.yml +pkl4 ansible_host=pkl-kitchen ansible_user=barker var_file=vars/devices/pkl4.yml +tan-home ansible_host=tan-home ansible_user=barker var_file=vars/devices/tan-home.yml diff --git a/frank/ansible/vars/devices/chd-bar.yml b/frank/ansible/vars/devices/chd-bar.yml deleted file mode 100644 index 7946bf9..0000000 --- a/frank/ansible/vars/devices/chd-bar.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -hostname: chd-bar -ssh_port: 22242 -user: vari -queue_name: moz-elante -printer_port: "/dev/usb/lp0" diff --git a/frank/ansible/vars/devices/chd1.yml b/frank/ansible/vars/devices/chd1.yml index f1a828c..13ada29 100644 --- a/frank/ansible/vars/devices/chd1.yml +++ b/frank/ansible/vars/devices/chd1.yml @@ -3,3 +3,4 @@ hostname: chd-bar user: barker queue_name: chd-bar printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/chd2.yml b/frank/ansible/vars/devices/chd2.yml index 498ca3c..9311b5b 100644 --- a/frank/ansible/vars/devices/chd2.yml +++ b/frank/ansible/vars/devices/chd2.yml @@ -1,6 +1,6 @@ --- -hostname: chd2 -ssh_port: 22342 -user: pi -queue_name: moz-elante +hostname: chd-kitchen +user: barker +queue_name: chd-kitchen printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/mhl1.yml b/frank/ansible/vars/devices/mhl1.yml index b836bea..8e1ace2 100644 --- a/frank/ansible/vars/devices/mhl1.yml +++ b/frank/ansible/vars/devices/mhl1.yml @@ -1,6 +1,6 @@ --- -hostname: mhl1 -ssh_port: 22441 -user: pi -queue_name: moz-elante +hostname: mhl-ground +user: barker +queue_name: mhl-ground printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/mhl2.yml b/frank/ansible/vars/devices/mhl2.yml index 9769851..52a91c5 100644 --- a/frank/ansible/vars/devices/mhl2.yml +++ b/frank/ansible/vars/devices/mhl2.yml @@ -1,6 +1,6 @@ --- -hostname: mhl2 -ssh_port: 22442 -user: pi -queue_name: moz-elante +hostname: mhl-first +user: barker +queue_name: mhl-first printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/mhl3.yml b/frank/ansible/vars/devices/mhl3.yml index 59da968..ddc81be 100644 --- a/frank/ansible/vars/devices/mhl3.yml +++ b/frank/ansible/vars/devices/mhl3.yml @@ -1,6 +1,6 @@ --- -hostname: mhl3 -ssh_port: 22443 -user: pi -queue_name: moz-elante +hostname: mhl-second +user: barker +queue_name: mhl-second printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/mhl4.yml b/frank/ansible/vars/devices/mhl4.yml index 4d32efd..ccb9200 100644 --- a/frank/ansible/vars/devices/mhl4.yml +++ b/frank/ansible/vars/devices/mhl4.yml @@ -1,6 +1,6 @@ --- -hostname: mhl4 -ssh_port: 22444 -user: pi -queue_name: moz-elante +hostname: mhl-kitchen +user: barker +queue_name: mhl-kitchen printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/moz1.yml b/frank/ansible/vars/devices/moz1.yml index dbd39a5..72c5cd9 100644 --- a/frank/ansible/vars/devices/moz1.yml +++ b/frank/ansible/vars/devices/moz1.yml @@ -1,6 +1,6 @@ --- -hostname: moz1 -ssh_port: 22541 -user: vari -queue_name: moz-elante +hostname: mozimo-main +user: barker +queue_name: mozimo-main printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/pkl1.yml b/frank/ansible/vars/devices/pkl1.yml index 4429b56..9846e60 100644 --- a/frank/ansible/vars/devices/pkl1.yml +++ b/frank/ansible/vars/devices/pkl1.yml @@ -1,6 +1,6 @@ --- -hostname: pkl1 -ssh_port: 22241 -user: pi -queue_name: moz-elante +hostname: pkl-ground +user: barker +queue_name: pkl-ground printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/pkl2.yml b/frank/ansible/vars/devices/pkl2.yml index 5ec66cd..52eea76 100644 --- a/frank/ansible/vars/devices/pkl2.yml +++ b/frank/ansible/vars/devices/pkl2.yml @@ -1,6 +1,6 @@ --- -hostname: pkl2 -ssh_port: 22242 -user: pi -queue_name: moz-elante +hostname: pkl-first +user: barker +queue_name: pkl-first printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/pkl3.yml b/frank/ansible/vars/devices/pkl3.yml index f766583..4c21d24 100644 --- a/frank/ansible/vars/devices/pkl3.yml +++ b/frank/ansible/vars/devices/pkl3.yml @@ -1,6 +1,6 @@ --- -hostname: pkl3 -ssh_port: 22243 -user: pi -queue_name: moz-elante +hostname: pkl-second +user: barker +queue_name: pkl-second printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/pkl4.yml b/frank/ansible/vars/devices/pkl4.yml index e2f13a1..79c7496 100644 --- a/frank/ansible/vars/devices/pkl4.yml +++ b/frank/ansible/vars/devices/pkl4.yml @@ -1,6 +1,6 @@ --- -hostname: pkl4 -ssh_port: 22244 -user: pi -queue_name: moz-elante +hostname: pkl-kitchen +user: barker +queue_name: pkl-kitchen printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222" diff --git a/frank/ansible/vars/devices/tan-home.yml b/frank/ansible/vars/devices/tan-home.yml index 46d982d..9f5a671 100644 --- a/frank/ansible/vars/devices/tan-home.yml +++ b/frank/ansible/vars/devices/tan-home.yml @@ -3,3 +3,4 @@ hostname: tan-home user: barker queue_name: tan-home printer_port: "/dev/usb/lp0" +nats_url: "nats://clair.lan.tanshu.com:4222"