From d53271325cca53d19dab61c3fbf4775c6e0ff70f Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Thu, 19 Mar 2026 05:51:54 +0200 Subject: [PATCH] wip --- .../PaymentsReceived.controller.ts | 15 +- .../dtos/PaymentReceivedHtmlResponse.dto.ts | 6 + .../SaleEstimates/SaleEstimates.controller.ts | 15 +- .../dtos/SaleEstimateHtmlResponse.dto.ts | 6 + .../SaleReceipts/dtos/SaleReceiptMail.dto.ts | 155 +++++ packages/webapp/package.json | 2 +- .../src/hooks/query/accounts/queries.ts | 8 +- .../query/banking/queries/account-summary.ts | 19 +- .../banking/queries/bank-transactions.ts | 7 +- .../queries/recognized-transactions.ts | 8 +- .../src/hooks/query/credit-note/queries.ts | 14 +- .../src/hooks/query/customers/queries.ts | 7 +- .../src/hooks/query/estimates/queries.ts | 52 +- .../src/hooks/query/expenses/queries.ts | 41 +- .../webapp/src/hooks/query/import/queries.ts | 7 +- .../webapp/src/hooks/query/invite/queries.ts | 4 +- .../src/hooks/query/invoices/queries.ts | 69 +-- .../webapp/src/hooks/query/items/queries.ts | 7 +- .../webapp/src/hooks/query/jobs/queries.ts | 8 +- .../hooks/query/manual-journals/queries.ts | 8 +- .../src/hooks/query/payment-link/queries.ts | 14 +- .../hooks/query/payment-receives/queries.ts | 59 +- .../hooks/query/payment-services/queries.ts | 15 +- .../src/hooks/query/receipts/queries.ts | 130 +--- .../webapp/src/hooks/query/roles/queries.ts | 1 - .../hooks/query/stripe-integration/queries.ts | 60 +- .../src/hooks/query/subscription/queries.ts | 4 +- .../src/hooks/query/tax-rates/queries.ts | 1 - .../src/hooks/query/vendor-credit/queries.ts | 7 +- .../webapp/src/hooks/query/vendors/queries.ts | 13 +- .../src/hooks/query/warehouses/queries.ts | 21 - packages/webapp/src/hooks/useRequest.tsx | 9 +- pnpm-lock.yaml | 554 +++++++++--------- shared/sdk-ts/openapi.json | 36 ++ shared/sdk-ts/src/fetch-utils.ts | 21 +- shared/sdk-ts/src/payment-receives.ts | 22 +- shared/sdk-ts/src/sale-estimates.ts | 15 + shared/sdk-ts/src/sale-invoices.ts | 7 +- shared/sdk-ts/src/sale-receipts.ts | 25 +- shared/sdk-ts/src/schema.ts | 16 + 40 files changed, 730 insertions(+), 758 deletions(-) create mode 100644 packages/server/src/modules/PaymentReceived/dtos/PaymentReceivedHtmlResponse.dto.ts create mode 100644 packages/server/src/modules/SaleEstimates/dtos/SaleEstimateHtmlResponse.dto.ts create mode 100644 packages/server/src/modules/SaleReceipts/dtos/SaleReceiptMail.dto.ts diff --git a/packages/server/src/modules/PaymentReceived/PaymentsReceived.controller.ts b/packages/server/src/modules/PaymentReceived/PaymentsReceived.controller.ts index d017d55f6..a7796d2ca 100644 --- a/packages/server/src/modules/PaymentReceived/PaymentsReceived.controller.ts +++ b/packages/server/src/modules/PaymentReceived/PaymentsReceived.controller.ts @@ -34,6 +34,7 @@ import { AcceptType } from '@/constants/accept-type'; import { PaymentReceivedResponseDto } from './dtos/PaymentReceivedResponse.dto'; import { PaginatedResponseDto } from '@/common/dtos/PaginatedResults.dto'; import { PaymentReceivedStateResponseDto } from './dtos/PaymentReceivedStateResponse.dto'; +import { PaymentReceivedHtmlContentResponseDto } from './dtos/PaymentReceivedHtmlResponse.dto'; import { ApiCommonHeaders } from '@/common/decorators/ApiCommonHeaders'; import { BulkDeleteDto, @@ -50,6 +51,7 @@ import { PaymentReceiveAction } from './types/PaymentReceived.types'; @ApiExtraModels(PaymentReceivedResponseDto) @ApiExtraModels(PaginatedResponseDto) @ApiExtraModels(PaymentReceivedStateResponseDto) +@ApiExtraModels(PaymentReceivedHtmlContentResponseDto) @ApiExtraModels(ValidateBulkDeleteResponseDto) @ApiCommonHeaders() @UseGuards(AuthorizationGuard, PermissionGuard) @@ -236,8 +238,17 @@ export class PaymentReceivesController { status: 200, description: 'The payment received details have been successfully retrieved.', - schema: { - $ref: getSchemaPath(PaymentReceivedResponseDto), + content: { + 'application/json': { + schema: { + $ref: getSchemaPath(PaymentReceivedResponseDto), + }, + }, + 'application/json+html': { + schema: { + $ref: getSchemaPath(PaymentReceivedHtmlContentResponseDto), + }, + }, }, }) public async getPaymentReceive( diff --git a/packages/server/src/modules/PaymentReceived/dtos/PaymentReceivedHtmlResponse.dto.ts b/packages/server/src/modules/PaymentReceived/dtos/PaymentReceivedHtmlResponse.dto.ts new file mode 100644 index 000000000..b4f6881a2 --- /dev/null +++ b/packages/server/src/modules/PaymentReceived/dtos/PaymentReceivedHtmlResponse.dto.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class PaymentReceivedHtmlContentResponseDto { + @ApiProperty({ description: 'The HTML content of the payment received', example: '...' }) + htmlContent: string; +} diff --git a/packages/server/src/modules/SaleEstimates/SaleEstimates.controller.ts b/packages/server/src/modules/SaleEstimates/SaleEstimates.controller.ts index 626c59b4b..15f6d47ff 100644 --- a/packages/server/src/modules/SaleEstimates/SaleEstimates.controller.ts +++ b/packages/server/src/modules/SaleEstimates/SaleEstimates.controller.ts @@ -34,6 +34,7 @@ import { SaleEstimateResponseDto } from './dtos/SaleEstimateResponse.dto'; import { GetSaleEstimatesQueryDto } from './dtos/GetSaleEstimatesQuery.dto'; import { PaginatedResponseDto } from '@/common/dtos/PaginatedResults.dto'; import { SaleEstiamteStateResponseDto } from './dtos/SaleEstimateStateResponse.dto'; +import { SaleEstimateHtmlContentResponseDto } from './dtos/SaleEstimateHtmlResponse.dto'; import { ApiCommonHeaders } from '@/common/decorators/ApiCommonHeaders'; import { BulkDeleteDto, @@ -50,6 +51,7 @@ import { SaleEstimateAction } from './types/SaleEstimates.types'; @ApiExtraModels(SaleEstimateResponseDto) @ApiExtraModels(PaginatedResponseDto) @ApiExtraModels(SaleEstiamteStateResponseDto) +@ApiExtraModels(SaleEstimateHtmlContentResponseDto) @ApiCommonHeaders() @ApiExtraModels(ValidateBulkDeleteResponseDto) @UseGuards(AuthorizationGuard, PermissionGuard) @@ -322,8 +324,17 @@ export class SaleEstimatesController { @ApiResponse({ status: 200, description: 'The sale estimate details have been successfully retrieved.', - schema: { - $ref: getSchemaPath(SaleEstimateResponseDto), + content: { + 'application/json': { + schema: { + $ref: getSchemaPath(SaleEstimateResponseDto), + }, + }, + 'application/json+html': { + schema: { + $ref: getSchemaPath(SaleEstimateHtmlContentResponseDto), + }, + }, }, }) @ApiParam({ diff --git a/packages/server/src/modules/SaleEstimates/dtos/SaleEstimateHtmlResponse.dto.ts b/packages/server/src/modules/SaleEstimates/dtos/SaleEstimateHtmlResponse.dto.ts new file mode 100644 index 000000000..c52d464d9 --- /dev/null +++ b/packages/server/src/modules/SaleEstimates/dtos/SaleEstimateHtmlResponse.dto.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class SaleEstimateHtmlContentResponseDto { + @ApiProperty({ description: 'The HTML content of the estimate', example: '...' }) + htmlContent: string; +} diff --git a/packages/server/src/modules/SaleReceipts/dtos/SaleReceiptMail.dto.ts b/packages/server/src/modules/SaleReceipts/dtos/SaleReceiptMail.dto.ts new file mode 100644 index 000000000..2878fc256 --- /dev/null +++ b/packages/server/src/modules/SaleReceipts/dtos/SaleReceiptMail.dto.ts @@ -0,0 +1,155 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class AddressItemDto { + @ApiProperty({ description: 'The email label', example: 'John Doe' }) + label: string; + + @ApiProperty({ description: 'The email address', example: 'john@example.com' }) + mail: string; + + @ApiProperty({ description: 'Whether this is the primary email', example: true, required: false }) + primary?: boolean; +} + +export class SaleReceiptMailEntryDto { + @ApiProperty({ description: 'The item name', example: 'Product A' }) + name: string; + + @ApiProperty({ description: 'The quantity', example: 2 }) + quantity: number; + + @ApiProperty({ description: 'The formatted quantity', example: '2.00' }) + quantityFormatted: string; + + @ApiProperty({ description: 'The rate/price', example: 100 }) + rate: number; + + @ApiProperty({ description: 'The formatted rate', example: '$100.00' }) + rateFormatted: string; + + @ApiProperty({ description: 'The total amount', example: 200 }) + total: number; + + @ApiProperty({ description: 'The formatted total', example: '$200.00' }) + totalFormatted: string; +} + +export class SaleReceiptMailResponseDto { + @ApiProperty({ description: 'Whether to attach the receipt PDF', example: true }) + attachReceipt: boolean; + + @ApiProperty({ description: 'The closed date', example: '2024-01-15T00:00:00Z' }) + closedAtDate: string; + + @ApiProperty({ description: 'The formatted closed date', example: 'Jan 15, 2024' }) + closedAtDateFormatted: string; + + @ApiProperty({ description: 'The company name', example: 'Acme Corp' }) + companyName: string; + + @ApiProperty({ description: 'The customer name', example: 'John Doe' }) + customerName: string; + + @ApiProperty({ description: 'Format arguments for the message', type: 'object' }) + formatArgs: Record; + + @ApiProperty({ description: 'From email addresses', type: [String], example: ['noreply@example.com'] }) + from: string[]; + + @ApiProperty({ description: 'From email options', type: [AddressItemDto] }) + fromOptions: AddressItemDto[]; + + @ApiProperty({ description: 'The email message body', example: 'Please find your receipt attached.' }) + message: string; + + @ApiProperty({ description: 'The receipt date', example: '2024-01-15T00:00:00Z' }) + receiptDate: string; + + @ApiProperty({ description: 'The formatted receipt date', example: 'Jan 15, 2024' }) + receiptDateFormatted: string; + + @ApiProperty({ description: 'The email subject', example: 'Your Receipt from Acme Corp' }) + subject: string; + + @ApiProperty({ description: 'The subtotal amount', example: 200 }) + subtotal: number; + + @ApiProperty({ description: 'The formatted subtotal', example: '$200.00' }) + subtotalFormatted: string; + + @ApiProperty({ description: 'To email addresses', type: [String], example: ['customer@example.com'] }) + to: string[]; + + @ApiProperty({ description: 'To email options', type: [AddressItemDto] }) + toOptions: AddressItemDto[]; + + @ApiProperty({ description: 'The discount amount', example: 20 }) + discountAmount: number; + + @ApiProperty({ description: 'The formatted discount amount', example: '$20.00' }) + discountAmountFormatted: string; + + @ApiProperty({ description: 'The discount label', example: 'Discount (10%)' }) + discountLabel: string; + + @ApiProperty({ description: 'The discount percentage', example: 10, nullable: true }) + discountPercentage: number | null; + + @ApiProperty({ description: 'The formatted discount percentage', example: '10%' }) + discountPercentageFormatted: string; + + @ApiProperty({ description: 'The adjustment amount', example: 0 }) + adjustment: number; + + @ApiProperty({ description: 'The formatted adjustment', example: '$0.00' }) + adjustmentFormatted: string; + + @ApiProperty({ description: 'The total amount', example: 180 }) + total: number; + + @ApiProperty({ description: 'The formatted total', example: '$180.00' }) + totalFormatted: string; + + @ApiProperty({ description: 'The company logo URI', example: 'https://example.com/logo.png', nullable: true }) + companyLogoUri?: string | null; + + @ApiProperty({ description: 'The primary color', example: '#0066cc', nullable: true }) + primaryColor?: string | null; + + @ApiProperty({ description: 'The receipt entries', type: [SaleReceiptMailEntryDto] }) + entries: SaleReceiptMailEntryDto[]; + + @ApiProperty({ description: 'The receipt number', example: 'SR-2024-001' }) + receiptNumber: string; +} + +export class SaleReceiptSendMailBodyDto { + @ApiProperty({ description: 'Whether to attach the receipt PDF', example: true, required: false }) + attachReceipt?: boolean; + + @ApiProperty({ description: 'From email address', example: 'noreply@example.com', required: false }) + from?: string; + + @ApiProperty({ description: 'To email addresses', type: [String], example: ['customer@example.com'], required: false }) + to?: string[]; + + @ApiProperty({ description: 'CC email addresses', type: [String], example: [], required: false }) + cc?: string[]; + + @ApiProperty({ description: 'BCC email addresses', type: [String], example: [], required: false }) + bcc?: string[]; + + @ApiProperty({ description: 'The email subject', example: 'Your Receipt', required: false }) + subject?: string; + + @ApiProperty({ description: 'The email message body', example: 'Please find your receipt attached.', required: false }) + message?: string; + + @ApiProperty({ description: 'Format arguments', type: 'object', required: false }) + formatArgs?: Record; +} + +export class SaleReceiptHtmlContentResponseDto { + @ApiProperty({ description: 'The HTML content of the receipt', example: '...' }) + htmlContent: string; +} diff --git a/packages/webapp/package.json b/packages/webapp/package.json index cbf123d42..9175662c7 100644 --- a/packages/webapp/package.json +++ b/packages/webapp/package.json @@ -29,7 +29,7 @@ "@testing-library/react": "^9.4.0", "@testing-library/user-event": "^7.2.1", "@tiptap/core": "2.1.13", - "@tiptap/extension-color": "latest", + "@tiptap/extension-color": "2.1.13", "@tiptap/extension-list-item": "2.1.13", "@tiptap/extension-text-style": "2.1.13", "@tiptap/pm": "2.1.13", diff --git a/packages/webapp/src/hooks/query/accounts/queries.ts b/packages/webapp/src/hooks/query/accounts/queries.ts index 0a6337ba3..5b2d6a837 100644 --- a/packages/webapp/src/hooks/query/accounts/queries.ts +++ b/packages/webapp/src/hooks/query/accounts/queries.ts @@ -29,7 +29,6 @@ import { AccountTransactionsList } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { accountsKeys } from './query-keys'; const commonInvalidateQueries = (queryClient: ReturnType) => { @@ -164,14 +163,11 @@ export function useBulkDeleteAccounts( export function useValidateBulkDeleteAccounts( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => - validateBulkDeleteAccounts(fetcher, ids).then((res: ValidateBulkDeleteResponse) => - transformToCamelCase(res as unknown as Record) as ValidateBulkDeleteResponse - ), + mutationFn: (ids: number[]) => validateBulkDeleteAccounts(fetcher, ids), }); } diff --git a/packages/webapp/src/hooks/query/banking/queries/account-summary.ts b/packages/webapp/src/hooks/query/banking/queries/account-summary.ts index 0288ebf99..3b32b9a1d 100644 --- a/packages/webapp/src/hooks/query/banking/queries/account-summary.ts +++ b/packages/webapp/src/hooks/query/banking/queries/account-summary.ts @@ -8,7 +8,6 @@ import { fetchBankingAccountSummary, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { bankingKeys } from '../query-keys'; /** @deprecated Use AutofillCategorizeTransactionResponse from @bigcapital/sdk-ts */ @@ -18,16 +17,11 @@ export function useGetBankAccountSummaryMeta( bankAccountId: number, options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); - + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: bankingKeys.summaryMeta(bankAccountId), - queryFn: () => - fetchBankingAccountSummary(fetcher, bankAccountId).then( - (data) => - transformToCamelCase(data as unknown as Record) as BankingAccountSummaryResponse - ), + queryFn: () => fetchBankingAccountSummary(fetcher, bankAccountId), }); } @@ -35,15 +29,10 @@ export function useGetAutofillCategorizeTransaction( uncategorizedTransactionIds: number[], options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); - + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: bankingKeys.autofillCategorize(uncategorizedTransactionIds), - queryFn: () => - fetchAutofillCategorizeTransaction(fetcher, uncategorizedTransactionIds).then( - (data) => - transformToCamelCase(data as unknown as Record) as AutofillCategorizeTransactionResponse - ), + queryFn: () => fetchAutofillCategorizeTransaction(fetcher, uncategorizedTransactionIds), }); } diff --git a/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts b/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts index a10934e0c..ce8b1cddf 100644 --- a/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts +++ b/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts @@ -25,22 +25,19 @@ import { unmatchMatchedTransaction, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { bankingKeys } from '../query-keys'; export function useGetBankTransactionsMatches( uncategorizedTransactionIds: number[], options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: bankingKeys.transactionMatches(uncategorizedTransactionIds), queryFn: () => - fetchMatchedTransactions(fetcher, uncategorizedTransactionIds).then((data) => - transformToCamelCase(data as unknown as Record) as MatchedTransactionsResponse - ), + fetchMatchedTransactions(fetcher, uncategorizedTransactionIds) as Promise, }); } diff --git a/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts b/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts index 615bce499..395d7f461 100644 --- a/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts +++ b/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts @@ -1,22 +1,18 @@ import { useInfiniteQuery, useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import { fetchExcludedBankTransactions, fetchRecognizedTransaction, fetchRecognizedTransactions } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { bankingKeys } from '../query-keys'; export function useGetRecognizedBankTransaction( uncategorizedTransactionId: number, options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: bankingKeys.recognizedTransaction(uncategorizedTransactionId), - queryFn: () => - fetchRecognizedTransaction(fetcher, uncategorizedTransactionId).then( - (data: unknown) => transformToCamelCase(data as unknown as Record) - ), + queryFn: () => fetchRecognizedTransaction(fetcher, uncategorizedTransactionId), }); } diff --git a/packages/webapp/src/hooks/query/credit-note/queries.ts b/packages/webapp/src/hooks/query/credit-note/queries.ts index 66ea8fa13..b54f27bb2 100644 --- a/packages/webapp/src/hooks/query/credit-note/queries.ts +++ b/packages/webapp/src/hooks/query/credit-note/queries.ts @@ -36,7 +36,6 @@ import { } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; import { useRequestPdf } from '../../useRequestPdf'; -import { transformToCamelCase } from '@/utils'; import { creditNotesKeys, CreditNotesQueryKeys } from './query-keys'; import { itemsKeys } from '../items/query-keys'; import { customersKeys } from '../customers/query-keys'; @@ -159,14 +158,12 @@ export function useBulkDeleteCreditNotes( export function useValidateBulkDeleteCreditNotes( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteCreditNotes(fetcher, { ids, skipUndeletable: false }).then( - (res) => transformToCamelCase(res as Record) as ValidateBulkDeleteCreditNotesResponse - ), + validateBulkDeleteCreditNotes(fetcher, { ids, skipUndeletable: false }), }); } @@ -366,14 +363,11 @@ export interface CreditNoteStateResponse { export function useGetCreditNoteState( options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: ['CREDIT_NOTE_STATE'], - queryFn: () => - fetchCreditNoteState(fetcher).then((data) => - transformToCamelCase(data as unknown as Record) as CreditNoteStateResponse - ), + queryFn: () => fetchCreditNoteState(fetcher) as Promise, }); } diff --git a/packages/webapp/src/hooks/query/customers/queries.ts b/packages/webapp/src/hooks/query/customers/queries.ts index b678a0357..f1a2a4ba9 100644 --- a/packages/webapp/src/hooks/query/customers/queries.ts +++ b/packages/webapp/src/hooks/query/customers/queries.ts @@ -23,7 +23,6 @@ import { editCustomerOpeningBalance, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { customersKeys } from './query-keys'; const commonInvalidateQueries = (queryClient: ReturnType) => { @@ -105,14 +104,12 @@ export function useBulkDeleteCustomers( export function useValidateBulkDeleteCustomers( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteCustomers(fetcher, { ids, skipUndeletable: false }).then( - (res) => transformToCamelCase(res as Record) as ValidateBulkDeleteCustomersResponse - ), + validateBulkDeleteCustomers(fetcher, { ids, skipUndeletable: false }), }); } diff --git a/packages/webapp/src/hooks/query/estimates/queries.ts b/packages/webapp/src/hooks/query/estimates/queries.ts index 9169da826..e091d8352 100644 --- a/packages/webapp/src/hooks/query/estimates/queries.ts +++ b/packages/webapp/src/hooks/query/estimates/queries.ts @@ -11,6 +11,7 @@ import type { SaleEstimatesListResponse, CreateSaleEstimateBody, EditSaleEstimateBody, + SaleEstimateHtmlContentResponse, } from '@bigcapital/sdk-ts'; import { fetchSaleEstimates, @@ -28,7 +29,12 @@ import { fetchSaleEstimateMail, sendSaleEstimateMail, fetchSaleEstimatesState, + fetchSaleEstimateHtmlContent, } from '@bigcapital/sdk-ts'; +import { useApiFetcher } from '../../useRequest'; +import { estimatesKeys, EstimatesQueryKeys } from './query-keys'; +import { itemsKeys } from '../items/query-keys'; +import { useRequestPdf } from '../../useRequestPdf'; export type BulkDeleteEstimatesBody = { ids: number[]; skipUndeletable?: boolean }; export type ValidateBulkDeleteEstimatesResponse = { @@ -37,11 +43,6 @@ export type ValidateBulkDeleteEstimatesResponse = { deletableIds: number[]; nonDeletableIds: number[]; }; -import useApiRequest, { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; -import { estimatesKeys, EstimatesQueryKeys } from './query-keys'; -import { itemsKeys } from '../items/query-keys'; -import { useRequestPdf } from '../../useRequestPdf'; // Keys that don't have factory methods yet - keeping inline const SETTING = 'SETTING'; @@ -145,14 +146,11 @@ export function useBulkDeleteEstimates( export function useValidateBulkDeleteEstimates( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => - validateBulkDeleteSaleEstimates(fetcher, ids).then((data: Record) => - transformToCamelCase(data) as ValidateBulkDeleteEstimatesResponse - ), + mutationFn: (ids: number[]) => validateBulkDeleteSaleEstimates(fetcher, ids), }); } @@ -305,14 +303,11 @@ export function useSaleEstimateMailState( estimateId: number, props?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: [EstimatesQueryKeys.SALE_ESTIMATE_MAIL_OPTIONS, estimateId], - queryFn: () => - fetchSaleEstimateMail(fetcher, estimateId).then((data: Record) => - transformToCamelCase(data) as SaleEstimateMailStateResponse - ), + queryFn: () => fetchSaleEstimateMail(fetcher, estimateId) as Promise, }); } @@ -323,42 +318,27 @@ export interface ISaleEstimatesStateResponse { export function useGetSaleEstimatesState( options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: ['SALE_ESTIMATE_STATE'], - queryFn: () => - fetchSaleEstimatesState(fetcher).then((data: Record) => - transformToCamelCase(data) as ISaleEstimatesStateResponse - ), + queryFn: () => fetchSaleEstimatesState(fetcher) as Promise, }); } -interface GetEstimateHtmlResponse { - htmlContent: string; -} - /** * Retrieves the sale estimate html content. - * Uses custom Accept header; kept on apiRequest until SDK supports per-request headers. */ export const useGetSaleEstimateHtml = ( estimateId: number, - options?: UseQueryOptions -): UseQueryResult => { - const apiRequest = useApiRequest(); + options?: UseQueryOptions +): UseQueryResult => { + const fetcher = useApiFetcher(); return useQuery({ ...options, queryKey: ['SALE_ESTIMATE_HTML', estimateId], - queryFn: (): Promise => - apiRequest - .get(`sale-estimates/${estimateId}`, { - headers: { - Accept: 'application/json+html', - }, - }) - .then((res) => transformToCamelCase(res.data) as GetEstimateHtmlResponse), + queryFn: () => fetchSaleEstimateHtmlContent(fetcher, estimateId), }); }; diff --git a/packages/webapp/src/hooks/query/expenses/queries.ts b/packages/webapp/src/hooks/query/expenses/queries.ts index 9898e6767..84d63d416 100644 --- a/packages/webapp/src/hooks/query/expenses/queries.ts +++ b/packages/webapp/src/hooks/query/expenses/queries.ts @@ -9,7 +9,7 @@ import type { CreateExpenseBody, EditExpenseBody, Expense, - ExpensesListQuery, + GetExpensesQuery, ExpensesListResponse, BulkDeleteExpensesBody, ValidateBulkDeleteExpensesResponse, @@ -25,7 +25,6 @@ import { validateBulkDeleteExpenses, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { expensesKeys } from './query-keys'; import { accountsKeys } from '../accounts/query-keys'; import { customersKeys } from '../customers/query-keys'; @@ -65,9 +64,6 @@ const commonInvalidateQueries = (queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: [FINANCIAL_REPORT] }); }; -/** - * Creates a new expense. - */ export function useCreateExpense( props?: UseMutationOptions ) { @@ -84,9 +80,6 @@ export function useCreateExpense( }); } -/** - * Edits the given expense. - */ export function useEditExpense( props?: UseMutationOptions ) { @@ -104,9 +97,6 @@ export function useEditExpense( }); } -/** - * Deletes the given expense. - */ export function useDeleteExpense( props?: UseMutationOptions ) { @@ -123,9 +113,6 @@ export function useDeleteExpense( }); } -/** - * Publishes the given expense. - */ export function usePublishExpense( props?: UseMutationOptions ) { @@ -142,9 +129,6 @@ export function usePublishExpense( }); } -/** - * Bulk deletes expenses. - */ export function useBulkDeleteExpenses( props?: UseMutationOptions ) { @@ -164,9 +148,6 @@ export function useBulkDeleteExpenses( }); } -/** - * Validates bulk delete expenses. - */ export function useValidateBulkDeleteExpenses( props?: UseMutationOptions< ValidateBulkDeleteExpensesResponse, @@ -174,22 +155,17 @@ export function useValidateBulkDeleteExpenses( number[] > ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteExpenses(fetcher, { ids }).then((res) => - transformToCamelCase(res as unknown as Record) as ValidateBulkDeleteExpensesResponse - ), + validateBulkDeleteExpenses(fetcher, { ids, skipUndeletable: false }), }); } -/** - * Retrieves expenses list. - */ export function useExpenses( - query?: ExpensesListQuery | null, + query?: GetExpensesQuery | null, props?: Omit, 'queryKey' | 'queryFn'> ) { const fetcher = useApiFetcher(); @@ -197,14 +173,10 @@ export function useExpenses( return useQuery({ ...props, queryKey: expensesKeys.list(query ?? undefined), - queryFn: async () => - fetchExpenses(fetcher, query ?? {}), + queryFn: () => fetchExpenses(fetcher, query ?? {}), }); } -/** - * Retrieves the expense details. - */ export function useExpense( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'> @@ -219,9 +191,6 @@ export function useExpense( }); } -/** - * Refreshes the expenses list. - */ export function useRefreshExpenses() { const queryClient = useQueryClient(); diff --git a/packages/webapp/src/hooks/query/import/queries.ts b/packages/webapp/src/hooks/query/import/queries.ts index a05d0b9d4..ed27092b4 100644 --- a/packages/webapp/src/hooks/query/import/queries.ts +++ b/packages/webapp/src/hooks/query/import/queries.ts @@ -8,7 +8,6 @@ import { } from '@tanstack/react-query'; import useApiRequest from '../../useRequest'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { downloadFile } from '../../useDownloadFile'; import { importKeys } from './query-keys'; import { BANK_QUERY_KEY } from '@/constants/query-keys/banking'; @@ -61,13 +60,12 @@ export function useImportFilePreview( importId: string, props?: UseQueryOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: importKeys.preview(importId), queryFn: () => fetchImportPreview(fetcher, importId), - select: (data) => transformToCamelCase(data), enabled: !!importId, }); } @@ -76,13 +74,12 @@ export function useImportFileMeta( importId: string, props?: UseQueryOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: importKeys.fileMeta(importId), queryFn: () => fetchImportFileMeta(fetcher, importId), - select: (data) => transformToCamelCase(data), enabled: !!importId, }); } diff --git a/packages/webapp/src/hooks/query/invite/queries.ts b/packages/webapp/src/hooks/query/invite/queries.ts index 149203f4a..b619543ea 100644 --- a/packages/webapp/src/hooks/query/invite/queries.ts +++ b/packages/webapp/src/hooks/query/invite/queries.ts @@ -2,7 +2,6 @@ import { useMutation, useQuery, UseMutationOptions, UseQueryOptions } from '@tan import type { AcceptInviteBody } from '@bigcapital/sdk-ts'; import { acceptInvite, fetchInviteCheck, resendInvite } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { inviteKeys } from './query-keys'; /** @@ -26,13 +25,12 @@ export function useInviteMetaByToken( token: string | null | undefined, props?: Omit, 'queryKey' | 'queryFn'> ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: inviteKeys.meta(token), queryFn: () => fetchInviteCheck(fetcher, token!), enabled: !!token, - select: (data) => transformToCamelCase(data as Record), }); } diff --git a/packages/webapp/src/hooks/query/invoices/queries.ts b/packages/webapp/src/hooks/query/invoices/queries.ts index 235bfa155..20442373d 100644 --- a/packages/webapp/src/hooks/query/invoices/queries.ts +++ b/packages/webapp/src/hooks/query/invoices/queries.ts @@ -67,9 +67,6 @@ function commonInvalidateQueries(queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: organizationKeys.mutateAbilities() }); } -/** - * Creates a new sale invoice. - */ export function useCreateInvoice( props?: UseMutationOptions ) { @@ -80,19 +77,14 @@ export function useCreateInvoice( ...props, mutationFn: (values: CreateSaleInvoiceBody) => createSaleInvoice(fetcher, values), onSuccess: (_data, values) => { - const customerId = (values as { customer_id?: number }).customer_id; - if (customerId != null) { - queryClient.invalidateQueries({ queryKey: customersKeys.detail(customerId) }); - } + const customerId = values.customerId as unknown as number; + queryClient.invalidateQueries({ queryKey: customersKeys.detail(customerId) }); queryClient.invalidateQueries({ queryKey: estimatesKeys.all() }); commonInvalidateQueries(queryClient); }, }); } -/** - * Edits the given sale invoice. - */ export function useEditInvoice( props?: UseMutationOptions ) { @@ -104,19 +96,14 @@ export function useEditInvoice( mutationFn: ([id, values]: [number, EditSaleInvoiceBody]) => editSaleInvoice(fetcher, id, values), onSuccess: (_data, [id, values]) => { + const customerId = values.customerId as unknown as number; queryClient.invalidateQueries({ queryKey: invoicesKeys.detail(id) }); - const customerId = (values as { customer_id?: number }).customer_id; - if (customerId != null) { - queryClient.invalidateQueries({ queryKey: customersKeys.detail(customerId) }); - } + queryClient.invalidateQueries({ queryKey: customersKeys.detail(customerId) }); commonInvalidateQueries(queryClient); }, }); } -/** - * Deletes the given sale invoice. - */ export function useDeleteInvoice(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -132,9 +119,6 @@ export function useDeleteInvoice(props?: UseMutationOptions }); } -/** - * Deletes multiple sale invoices in bulk. - */ export function useBulkDeleteInvoices( props?: UseMutationOptions< void, @@ -158,10 +142,8 @@ export function useBulkDeleteInvoices( }); } -export type ValidateBulkDeleteInvoicesResponse = ValidateBulkDeleteSaleInvoicesResponse; - export function useValidateBulkDeleteInvoices( - props?: UseMutationOptions + props?: UseMutationOptions ) { const fetcher = useApiFetcher(); @@ -171,9 +153,6 @@ export function useValidateBulkDeleteInvoices( }); } -/** - * Retrieve sale invoices list with pagination meta. - */ export function useInvoices( query?: GetSaleInvoicesQuery, props?: UseQueryOptions @@ -187,9 +166,6 @@ export function useInvoices( }); } -/** - * Marks the sale invoice as delivered. - */ export function useDeliverInvoice(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -204,18 +180,13 @@ export function useDeliverInvoice(props?: UseMutationOptions, - requestProps?: Record ) { const fetcher = useApiFetcher(); return useQuery({ - ...requestProps, ...props, queryKey: invoicesKeys.detail(invoiceId), queryFn: () => fetchSaleInvoice(fetcher, invoiceId as number), @@ -232,32 +203,19 @@ export function usePdfInvoice(invoiceId: number) { }); } -interface GetInvoiceHtmlResponse { - htmlContent: string; -} - -/** - * Retrieves the invoice html content. - */ export function useInvoiceHtml( invoiceId: number, - options?: UseQueryOptions + options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: ['SALE_INVOICE_HTML', invoiceId], - queryFn: () => - fetchSaleInvoiceHtml(fetcher, invoiceId).then((data: { htmlContent: string }) => - transformToCamelCase(data) as GetInvoiceHtmlResponse - ), + queryFn: () => fetchSaleInvoiceHtml(fetcher, invoiceId), }); } -/** - * Retrieve due (receivable) invoices of the given customer id. - */ export function useDueInvoices( customerId: number | null | undefined, props?: UseQueryOptions @@ -446,15 +404,12 @@ export function useSaleInvoiceMailState( invoiceId: number, options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: [InvoicesQueryKeys.SALE_INVOICE_DEFAULT_OPTIONS, invoiceId], - queryFn: () => - fetchSaleInvoiceMailState(fetcher, invoiceId).then((data: unknown) => - transformToCamelCase(data) as GetSaleInvoiceDefaultOptionsResponse - ), + queryFn: () => fetchSaleInvoiceMailState(fetcher, invoiceId) as Promise, }); } @@ -464,14 +419,14 @@ export type GetSaleInvoiceStateResponse = SaleInvoiceStateResponse; export function useGetSaleInvoiceState( options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: ['SALE_INVOICE_STATE'], queryFn: () => fetchSaleInvoiceState(fetcher).then((data: GetSaleInvoiceStateResponse & { data?: unknown }) => - transformToCamelCase(data?.data ?? data) as GetSaleInvoiceStateResponse + (data?.data ?? data) as GetSaleInvoiceStateResponse ), }); } diff --git a/packages/webapp/src/hooks/query/items/queries.ts b/packages/webapp/src/hooks/query/items/queries.ts index 02156785e..85d2dd316 100644 --- a/packages/webapp/src/hooks/query/items/queries.ts +++ b/packages/webapp/src/hooks/query/items/queries.ts @@ -35,7 +35,6 @@ import type { GetInventoryItemsCostResponse, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { itemsKeys } from './query-keys'; import { itemsCategoriesKeys } from '../items-categories/query-keys'; @@ -112,14 +111,12 @@ export function useBulkDeleteItems( export function useValidateBulkDeleteItems( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteItems(fetcher, { ids, skipUndeletable: false } as BulkDeleteItemsBody).then( - (res) => transformToCamelCase(res as Record) as ValidateBulkDeleteItemsResponse - ), + validateBulkDeleteItems(fetcher, { ids, skipUndeletable: false } as BulkDeleteItemsBody), }); } diff --git a/packages/webapp/src/hooks/query/jobs/queries.ts b/packages/webapp/src/hooks/query/jobs/queries.ts index 341958285..a9be1222a 100644 --- a/packages/webapp/src/hooks/query/jobs/queries.ts +++ b/packages/webapp/src/hooks/query/jobs/queries.ts @@ -1,5 +1,3 @@ -// @ts-nocheck -import { transformToCamelCase } from '@/utils'; import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { fetchOrganizationBuildJob } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; @@ -9,12 +7,12 @@ import { jobsKeys } from './query-keys'; * Retrieve the job metadata. */ export function useJob(jobId: string | number | null | undefined, props: Omit = {}) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: jobsKeys.detail(jobId), - queryFn: () => - fetchOrganizationBuildJob(fetcher, jobId).then((data) => transformToCamelCase(data)), + // @ts-expect-error - jobId is checked by enabled option + queryFn: () => fetchOrganizationBuildJob(fetcher, jobId), enabled: jobId != null, }); } diff --git a/packages/webapp/src/hooks/query/manual-journals/queries.ts b/packages/webapp/src/hooks/query/manual-journals/queries.ts index ec6207230..fe724830c 100644 --- a/packages/webapp/src/hooks/query/manual-journals/queries.ts +++ b/packages/webapp/src/hooks/query/manual-journals/queries.ts @@ -25,7 +25,6 @@ import { validateBulkDeleteManualJournals, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { manualJournalsKeys, MANUAL_JOURNAL } from './query-keys'; import { accountsKeys } from '../accounts/query-keys'; import { customersKeys } from '../customers/query-keys'; @@ -139,14 +138,11 @@ export function useValidateBulkDeleteManualJournals( number[] > ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => - validateBulkDeleteManualJournals(fetcher, { ids }).then((res) => - transformToCamelCase(res as unknown as Record) as ValidateBulkDeleteManualJournalsResponse - ), + mutationFn: (ids: number[]) => validateBulkDeleteManualJournals(fetcher, { ids }), }); } diff --git a/packages/webapp/src/hooks/query/payment-link/queries.ts b/packages/webapp/src/hooks/query/payment-link/queries.ts index 5ad9d5591..c8efbb094 100644 --- a/packages/webapp/src/hooks/query/payment-link/queries.ts +++ b/packages/webapp/src/hooks/query/payment-link/queries.ts @@ -7,7 +7,6 @@ import { useQuery, } from '@tanstack/react-query'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import type { GetInvoicePaymentLinkResponse, CreateStripeCheckoutSessionResponse, @@ -71,14 +70,11 @@ export function useGetInvoicePaymentLink( linkId: string, options?: UseQueryOptions, ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ queryKey: paymentLinkKeys.invoice(linkId), - queryFn: () => - fetchGetInvoicePaymentLink(fetcher, linkId).then((data) => - transformToCamelCase(data) as GetInvoicePaymentLinkResponse, - ), + queryFn: () => fetchGetInvoicePaymentLink(fetcher, linkId), enabled: !!linkId, ...options, }); @@ -101,13 +97,11 @@ export const useCreateStripeCheckoutSession = ( Error, CreateCheckoutSessionValues > => { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ mutationFn: (values: CreateCheckoutSessionValues) => - fetchCreateStripeCheckoutSession(fetcher, values.linkId).then((data) => - transformToCamelCase(data) as CreateStripeCheckoutSessionResponse, - ), + fetchCreateStripeCheckoutSession(fetcher, values.linkId), ...options, }); }; diff --git a/packages/webapp/src/hooks/query/payment-receives/queries.ts b/packages/webapp/src/hooks/query/payment-receives/queries.ts index e0e9927a3..5fc231df1 100644 --- a/packages/webapp/src/hooks/query/payment-receives/queries.ts +++ b/packages/webapp/src/hooks/query/payment-receives/queries.ts @@ -12,6 +12,10 @@ import type { PaymentReceived, CreatePaymentReceivedBody, EditPaymentReceivedBody, + BulkDeletePaymentsReceivedBody, + ValidateBulkDeletePaymentsReceivedResponse, + PaymentReceivedStateResponse, + PaymentReceivedHtmlContentResponse, } from '@bigcapital/sdk-ts'; import { fetchPaymentsReceived, @@ -25,15 +29,9 @@ import { fetchPaymentReceiveMail, sendPaymentReceiveMail, fetchPaymentReceivedState, + fetchPaymentReceiveHtmlContent, } from '@bigcapital/sdk-ts'; -export type BulkDeletePaymentsReceivedBody = { ids: number[]; skipUndeletable?: boolean }; -export type ValidateBulkDeletePaymentsReceivedResponse = { - deletableCount: number; - nonDeletableCount: number; - deletableIds: number[]; - nonDeletableIds: number[]; -}; import useApiRequest, { useApiFetcher } from '../../useRequest'; import { useRequestQuery } from '../../useQueryRequest'; import { saveInvoke, transformToCamelCase } from '@/utils'; @@ -75,7 +73,7 @@ export function usePaymentReceives( return useQuery({ ...props, queryKey: paymentReceivesKeys.list(query), - queryFn: () => fetchPaymentsReceived(fetcher, query), + queryFn: () => fetchPaymentsReceived(fetcher), }); } @@ -149,14 +147,11 @@ export function useBulkDeletePaymentReceives( export function useValidateBulkDeletePaymentReceives( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => - validateBulkDeletePaymentsReceived(fetcher, ids).then((data: Record) => - transformToCamelCase(data) as ValidateBulkDeletePaymentsReceivedResponse - ), + mutationFn: (ids: number[]) => validateBulkDeletePaymentsReceived(fetcher, ids), }); } @@ -298,56 +293,40 @@ export function usePaymentReceivedMailState( paymentReceiveId: number, props?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: [PaymentReceivesQueryKeys.PAYMENT_RECEIVE_MAIL_OPTIONS, paymentReceiveId], queryFn: () => - fetchPaymentReceiveMail(fetcher, paymentReceiveId).then((data: Record) => - transformToCamelCase(data) as GetPaymentReceivedMailStateResponse - ), + fetchPaymentReceiveMail(fetcher, paymentReceiveId) as Promise, }); } -export interface PaymentReceivedStateResponse { - defaultTemplateId: number; -} - export function usePaymentReceivedState( options?: UseQueryOptions ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: ['PAYMENT_RECEIVED_STATE'], - queryFn: () => - fetchPaymentReceivedState(fetcher).then((data: Record) => - transformToCamelCase(data) as PaymentReceivedStateResponse - ), + queryFn: () => fetchPaymentReceivedState(fetcher), }); } -interface PaymentReceivedHtmlResponse { - htmlContent: string; -} - -/** HTML content uses custom Accept header; kept on apiRequest. */ +/** + * Retrieves the payment received HTML content. + */ export function useGetPaymentReceiveHtml( paymentReceivedId: number, - options?: UseQueryOptions -): UseQueryResult { - const apiRequest = useApiRequest(); + options?: UseQueryOptions +): UseQueryResult { + const fetcher = useApiFetcher(); return useQuery({ ...options, queryKey: ['PAYMENT_RECEIVED_HTML', paymentReceivedId], - queryFn: (): Promise => - apiRequest - .get(`/payments-received/${paymentReceivedId}`, { - headers: { Accept: 'application/json+html' }, - }) - .then((res) => transformToCamelCase(res.data) as PaymentReceivedHtmlResponse), + queryFn: () => fetchPaymentReceiveHtmlContent(fetcher, paymentReceivedId), }); } diff --git a/packages/webapp/src/hooks/query/payment-services/queries.ts b/packages/webapp/src/hooks/query/payment-services/queries.ts index e667af4b4..1d2066bb4 100644 --- a/packages/webapp/src/hooks/query/payment-services/queries.ts +++ b/packages/webapp/src/hooks/query/payment-services/queries.ts @@ -20,7 +20,6 @@ import { type UpdatePaymentMethodResponse, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { paymentServicesKeys } from './query-keys'; // # Get payment services. @@ -31,13 +30,13 @@ import { paymentServicesKeys } from './query-keys'; export const useGetPaymentServices = ( options?: UseQueryOptions, ): UseQueryResult => { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ queryKey: paymentServicesKeys.list(), queryFn: () => fetchGetPaymentServices(fetcher).then((res) => - transformToCamelCase(res?.payment_services) as GetPaymentServicesResponse, + res?.payment_services as GetPaymentServicesResponse, ), ...options, }); @@ -51,14 +50,12 @@ export const useGetPaymentServices = ( export const useGetPaymentServicesState = ( options?: UseQueryOptions, ): UseQueryResult => { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ queryKey: paymentServicesKeys.state(), queryFn: () => - fetchGetPaymentServicesState(fetcher).then((data) => - transformToCamelCase(data) as GetPaymentServicesStateResponse, - ), + fetchGetPaymentServicesState(fetcher) as Promise, ...options, }); }; @@ -116,13 +113,13 @@ export const useGetPaymentMethod = ( paymentMethodId: number, options?: Omit, 'queryKey' | 'queryFn'>, ): UseQueryResult => { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ queryKey: paymentServicesKeys.detail(paymentMethodId), queryFn: () => fetchGetPaymentService(fetcher, paymentMethodId).then((res) => - transformToCamelCase(res?.data) as GetPaymentServiceResponse, + res?.data as GetPaymentServiceResponse, ), enabled: !!paymentMethodId, ...options, diff --git a/packages/webapp/src/hooks/query/receipts/queries.ts b/packages/webapp/src/hooks/query/receipts/queries.ts index 041848546..aa139f2fe 100644 --- a/packages/webapp/src/hooks/query/receipts/queries.ts +++ b/packages/webapp/src/hooks/query/receipts/queries.ts @@ -13,6 +13,11 @@ import type { EditSaleReceiptBody, ValidateBulkDeleteReceiptsResponse, SaleReceiptStateResponse, + SaleReceiptMailResponse, + SaleReceiptSendMailBody, + SaleReceiptHtmlContentResponse, + GetSaleReceiptsQuery, + BulkDeleteReceiptsBody, } from '@bigcapital/sdk-ts'; import { fetchSaleReceipts, @@ -26,9 +31,9 @@ import { fetchSaleReceiptMail, sendSaleReceiptMail, fetchSaleReceiptState, + fetchSaleReceiptHtmlContent, } from '@bigcapital/sdk-ts'; import useApiRequest, { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { useRequestPdf } from '../../useRequestPdf'; import { useRequestQuery } from '../../useQueryRequest'; import { receiptsKeys, ReceiptsQueryKeys } from './query-keys'; @@ -58,9 +63,6 @@ function commonInvalidateQueries(queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: [ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES] }); } -/** - * Creates a new sale receipt. - */ export function useCreateReceipt( props?: UseMutationOptions ) { @@ -74,9 +76,6 @@ export function useCreateReceipt( }); } -/** - * Edits the given sale receipt. - */ export function useEditReceipt( props?: UseMutationOptions ) { @@ -94,9 +93,6 @@ export function useEditReceipt( }); } -/** - * Deletes the given sale receipt. - */ export function useDeleteReceipt(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -111,22 +107,15 @@ export function useDeleteReceipt(props?: UseMutationOptions }); } -/** - * Deletes multiple receipts in bulk. - */ export function useBulkDeleteReceipts( - props?: UseMutationOptions< - void, - Error, - { ids: number[]; skipUndeletable?: boolean } - > + props?: UseMutationOptions ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ({ ids, skipUndeletable = false }: { ids: number[]; skipUndeletable?: boolean }) => + mutationFn: ({ ids, skipUndeletable = false }: BulkDeleteReceiptsBody) => bulkDeleteSaleReceipts(fetcher, { ids, skipUndeletable }), onSuccess: () => commonInvalidateQueries(queryClient), }); @@ -143,9 +132,6 @@ export function useValidateBulkDeleteReceipts( }); } -/** - * Closes the given sale receipt. - */ export function useCloseReceipt(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -160,11 +146,8 @@ export function useCloseReceipt(props?: UseMutationOptions) }); } -/** - * Retrieve sale receipts list with pagination meta. - */ export function useReceipts( - query?: Record, + query?: GetSaleReceiptsQuery, props?: UseQueryOptions ) { const fetcher = useApiFetcher(); @@ -176,9 +159,6 @@ export function useReceipts( }); } -/** - * Retrieve sale receipt detail. - */ export function useReceipt( id: number | null | undefined, props?: UseQueryOptions @@ -193,9 +173,6 @@ export function useReceipt( }); } -/** - * Retrieve the receipt pdf document data. - */ export function usePdfReceipt(receiptId: number) { return useRequestPdf({ url: `sale-receipts/${receiptId}` }); } @@ -242,121 +219,60 @@ export function useReceiptSMSDetail( ...requestProps, }, { - select: (res: { data: unknown }) => res.data, defaultData: {}, ...props, } ); } -/** - * Sends the sale receipt mail. - */ export function useSendSaleReceiptMail( - props?: UseMutationOptions]> + props?: UseMutationOptions ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ([id, values]: [number, Record]) => + mutationFn: ([id, values]: [number, SaleReceiptSendMailBody]) => sendSaleReceiptMail(fetcher, id, values), onSuccess: () => commonInvalidateQueries(queryClient), }); } -export interface GetSaleReceiptMailStateResponse { - attachReceipt: boolean; - closedAtDate: string; - closedAtDateFormatted: string; - companyName: string; - customerName: string; - formatArgs: Record; - from: string[]; - fromOptions: Array<{ mail: string; label: string; primary: boolean }>; - message: string; - receiptDate: string; - receiptDateFormatted: string; - subject: string; - subtotal: number; - subtotalFormatted: string; - to: string[]; - toOptions: Array<{ mail: string; label: string; primary: boolean }>; - discountAmount: number; - discountAmountFormatted: string; - discountLabel: string; - discountPercentage: number | null; - discountPercentageFormatted: string; - adjustment: number; - adjustmentFormatted: string; - total: number; - totalFormatted: string; - companyLogoUri?: string | null; - primaryColor?: string | null; - entries: Array<{ - name: string; - quantity: number; - quantityFormatted: string; - rate: number; - rateFormatted: string; - total: number; - totalFormatted: string; - }>; - receiptNumber: string; -} - export function useSaleReceiptMailState( receiptId: number, - props?: UseQueryOptions -): UseQueryResult { - const fetcher = useApiFetcher(); + props?: UseQueryOptions +): UseQueryResult { + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, queryKey: [ReceiptsQueryKeys.SALE_RECEIPT_MAIL_OPTIONS, receiptId], - queryFn: () => - fetchSaleReceiptMail(fetcher, receiptId).then((data) => - transformToCamelCase(data) as GetSaleReceiptMailStateResponse - ), + queryFn: () => fetchSaleReceiptMail(fetcher, receiptId), }); } -export type IGetReceiptStateResponse = SaleReceiptStateResponse; - export function useGetReceiptState( - options?: UseQueryOptions -): UseQueryResult { - const fetcher = useApiFetcher(); + options?: UseQueryOptions +): UseQueryResult { + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: ['SALE_RECEIPT_STATE'], - queryFn: () => fetchSaleReceiptState(fetcher).then((data) => transformToCamelCase(data) as IGetReceiptStateResponse), + queryFn: () => fetchSaleReceiptState(fetcher), }); } -interface GetReceiptHtmlResponse { - htmlContent: string; -} - -/** - * Retrieves the sale receipt html content (custom Accept header; not in SDK). - */ export function useGetSaleReceiptHtml( receiptId: number, - options?: UseQueryOptions -): UseQueryResult { - const apiRequest = useApiRequest(); + options?: UseQueryOptions +): UseQueryResult { + const fetcher = useApiFetcher(); return useQuery({ ...options, queryKey: ['SALE_RECEIPT_HTML', receiptId], - queryFn: () => - apiRequest - .get(`sale-receipts/${receiptId}`, { - headers: { Accept: 'application/json+html' }, - }) - .then((res) => transformToCamelCase(res.data) as GetReceiptHtmlResponse), + queryFn: () => fetchSaleReceiptHtmlContent(fetcher, receiptId), }); } diff --git a/packages/webapp/src/hooks/query/roles/queries.ts b/packages/webapp/src/hooks/query/roles/queries.ts index bfc3c83ec..f67cf67b5 100644 --- a/packages/webapp/src/hooks/query/roles/queries.ts +++ b/packages/webapp/src/hooks/query/roles/queries.ts @@ -100,6 +100,5 @@ export function useRoles( ...props, queryKey: [...rolesKeys.all(), query], queryFn: () => fetchRoles(fetcher), - select: (data) => (Array.isArray(data) ? data : (data as { data?: unknown })?.data ?? data), }); } diff --git a/packages/webapp/src/hooks/query/stripe-integration/queries.ts b/packages/webapp/src/hooks/query/stripe-integration/queries.ts index f6dca43ee..ead55fbc9 100644 --- a/packages/webapp/src/hooks/query/stripe-integration/queries.ts +++ b/packages/webapp/src/hooks/query/stripe-integration/queries.ts @@ -7,12 +7,14 @@ import { useQuery, } from '@tanstack/react-query'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import type { GetStripeConnectLinkResponse, CreateStripeAccountLinkResponse, CreateStripeAccountSessionResponse, CreateStripeAccountResponse, + CreateStripeAccountLinkBody, + CreateStripeAccountSessionBody, + ExchangeStripeOAuthBody, } from '@bigcapital/sdk-ts'; import { fetchGetStripeConnectLink, @@ -25,60 +27,43 @@ import { stripeIntegrationKeys } from './query-keys'; // Create Stripe Account Link // ------------------------------------ -interface StripeAccountLinkResponse { - clientSecret: { - created: number; - expiresAt: number; - object: string; - url: string; - }; -} - -interface StripeAccountLinkValues { - stripeAccountId: string; -} - export const useCreateStripeAccountLink = ( options?: UseMutationOptions< - StripeAccountLinkResponse, + CreateStripeAccountLinkResponse, Error, - StripeAccountLinkValues + CreateStripeAccountLinkBody >, ): UseMutationResult< - StripeAccountLinkResponse, + CreateStripeAccountLinkResponse, Error, - StripeAccountLinkValues + CreateStripeAccountLinkBody > => { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ - mutationFn: (values: StripeAccountLinkValues) => + mutationFn: (values: CreateStripeAccountLinkBody) => fetchCreateStripeAccountLink(fetcher, { stripeAccountId: values.stripeAccountId, - }).then((data) => transformToCamelCase(data) as StripeAccountLinkResponse), + }), ...options, }); }; // Create Stripe Account Session // ------------------------------------ -interface AccountSessionValues { - connectedAccountId?: string; -} - export const useCreateStripeAccountSession = ( options?: UseMutationOptions< CreateStripeAccountSessionResponse, Error, - AccountSessionValues + CreateStripeAccountSessionBody >, -): UseMutationResult => { +): UseMutationResult => { const fetcher = useApiFetcher(); return useMutation({ - mutationFn: (values: AccountSessionValues) => + mutationFn: (values: CreateStripeAccountSessionBody) => fetchCreateStripeAccountSession(fetcher, { - account: values?.connectedAccountId, + account: values?.account, }), ...options, }); @@ -86,20 +71,17 @@ export const useCreateStripeAccountSession = ( // Create Stripe Account // ------------------------------------ -interface CreateStripeAccountValues {} - export const useCreateStripeAccount = ( options?: UseMutationOptions< CreateStripeAccountResponse, Error, - CreateStripeAccountValues + void >, ) => { const fetcher = useApiFetcher(); return useMutation({ - mutationFn: (_values: CreateStripeAccountValues) => - fetchCreateStripeAccount(fetcher), + mutationFn: () => fetchCreateStripeAccount(fetcher), ...options, }); }; @@ -120,10 +102,6 @@ export const useGetStripeAccountLink = ( // Stripe Account OAuth Callback // ------------------------------------ -interface StripeAccountCallbackMutationValues { - code: string; -} - interface StripeAccountCallbackMutationResponse { success: boolean; } @@ -132,17 +110,17 @@ export const useSetStripeAccountCallback = ( options?: UseMutationOptions< StripeAccountCallbackMutationResponse, Error, - StripeAccountCallbackMutationValues + ExchangeStripeOAuthBody >, ): UseMutationResult< StripeAccountCallbackMutationResponse, Error, - StripeAccountCallbackMutationValues + ExchangeStripeOAuthBody > => { const fetcher = useApiFetcher(); return useMutation({ - mutationFn: (values: StripeAccountCallbackMutationValues) => + mutationFn: (values: ExchangeStripeOAuthBody) => fetchExchangeStripeOAuth(fetcher, { code: values.code }).then( () => ({ success: true }) as StripeAccountCallbackMutationResponse, ), diff --git a/packages/webapp/src/hooks/query/subscription/queries.ts b/packages/webapp/src/hooks/query/subscription/queries.ts index 8ead5b5df..ab0190e19 100644 --- a/packages/webapp/src/hooks/query/subscription/queries.ts +++ b/packages/webapp/src/hooks/query/subscription/queries.ts @@ -8,7 +8,6 @@ import { UseQueryResult, } from '@tanstack/react-query'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import type { SubscriptionsListResponse, ChangeSubscriptionPlanBody, @@ -91,12 +90,11 @@ export function useGetSubscriptions( GetSubscriptionsResponse > ): UseQueryResult { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ queryKey: subscriptionKeys.list(), queryFn: () => fetchSubscriptions(fetcher), - select: (data) => transformToCamelCase(data) as GetSubscriptionsResponse, ...options, }); } diff --git a/packages/webapp/src/hooks/query/tax-rates/queries.ts b/packages/webapp/src/hooks/query/tax-rates/queries.ts index d8eca75a0..cc7f48b99 100644 --- a/packages/webapp/src/hooks/query/tax-rates/queries.ts +++ b/packages/webapp/src/hooks/query/tax-rates/queries.ts @@ -35,7 +35,6 @@ export function useTaxRates( ...props, queryKey: taxRatesKeys.all(), queryFn: () => fetchTaxRates(fetcher), - select: (data) => ((data as { data?: unknown })?.data ?? data) as unknown[], }); } diff --git a/packages/webapp/src/hooks/query/vendor-credit/queries.ts b/packages/webapp/src/hooks/query/vendor-credit/queries.ts index b84e606ac..0031589ca 100644 --- a/packages/webapp/src/hooks/query/vendor-credit/queries.ts +++ b/packages/webapp/src/hooks/query/vendor-credit/queries.ts @@ -33,7 +33,6 @@ import { deleteAppliedBillToVendorCredit, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { vendorCreditsKeys, VendorCreditsQueryKeys } from './query-keys'; import { vendorsKeys } from '../vendors/query-keys'; import { itemsKeys } from '../items/query-keys'; @@ -143,14 +142,12 @@ export function useValidateBulkDeleteVendorCredits( number[] > ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteVendorCredits(fetcher, { ids } as BulkDeleteVendorCreditsBody).then( - (data: Record) => transformToCamelCase(data) as ValidateBulkDeleteVendorCreditsResponse - ), + validateBulkDeleteVendorCredits(fetcher, { ids } as BulkDeleteVendorCreditsBody), }); } diff --git a/packages/webapp/src/hooks/query/vendors/queries.ts b/packages/webapp/src/hooks/query/vendors/queries.ts index 022437aba..51c5132fb 100644 --- a/packages/webapp/src/hooks/query/vendors/queries.ts +++ b/packages/webapp/src/hooks/query/vendors/queries.ts @@ -24,7 +24,6 @@ import { editVendorOpeningBalance, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; -import { transformToCamelCase } from '@/utils'; import { vendorsKeys } from './query-keys'; const commonInvalidateQueries = (queryClient: ReturnType) => { @@ -39,11 +38,7 @@ export function useVendors( return useQuery({ ...props, queryKey: vendorsKeys.list(query), - queryFn: () => - (fetchVendors as (f: ReturnType, q?: Record) => Promise)( - fetcher, - query - ), + queryFn: () => fetchVendors(fetcher, query), }); } @@ -102,14 +97,12 @@ export function useBulkDeleteVendors( export function useValidateBulkDeleteVendors( props?: UseMutationOptions ) { - const fetcher = useApiFetcher(); + const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteVendors(fetcher, { ids, skipUndeletable: false } as BulkDeleteVendorsBody).then( - (res) => transformToCamelCase(res as Record) as ValidateBulkDeleteVendorsResponse - ), + validateBulkDeleteVendors(fetcher, { ids, skipUndeletable: false } as BulkDeleteVendorsBody), }); } diff --git a/packages/webapp/src/hooks/query/warehouses/queries.ts b/packages/webapp/src/hooks/query/warehouses/queries.ts index 1af48a9c4..fa0d73855 100644 --- a/packages/webapp/src/hooks/query/warehouses/queries.ts +++ b/packages/webapp/src/hooks/query/warehouses/queries.ts @@ -32,9 +32,6 @@ const commonInvalidateQueries = (queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: [DASHBOARD_META] }); }; -/** - * Create a new warehouse. - */ export function useCreateWarehouse( props?: UseMutationOptions ) { @@ -49,9 +46,6 @@ export function useCreateWarehouse( }); } -/** - * Edits the given warehouse. - */ export function useEditWarehouse( props?: UseMutationOptions ) { @@ -69,9 +63,6 @@ export function useEditWarehouse( }); } -/** - * Deletes the given warehouse. - */ export function useDeleteWarehouse( props?: UseMutationOptions ) { @@ -88,9 +79,6 @@ export function useDeleteWarehouse( }); } -/** - * Retrieve warehouses list. - */ export function useWarehouses( query?: Record, props?: Omit, 'queryKey' | 'queryFn'> @@ -103,9 +91,6 @@ export function useWarehouses( }); } -/** - * Retrieve the warehouse details. - */ export function useWarehouse( id: number | string | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, @@ -121,9 +106,6 @@ export function useWarehouse( }); } -/** - * Activate the given warehouse. - */ export function useActivateWarehouses( props?: UseMutationOptions ) { @@ -137,9 +119,6 @@ export function useActivateWarehouses( }); } -/** - * Mark the given warehouse as primary. - */ export function useMarkWarehouseAsPrimary( props?: UseMutationOptions ) { diff --git a/packages/webapp/src/hooks/useRequest.tsx b/packages/webapp/src/hooks/useRequest.tsx index 98c7e8724..7b9e55677 100644 --- a/packages/webapp/src/hooks/useRequest.tsx +++ b/packages/webapp/src/hooks/useRequest.tsx @@ -124,8 +124,11 @@ export default function useApiRequest() { /** * Returns an ApiFetcher configured with baseUrl and auth headers for use with sdk-ts fetch functions. * Use this in query hooks that call fetchAccounts, fetchCreditNotes, etc. + * + * @param options - Optional configuration + * @param options.enableCamelCaseTransform - If true, automatically transforms response data from snake_case to camelCase */ -export function useApiFetcher() { +export function useApiFetcher(options?: { enableCamelCaseTransform?: boolean }) { const token = useAuthToken(); const organizationId = useAuthOrganizationId(); const currentLocale = getCookie('locale'); @@ -146,9 +149,9 @@ export function useApiFetcher() { return createApiFetcher({ baseUrl: '', init: { headers }, - disableCamelCaseTransform: true, + disableCamelCaseTransform: !options?.enableCamelCaseTransform, }); - }, [token, organizationId]); + }, [token, organizationId, currentLocale, options?.enableCamelCaseTransform]); } /** diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b23690d80..03a1b0978 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,7 +65,7 @@ importers: version: 5.23.0 '@bull-board/nestjs': specifier: ^5.22.0 - version: 5.23.0(@bull-board/api@5.23.0(@bull-board/ui@5.23.0))(@bull-board/express@5.23.0)(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1) + version: 5.23.0(@bull-board/api@5.23.0(@bull-board/ui@5.23.0))(@bull-board/express@5.23.0)(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)(rxjs@7.8.1) '@casl/ability': specifier: ^5.4.3 version: 5.4.4 @@ -74,19 +74,19 @@ importers: version: 2.2.0 '@liaoliaots/nestjs-redis': specifier: ^10.0.0 - version: 10.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(ioredis@5.6.0) + version: 10.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(ioredis@5.6.0) '@nest-lab/throttler-storage-redis': specifier: ^1.1.0 - version: 1.1.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/throttler@6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2))(ioredis@5.6.0)(reflect-metadata@0.2.2) + version: 1.1.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/throttler@6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2))(ioredis@5.6.0)(reflect-metadata@0.2.2) '@nestjs/bull': specifier: ^10.2.1 - version: 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(bull@4.16.4) + version: 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bull@4.16.4) '@nestjs/bullmq': specifier: ^10.2.2 - version: 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(bullmq@5.25.6) + version: 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bullmq@5.25.6) '@nestjs/cache-manager': specifier: ^2.2.2 - version: 2.3.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(cache-manager@6.1.3)(rxjs@7.8.1) + version: 2.3.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@6.1.3)(rxjs@7.8.1) '@nestjs/common': specifier: ^10.0.0 version: 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -98,7 +98,7 @@ importers: version: 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/event-emitter': specifier: ^2.0.4 - version: 2.1.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + version: 2.1.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/jwt': specifier: ^10.2.0 version: 10.2.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)) @@ -113,16 +113,16 @@ importers: version: 10.4.20(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/websockets@10.4.20)(rxjs@7.8.1) '@nestjs/schedule': specifier: ^4.1.2 - version: 4.1.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + version: 4.1.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/serve-static': specifier: ^5.0.3 - version: 5.0.3(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + version: 5.0.3(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/swagger': specifier: ^7.4.2 - version: 7.4.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) + version: 7.4.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) '@nestjs/throttler': specifier: ^6.2.1 - version: 6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2) + version: 6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) '@nestjs/websockets': specifier: ^10.0.0 version: 10.4.20(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-socket.io@10.4.20)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -245,16 +245,16 @@ importers: version: 3.11.4 nest-commander: specifier: ^3.20.1 - version: 3.20.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@types/inquirer@8.2.12)(@types/node@20.5.1)(typescript@5.6.3) + version: 3.20.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@types/inquirer@8.2.12)(@types/node@20.5.1)(typescript@5.6.3) nestjs-cls: specifier: ^5.2.0 - version: 5.2.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1) + version: 5.2.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)(rxjs@7.8.1) nestjs-i18n: specifier: ^10.4.9 - version: 10.5.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(class-validator@0.14.1)(rxjs@7.8.1) + version: 10.5.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-validator@0.14.1)(rxjs@7.8.1) nestjs-redis: specifier: ^1.3.3 - version: 1.3.3(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(encoding@0.1.13) + version: 1.3.3(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))(@nestjs/websockets@10.4.20(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-socket.io@10.4.20)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(encoding@0.1.13) nodemailer: specifier: ^6.3.0 version: 6.9.13 @@ -336,13 +336,13 @@ importers: devDependencies: '@nestjs/cli': specifier: ^10.0.0 - version: 10.4.7 + version: 10.4.7(esbuild@0.23.1) '@nestjs/schematics': specifier: ^10.0.0 version: 10.2.3(chokidar@3.6.0)(typescript@5.6.3) '@nestjs/testing': specifier: ^10.0.0 - version: 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7) + version: 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)) '@types/express': specifier: ^5.0.0 version: 5.0.0 @@ -393,10 +393,10 @@ importers: version: 7.0.0 ts-jest: specifier: ^29.1.0 - version: 29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest@29.7.0(@types/node@20.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.23.1)(jest@29.7.0(@types/node@20.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)))(typescript@5.6.3) ts-loader: specifier: ^9.4.3 - version: 9.5.1(typescript@5.6.3)(webpack@5.96.1) + version: 9.5.1(typescript@5.6.3)(webpack@5.96.1(esbuild@0.23.1)) ts-node: specifier: ^10.9.1 version: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) @@ -423,10 +423,10 @@ importers: version: link:../../shared/bigcapital-utils '@blueprintjs-formik/core': specifier: ^0.3.7 - version: 0.3.7(@babel/core@7.28.5)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + version: 0.3.7(@babel/core@7.26.0)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) '@blueprintjs-formik/datetime': specifier: ^0.4.0 - version: 0.4.0(@babel/core@7.28.5)(@blueprintjs-formik/core@0.3.7(@babel/core@7.28.5)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime2@0.9.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime@4.4.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + version: 0.4.0(@babel/core@7.26.0)(@blueprintjs-formik/core@0.3.7(@babel/core@7.26.0)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime2@0.9.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime@4.4.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) '@blueprintjs-formik/select': specifier: ^0.4.5 version: 0.4.5(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -494,8 +494,8 @@ importers: specifier: 2.1.13 version: 2.1.13(@tiptap/pm@2.1.13) '@tiptap/extension-color': - specifier: latest - version: 3.20.1(@tiptap/extension-text-style@2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13))) + specifier: 2.1.13 + version: 2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13))(@tiptap/extension-text-style@2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13))) '@tiptap/extension-list-item': specifier: 2.1.13 version: 2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13)) @@ -765,7 +765,7 @@ importers: version: 0.23.1 styled-components: specifier: ^5.3.1 - version: 5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + version: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) stylis-rtlcss: specifier: ^2.1.1 version: 2.1.1 @@ -787,7 +787,7 @@ importers: version: 4.7.0(vite@5.4.10(@types/node@20.19.25)(less@4.2.0)(sass@1.77.2)(terser@5.31.0)) eslint-config-react-app: specifier: ^7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5))(eslint@8.57.0)(typescript@4.9.5) + version: 7.0.1(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.26.0))(eslint@8.57.0)(typescript@4.9.5) vite: specifier: ^5.1.6 version: 5.4.10(@types/node@20.19.25)(less@4.2.0)(sass@1.77.2)(terser@5.31.0) @@ -913,13 +913,13 @@ importers: version: 2.5.1 css-loader: specifier: ^6.x - version: 6.11.0(webpack@5.91.0) + version: 6.11.0(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) declaration-bundler-webpack-plugin: specifier: ^1.0.3 version: 1.0.3 fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.6.3)(webpack@5.91.0) + version: 9.0.2(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) lodash: specifier: ^4.17.15 version: 4.17.21 @@ -931,16 +931,16 @@ importers: version: 18.3.1(react@18.3.1) style-loader: specifier: ^3.x - version: 3.3.4(webpack@5.91.0) + version: 3.3.4(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) tailwindcss: specifier: ^3.4.14 - version: 3.4.14(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3)) + version: 3.4.14(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) ts-loader: specifier: ^9.x - version: 9.5.1(typescript@5.6.3)(webpack@5.91.0) + version: 9.5.1(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) webpack: specifier: ^5.x - version: 5.91.0(webpack-cli@5.1.4) + version: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.x version: 5.1.4(webpack@5.91.0) @@ -959,7 +959,7 @@ importers: version: 7.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/addon-styling': specifier: 1.3.6 - version: 1.3.6(@types/react-dom@18.3.0)(@types/react@18.3.4)(encoding@0.1.13)(less@4.2.0)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.2)(typescript@5.6.3)(webpack@5.91.0) + version: 1.3.6(@types/react-dom@18.3.0)(@types/react@18.3.4)(encoding@0.1.13)(less@4.2.0)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.2)(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) '@storybook/blocks': specifier: 7.2.2 version: 7.2.2(@types/react-dom@18.3.0)(@types/react@18.3.4)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1014,7 +1014,7 @@ importers: version: 7.13.0(typescript@5.6.3) tsup: specifier: ^8.3.0 - version: 8.3.0(@microsoft/api-extractor@7.47.11(@types/node@20.19.25))(jiti@1.21.0)(postcss@8.4.47)(typescript@5.6.3)(yaml@2.4.2) + version: 8.3.0(@microsoft/api-extractor@7.47.11(@types/node@20.5.1))(jiti@1.21.0)(postcss@8.4.47)(typescript@5.6.3)(yaml@2.4.2) typescript: specifier: ^5.1.3 version: 5.6.3 @@ -4337,7 +4337,6 @@ packages: '@rollup/rollup-darwin-arm64@4.59.0': resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} - cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.24.0': @@ -5213,10 +5212,11 @@ packages: peerDependencies: '@tiptap/core': ^2.0.0 - '@tiptap/extension-color@3.20.1': - resolution: {integrity: sha512-WpYGG+9zDQXFWdhZ/SPahcVR1aMMXubRSHEBaaLs0SEQ2dThEOYo5xXlVP0Cwat9OiQ+nqWnCFwBmc6mgIAiUA==} + '@tiptap/extension-color@2.1.13': + resolution: {integrity: sha512-T3tJXCIfFxzIlGOhvbPVIZa3y36YZRPYIo2TKsgkTz8LiMob6hRXXNFjsrFDp2Fnu3DrBzyvrorsW7767s4eYg==} peerDependencies: - '@tiptap/extension-text-style': ^3.20.1 + '@tiptap/core': ^2.0.0 + '@tiptap/extension-text-style': ^2.0.0 '@tiptap/extension-document@2.4.0': resolution: {integrity: sha512-3jRodQJZDGbXlRPERaloS+IERg/VwzpC1IO6YSJR9jVIsBO6xC29P3cKTQlg1XO7p6ZH/0ksK73VC5BzzTwoHg==} @@ -13505,8 +13505,8 @@ snapshots: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0 - '@aws-sdk/client-sts': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 '@aws-sdk/core': 3.582.0 '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) '@aws-sdk/middleware-bucket-endpoint': 3.577.0 @@ -13563,11 +13563,11 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.583.0': + '@aws-sdk/client-sso-oidc@3.583.0(@aws-sdk/client-sts@3.583.0)': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/client-sts': 3.583.0 '@aws-sdk/core': 3.582.0 '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -13606,6 +13606,7 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: + - '@aws-sdk/client-sts' - aws-crt '@aws-sdk/client-sso@3.583.0': @@ -13651,11 +13652,11 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.583.0(@aws-sdk/client-sso-oidc@3.583.0)': + '@aws-sdk/client-sts@3.583.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) '@aws-sdk/core': 3.582.0 '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -13694,7 +13695,6 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - aws-crt '@aws-sdk/core@3.582.0': @@ -13728,7 +13728,7 @@ snapshots: '@aws-sdk/credential-provider-ini@3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0)': dependencies: - '@aws-sdk/client-sts': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/client-sts': 3.583.0 '@aws-sdk/credential-provider-env': 3.577.0 '@aws-sdk/credential-provider-process': 3.577.0 '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) @@ -13785,7 +13785,7 @@ snapshots: '@aws-sdk/credential-provider-web-identity@3.577.0(@aws-sdk/client-sts@3.583.0)': dependencies: - '@aws-sdk/client-sts': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/client-sts': 3.583.0 '@aws-sdk/types': 3.577.0 '@smithy/property-provider': 3.0.0 '@smithy/types': 3.0.0 @@ -13923,7 +13923,7 @@ snapshots: '@aws-sdk/token-providers@3.577.0(@aws-sdk/client-sso-oidc@3.583.0)': dependencies: - '@aws-sdk/client-sso-oidc': 3.583.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) '@aws-sdk/types': 3.577.0 '@smithy/property-provider': 3.0.0 '@smithy/shared-ini-file-loader': 3.0.0 @@ -14025,11 +14025,11 @@ snapshots: '@babel/helpers': 7.28.4 '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -14125,7 +14125,7 @@ snapshots: '@babel/helper-optimise-call-expression': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.26.0) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -14138,7 +14138,7 @@ snapshots: '@babel/helper-optimise-call-expression': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -14162,7 +14162,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -14173,7 +14173,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -14184,7 +14184,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -14209,7 +14209,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -14218,6 +14218,13 @@ snapshots: dependencies: '@babel/types': 7.24.5 + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-imports@7.25.9(supports-color@5.5.0)': dependencies: '@babel/traverse': 7.28.5(supports-color@5.5.0) @@ -14227,7 +14234,7 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -14235,9 +14242,9 @@ snapshots: '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14246,7 +14253,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14255,7 +14262,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14274,7 +14281,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14283,7 +14290,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14306,7 +14313,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14315,7 +14322,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14325,7 +14332,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -14347,7 +14354,7 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -14378,7 +14385,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14386,7 +14393,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14432,7 +14439,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14440,7 +14447,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14577,6 +14584,11 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 @@ -14587,11 +14599,6 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 @@ -14684,7 +14691,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.26.0) - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14693,7 +14700,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14775,7 +14782,7 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.26.0) - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14787,7 +14794,7 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14807,7 +14814,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14815,7 +14822,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14932,7 +14939,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -14941,7 +14948,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -15023,7 +15030,7 @@ snapshots: '@babel/helper-module-transforms': 7.28.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -15033,7 +15040,7 @@ snapshots: '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -15102,7 +15109,7 @@ snapshots: '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.26.0) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.26.0) - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -15113,7 +15120,7 @@ snapshots: '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -15271,17 +15278,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -15323,7 +15319,7 @@ snapshots: '@babel/plugin-transform-runtime@7.24.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.27.1 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.26.0) @@ -15714,11 +15710,23 @@ snapshots: '@babel/parser': 7.28.5 '@babel/template': 7.25.9 '@babel/types': 7.28.5 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) globals: 11.12.0 transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3(supports-color@10.2.2) + transitivePeerDependencies: + - supports-color + '@babel/traverse@7.28.5(supports-color@5.5.0)': dependencies: '@babel/code-frame': 7.27.1 @@ -15751,7 +15759,7 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@blueprintjs-formik/core@0.3.7(@babel/core@7.28.5)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)': + '@blueprintjs-formik/core@0.3.7(@babel/core@7.26.0)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)': dependencies: '@blueprintjs/core': 4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blueprintjs/select': 4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -15760,15 +15768,15 @@ snapshots: lodash.keyby: 4.6.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-components: 5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) web-vitals: 2.1.4 transitivePeerDependencies: - '@babel/core' - react-is - '@blueprintjs-formik/datetime@0.4.0(@babel/core@7.28.5)(@blueprintjs-formik/core@0.3.7(@babel/core@7.28.5)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime2@0.9.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime@4.4.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)': + '@blueprintjs-formik/datetime@0.4.0(@babel/core@7.26.0)(@blueprintjs-formik/core@0.3.7(@babel/core@7.26.0)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime2@0.9.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/datetime@4.4.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)': dependencies: - '@blueprintjs-formik/core': 0.3.7(@babel/core@7.28.5)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + '@blueprintjs-formik/core': 0.3.7(@babel/core@7.26.0)(@blueprintjs/core@4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@blueprintjs/select@4.9.24(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) '@blueprintjs/core': 4.20.2(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blueprintjs/datetime': 4.4.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@blueprintjs/datetime2': 0.9.37(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -15778,7 +15786,7 @@ snapshots: lodash.keyby: 4.6.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-components: 5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) web-vitals: 2.1.4 transitivePeerDependencies: - '@babel/core' @@ -15917,11 +15925,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@bull-board/nestjs@5.23.0(@bull-board/api@5.23.0(@bull-board/ui@5.23.0))(@bull-board/express@5.23.0)(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@bull-board/nestjs@5.23.0(@bull-board/api@5.23.0(@bull-board/ui@5.23.0))(@bull-board/express@5.23.0)(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: '@bull-board/api': 5.23.0(@bull-board/ui@5.23.0) '@bull-board/express': 5.23.0 - '@nestjs/bull-shared': 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + '@nestjs/bull-shared': 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) reflect-metadata: 0.2.2 @@ -16080,7 +16088,7 @@ snapshots: '@emotion/babel-plugin@11.12.0': dependencies: - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@babel/runtime': 7.24.5 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 @@ -16463,7 +16471,7 @@ snapshots: '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -16487,7 +16495,7 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) espree: 10.2.0 globals: 14.0.0 ignore: 5.3.1 @@ -16540,7 +16548,7 @@ snapshots: '@formatjs/intl-utils@2.3.0': {} - '@golevelup/nestjs-discovery@5.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)': + '@golevelup/nestjs-discovery@5.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -16945,7 +16953,7 @@ snapshots: dependencies: npmlog: 6.0.2 - '@liaoliaots/nestjs-redis@10.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(ioredis@5.6.0)': + '@liaoliaots/nestjs-redis@10.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(ioredis@5.6.0)': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -17066,45 +17074,45 @@ snapshots: pump: 3.0.0 tar-fs: 2.1.1 - '@nest-lab/throttler-storage-redis@1.1.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/throttler@6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2))(ioredis@5.6.0)(reflect-metadata@0.2.2)': + '@nest-lab/throttler-storage-redis@1.1.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/throttler@6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2))(ioredis@5.6.0)(reflect-metadata@0.2.2)': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/throttler': 6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2) + '@nestjs/throttler': 6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) ioredis: 5.6.0 reflect-metadata: 0.2.2 tslib: 2.8.1 - '@nestjs/bull-shared@10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)': + '@nestjs/bull-shared@10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) tslib: 2.8.0 - '@nestjs/bull@10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(bull@4.16.4)': + '@nestjs/bull@10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bull@4.16.4)': dependencies: - '@nestjs/bull-shared': 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + '@nestjs/bull-shared': 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) bull: 4.16.4 tslib: 2.8.0 - '@nestjs/bullmq@10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(bullmq@5.25.6)': + '@nestjs/bullmq@10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bullmq@5.25.6)': dependencies: - '@nestjs/bull-shared': 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + '@nestjs/bull-shared': 10.2.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) bullmq: 5.25.6 tslib: 2.8.0 - '@nestjs/cache-manager@2.3.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(cache-manager@6.1.3)(rxjs@7.8.1)': + '@nestjs/cache-manager@2.3.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@6.1.3)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) cache-manager: 6.1.3 rxjs: 7.8.1 - '@nestjs/cli@10.4.7': + '@nestjs/cli@10.4.7(esbuild@0.23.1)': dependencies: '@angular-devkit/core': 17.3.11(chokidar@3.6.0) '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) @@ -17114,7 +17122,7 @@ snapshots: chokidar: 3.6.0 cli-table3: 0.6.5 commander: 4.1.1 - fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.6.3)(webpack@5.96.1) + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.6.3)(webpack@5.96.1(esbuild@0.23.1)) glob: 10.4.2 inquirer: 8.2.6 node-emoji: 1.11.0 @@ -17123,7 +17131,7 @@ snapshots: tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.1.0 typescript: 5.6.3 - webpack: 5.96.1 + webpack: 5.96.1(esbuild@0.23.1) webpack-node-externals: 3.0.0 transitivePeerDependencies: - esbuild @@ -17196,7 +17204,7 @@ snapshots: transitivePeerDependencies: - encoding - '@nestjs/core@7.6.18(@nestjs/common@7.6.18(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@6.6.7))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@6.6.7)': + '@nestjs/core@7.6.18(@nestjs/common@7.6.18(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@6.6.7))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))(@nestjs/websockets@10.4.20(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-socket.io@10.4.20)(reflect-metadata@0.2.2)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@6.6.7)': dependencies: '@nestjs/common': 7.6.18(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@6.6.7) '@nuxtjs/opencollective': 0.3.2(encoding@0.1.13) @@ -17214,7 +17222,7 @@ snapshots: transitivePeerDependencies: - encoding - '@nestjs/event-emitter@2.1.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)': + '@nestjs/event-emitter@2.1.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -17263,7 +17271,7 @@ snapshots: - supports-color - utf-8-validate - '@nestjs/schedule@4.1.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)': + '@nestjs/schedule@4.1.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -17281,13 +17289,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/serve-static@5.0.3(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)': + '@nestjs/serve-static@5.0.3(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) path-to-regexp: 8.2.0 - '@nestjs/swagger@7.4.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': + '@nestjs/swagger@7.4.2(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.15.0 '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -17302,7 +17310,7 @@ snapshots: class-transformer: 0.5.1 class-validator: 0.14.1 - '@nestjs/testing@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7)': + '@nestjs/testing@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -17310,7 +17318,7 @@ snapshots: optionalDependencies: '@nestjs/platform-express': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) - '@nestjs/throttler@6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2)': + '@nestjs/throttler@6.2.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)': dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -18828,7 +18836,7 @@ snapshots: - '@types/react' - '@types/react-dom' - '@storybook/addon-styling@1.3.6(@types/react-dom@18.3.0)(@types/react@18.3.4)(encoding@0.1.13)(less@4.2.0)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.2)(typescript@5.6.3)(webpack@5.91.0)': + '@storybook/addon-styling@1.3.6(@types/react-dom@18.3.0)(@types/react@18.3.4)(encoding@0.1.13)(less@4.2.0)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.2)(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4))': dependencies: '@babel/template': 7.25.9 '@babel/types': 7.26.0 @@ -18841,19 +18849,19 @@ snapshots: '@storybook/preview-api': 7.6.20 '@storybook/theming': 7.6.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/types': 7.6.20 - css-loader: 6.11.0(webpack@5.91.0) - less-loader: 11.1.4(less@4.2.0)(webpack@5.91.0) - postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.6.3)(webpack@5.91.0) + css-loader: 6.11.0(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) + less-loader: 11.1.4(less@4.2.0)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) + postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) prettier: 2.8.8 resolve-url-loader: 5.0.0 - sass-loader: 13.3.3(sass@1.77.2)(webpack@5.91.0) - style-loader: 3.3.4(webpack@5.91.0) + sass-loader: 13.3.3(sass@1.77.2)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) + style-loader: 3.3.4(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) optionalDependencies: less: 4.2.0 postcss: 8.4.47 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - '@rspack/core' - '@types/react' @@ -19304,7 +19312,7 @@ snapshots: dependencies: '@babel/generator': 7.28.5 '@babel/parser': 7.28.5 - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 '@storybook/csf': 0.1.11 '@storybook/types': 7.2.2 @@ -19811,8 +19819,9 @@ snapshots: dependencies: '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13) - '@tiptap/extension-color@3.20.1(@tiptap/extension-text-style@2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13)))': + '@tiptap/extension-color@2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13))(@tiptap/extension-text-style@2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13)))': dependencies: + '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13) '@tiptap/extension-text-style': 2.1.13(@tiptap/core@2.1.13(@tiptap/pm@2.1.13)) '@tiptap/extension-document@2.4.0(@tiptap/core@2.1.13(@tiptap/pm@2.1.13))': @@ -20478,7 +20487,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) eslint: 8.57.0 tsutils: 3.21.0(typescript@4.9.5) optionalDependencies: @@ -20490,7 +20499,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@1.21.0))(typescript@5.6.3) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 @@ -20520,7 +20529,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -20534,7 +20543,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -20548,7 +20557,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.11.0 '@typescript-eslint/visitor-keys': 8.11.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.4 @@ -20838,19 +20847,19 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.91.0)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4))': dependencies: - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.91.0) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.91.0)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4))': dependencies: - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.91.0) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.91.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4))': dependencies: - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.91.0) '@welldone-software/why-did-you-render@6.2.3(react@18.3.1)': @@ -20969,13 +20978,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -21300,7 +21309,7 @@ snapshots: babel-plugin-emotion@10.2.2: dependencies: - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) + '@babel/helper-module-imports': 7.25.9 '@emotion/hash': 0.8.0 '@emotion/memoize': 0.7.4 '@emotion/serialize': 0.11.16 @@ -21414,14 +21423,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-styled-components@2.1.4(@babel/core@7.28.5)(styled-components@5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0): + babel-plugin-styled-components@2.1.4(@babel/core@7.26.0)(styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0): dependencies: '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.28.5) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.26.0) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) + styled-components: 5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) transitivePeerDependencies: - '@babel/core' - supports-color @@ -22302,7 +22311,7 @@ snapshots: dependencies: hyphenate-style-name: 1.0.5 - css-loader@6.11.0(webpack@5.91.0): + css-loader@6.11.0(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: icss-utils: 5.1.0(postcss@8.4.47) postcss: 8.4.47 @@ -22313,7 +22322,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) css-loader@6.11.0(webpack@5.96.1(esbuild@0.18.20)): dependencies: @@ -22549,7 +22558,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -22907,7 +22916,7 @@ snapshots: esbuild-register@3.6.0(esbuild@0.18.20): dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -23016,7 +23025,7 @@ snapshots: dependencies: eslint: 9.13.0(jiti@1.21.0) - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5))(eslint@8.57.0)(typescript@4.9.5): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.26.0))(eslint@8.57.0)(typescript@4.9.5): dependencies: '@babel/core': 7.26.0 '@babel/eslint-parser': 7.24.5(@babel/core@7.26.0)(eslint@8.57.0) @@ -23026,7 +23035,7 @@ snapshots: babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5))(eslint@8.57.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.26.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0) eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) @@ -23061,10 +23070,10 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5))(eslint@8.57.0): + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.26.0))(eslint@8.57.0): dependencies: - '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.26.0) eslint: 8.57.0 lodash: 4.17.21 string-natural-compare: 3.0.1 @@ -23338,7 +23347,7 @@ snapshots: estree-to-babel@3.2.1: dependencies: - '@babel/traverse': 7.28.5(supports-color@5.5.0) + '@babel/traverse': 7.28.5 '@babel/types': 7.28.5 c8: 7.14.0 transitivePeerDependencies: @@ -23647,7 +23656,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.91.0): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: '@babel/code-frame': 7.26.0 chalk: 4.1.2 @@ -23662,9 +23671,9 @@ snapshots: semver: 7.6.2 tapable: 2.2.1 typescript: 5.6.3 - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1(esbuild@0.23.1)): dependencies: '@babel/code-frame': 7.26.0 chalk: 4.1.2 @@ -23679,7 +23688,7 @@ snapshots: semver: 7.6.2 tapable: 2.2.1 typescript: 5.6.3 - webpack: 5.96.1 + webpack: 5.96.1(esbuild@0.23.1) form-data@4.0.0: dependencies: @@ -24152,35 +24161,35 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -24367,7 +24376,7 @@ snapshots: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) denque: 1.5.1 lodash.defaults: 4.2.0 lodash.flatten: 4.4.0 @@ -24632,7 +24641,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -25305,10 +25314,10 @@ snapshots: - encoding - supports-color - less-loader@11.1.4(less@4.2.0)(webpack@5.91.0): + less-loader@11.1.4(less@4.2.0)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: less: 4.2.0 - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) less-loader@11.1.4(less@4.2.0)(webpack@5.96.1(esbuild@0.18.20)): dependencies: @@ -25936,10 +25945,10 @@ snapshots: neo-async@2.6.2: {} - nest-commander@3.20.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@types/inquirer@8.2.12)(@types/node@20.5.1)(typescript@5.6.3): + nest-commander@3.20.1(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@types/inquirer@8.2.12)(@types/node@20.5.1)(typescript@5.6.3): dependencies: '@fig/complete-commander': 3.2.0(commander@11.1.0) - '@golevelup/nestjs-discovery': 5.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) + '@golevelup/nestjs-discovery': 5.0.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@types/inquirer': 8.2.12 @@ -25950,14 +25959,14 @@ snapshots: - '@types/node' - typescript - nestjs-cls@5.2.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1): + nestjs-cls@5.2.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)(rxjs@7.8.1): dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) reflect-metadata: 0.2.2 rxjs: 7.8.1 - nestjs-i18n@10.5.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(class-validator@0.14.1)(rxjs@7.8.1): + nestjs-i18n@10.5.0(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-validator@0.14.1)(rxjs@7.8.1): dependencies: '@nestjs/common': 10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -25970,10 +25979,10 @@ snapshots: rxjs: 7.8.1 string-format: 2.0.0 - nestjs-redis@1.3.3(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(encoding@0.1.13): + nestjs-redis@1.3.3(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))(@nestjs/websockets@10.4.20(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-socket.io@10.4.20)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(encoding@0.1.13): dependencies: '@nestjs/common': 7.6.18(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@6.6.7) - '@nestjs/core': 7.6.18(@nestjs/common@7.6.18(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@6.6.7))(@nestjs/platform-express@10.4.7)(@nestjs/websockets@10.4.20)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@6.6.7) + '@nestjs/core': 7.6.18(@nestjs/common@7.6.18(cache-manager@6.1.3)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@6.6.7))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))(@nestjs/websockets@10.4.20(@nestjs/common@10.4.7(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-socket.io@10.4.20)(reflect-metadata@0.2.2)(rxjs@7.8.1))(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@6.6.7) '@types/ioredis': 5.0.0 '@types/uuid': 10.0.0 ioredis: 4.29.1 @@ -26728,6 +26737,14 @@ snapshots: postcss: 8.4.47 ts-node: 10.9.2(@types/node@20.19.25)(typescript@5.6.3) + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + dependencies: + lilconfig: 3.1.1 + yaml: 2.4.2 + optionalDependencies: + postcss: 8.4.47 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) + postcss-load-config@6.0.1(jiti@1.21.0)(postcss@8.4.47)(yaml@2.4.2): dependencies: lilconfig: 3.1.1 @@ -26736,13 +26753,13 @@ snapshots: postcss: 8.4.47 yaml: 2.4.2 - postcss-loader@7.3.4(postcss@8.4.47)(typescript@5.6.3)(webpack@5.91.0): + postcss-loader@7.3.4(postcss@8.4.47)(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: cosmiconfig: 8.3.6(typescript@5.6.3) jiti: 1.21.0 postcss: 8.4.47 semver: 7.6.3 - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - typescript @@ -27096,7 +27113,7 @@ snapshots: puppeteer-core@2.1.1: dependencies: '@types/mime-types': 2.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -27962,10 +27979,10 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@13.3.3(sass@1.77.2)(webpack@5.91.0): + sass-loader@13.3.3(sass@1.77.2)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: neo-async: 2.6.2 - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) optionalDependencies: sass: 1.77.2 @@ -28229,7 +28246,7 @@ snapshots: socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -28237,7 +28254,7 @@ snapshots: socks-proxy-agent@8.0.3: dependencies: agent-base: 7.1.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -28491,22 +28508,22 @@ snapshots: loader-utils: 1.4.2 schema-utils: 1.0.0 - style-loader@3.3.4(webpack@5.91.0): + style-loader@3.3.4(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) style-loader@3.3.4(webpack@5.96.1(esbuild@0.18.20)): dependencies: webpack: 5.96.1(esbuild@0.18.20) - styled-components@5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): + styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1): dependencies: '@babel/helper-module-imports': 7.24.3 '@babel/traverse': 7.24.5(supports-color@5.5.0) '@emotion/is-prop-valid': 1.2.2 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.28.5)(styled-components@5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0) + babel-plugin-styled-components: 2.1.4(@babel/core@7.26.0)(styled-components@5.3.11(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1))(supports-color@5.5.0) css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 react: 18.3.1 @@ -28555,7 +28572,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 3.5.2 @@ -28630,6 +28647,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.14(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.7 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + postcss-nested: 6.0.1(postcss@8.4.47) + postcss-selector-parser: 6.1.0 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@2.2.1: {} tar-fs@2.1.1: @@ -28678,6 +28722,17 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 + terser-webpack-plugin@5.3.10(esbuild@0.18.20)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.31.0 + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) + optionalDependencies: + esbuild: 0.18.20 + terser-webpack-plugin@5.3.10(esbuild@0.18.20)(webpack@5.96.1(esbuild@0.18.20)): dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -28700,24 +28755,6 @@ snapshots: optionalDependencies: esbuild: 0.23.1 - terser-webpack-plugin@5.3.10(webpack@5.91.0): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.0 - webpack: 5.91.0(webpack-cli@5.1.4) - - terser-webpack-plugin@5.3.10(webpack@5.96.1): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.0 - webpack: 5.96.1 - terser@5.31.0: dependencies: '@jridgewell/source-map': 0.3.6 @@ -28843,7 +28880,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest@29.7.0(@types/node@20.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.23.1)(jest@29.7.0(@types/node@20.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -28861,8 +28898,9 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.28.5) + esbuild: 0.23.1 - ts-loader@9.5.1(typescript@5.6.3)(webpack@5.91.0): + ts-loader@9.5.1(typescript@5.6.3)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -28870,9 +28908,9 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 5.6.3 - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) - ts-loader@9.5.1(typescript@5.6.3)(webpack@5.96.1): + ts-loader@9.5.1(typescript@5.6.3)(webpack@5.96.1(esbuild@0.23.1)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -28880,7 +28918,7 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 5.6.3 - webpack: 5.96.1 + webpack: 5.96.1(esbuild@0.23.1) ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3): dependencies: @@ -28958,34 +28996,6 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.0(@microsoft/api-extractor@7.47.11(@types/node@20.19.25))(jiti@1.21.0)(postcss@8.4.47)(typescript@5.6.3)(yaml@2.4.2): - dependencies: - bundle-require: 5.0.0(esbuild@0.23.1) - cac: 6.7.14 - chokidar: 3.6.0 - consola: 3.2.3 - debug: 4.3.7(supports-color@5.5.0) - esbuild: 0.23.1 - execa: 5.1.1 - joycon: 3.1.1 - picocolors: 1.0.1 - postcss-load-config: 6.0.1(jiti@1.21.0)(postcss@8.4.47)(yaml@2.4.2) - resolve-from: 5.0.0 - rollup: 4.24.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyglobby: 0.2.9 - tree-kill: 1.2.2 - optionalDependencies: - '@microsoft/api-extractor': 7.47.11(@types/node@20.19.25) - postcss: 8.4.47 - typescript: 5.6.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - tsup@8.3.0(@microsoft/api-extractor@7.47.11(@types/node@20.5.1))(jiti@1.21.0)(postcss@8.4.47)(typescript@5.6.3)(yaml@2.4.2): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) @@ -29027,7 +29037,7 @@ snapshots: tuf-js@1.1.7: dependencies: '@tufjs/models': 1.0.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) make-fetch-happen: 11.1.1 transitivePeerDependencies: - supports-color @@ -29035,7 +29045,7 @@ snapshots: tuf-js@2.2.1: dependencies: '@tufjs/models': 2.0.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -29320,7 +29330,7 @@ snapshots: vite-node@2.1.3(@types/node@20.19.25)(less@4.2.0)(sass@1.77.2)(terser@5.31.0): dependencies: cac: 6.7.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@10.2.2) pathe: 1.1.2 vite: 5.4.10(@types/node@20.19.25)(less@4.2.0)(sass@1.77.2)(terser@5.31.0) transitivePeerDependencies: @@ -29433,9 +29443,9 @@ snapshots: webpack-cli@5.1.4(webpack@5.91.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.91.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.91.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.91.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -29444,7 +29454,7 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.91.0(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-merge: 5.10.0 webpack-merge@5.10.0: @@ -29459,7 +29469,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.91.0(webpack-cli@5.1.4): + webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -29482,7 +29492,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.91.0(esbuild@0.18.20)(webpack-cli@5.1.4)) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: @@ -29492,36 +29502,6 @@ snapshots: - esbuild - uglify-js - webpack@5.96.1: - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.14.0 - browserslist: 4.24.2 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.96.1) - watchpack: 2.4.1 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - webpack@5.96.1(esbuild@0.18.20): dependencies: '@types/eslint-scope': 3.7.7 diff --git a/shared/sdk-ts/openapi.json b/shared/sdk-ts/openapi.json index 61839ed73..9b679b32f 100644 --- a/shared/sdk-ts/openapi.json +++ b/shared/sdk-ts/openapi.json @@ -5087,6 +5087,11 @@ "schema": { "$ref": "#/components/schemas/PaymentReceivedResponseDto" } + }, + "application/json+html": { + "schema": { + "$ref": "#/components/schemas/PaymentReceivedHtmlContentResponseDto" + } } } } @@ -8275,6 +8280,11 @@ "schema": { "$ref": "#/components/schemas/SaleEstimateResponseDto" } + }, + "application/json+html": { + "schema": { + "$ref": "#/components/schemas/SaleEstimateHtmlContentResponseDto" + } } } } @@ -26889,6 +26899,19 @@ "active" ] }, + "PaymentReceivedHtmlContentResponseDto": { + "type": "object", + "properties": { + "htmlContent": { + "type": "string", + "description": "The HTML content of the payment received", + "example": "..." + } + }, + "required": [ + "htmlContent" + ] + }, "PaymentReceivedStateResponseDto": { "type": "object", "properties": { @@ -29590,6 +29613,19 @@ "ids" ] }, + "SaleEstimateHtmlContentResponseDto": { + "type": "object", + "properties": { + "htmlContent": { + "type": "string", + "description": "The HTML content of the estimate", + "example": "..." + } + }, + "required": [ + "htmlContent" + ] + }, "SaleEstiamteStateResponseDto": { "type": "object", "properties": { diff --git a/shared/sdk-ts/src/fetch-utils.ts b/shared/sdk-ts/src/fetch-utils.ts index a9fdb2284..8addc6d4b 100644 --- a/shared/sdk-ts/src/fetch-utils.ts +++ b/shared/sdk-ts/src/fetch-utils.ts @@ -19,11 +19,16 @@ export interface CreateApiFetcherConfig { * Set disableCamelCaseTransform: true to disable this behavior. */ export function createApiFetcher(config?: CreateApiFetcherConfig): ApiFetcher { + const parsedConfig = { + baseUrl: '', + disableCamelCaseTransform: true, + ...config, + }; const fetcher = Fetcher.for(); fetcher.configure({ - baseUrl: config?.baseUrl ?? '', - init: config?.init, - use: config?.disableCamelCaseTransform ? [] : [createCamelCaseMiddleware()], + baseUrl: parsedConfig.baseUrl, + init: parsedConfig?.init, + use: parsedConfig.disableCamelCaseTransform ? [] : [createCamelCaseMiddleware()], }); return fetcher; } @@ -43,7 +48,8 @@ export async function rawRequest( fetcher: ApiFetcher, method: string, path: string, - body?: Record + body?: Record, + headers?: Record ): Promise { // Access the fetcher's internal configuration const fetcherConfig = (fetcher as unknown as { config?: { baseUrl: string; init?: RequestInit } }).config; @@ -51,19 +57,20 @@ export async function rawRequest( const init = fetcherConfig?.init ?? {}; const url = `${baseUrl}${path}`; - const headers: Record = { + const mergedHeaders: Record = { 'Accept': 'application/json', ...(init.headers as Record || {}), + ...(headers || {}), }; const requestInit: RequestInit = { ...init, method, - headers, + headers: mergedHeaders, }; if (body && (method === 'POST' || method === 'PUT' || method === 'PATCH')) { - headers['Content-Type'] = 'application/json'; + mergedHeaders['Content-Type'] = 'application/json'; requestInit.body = JSON.stringify(body); } diff --git a/shared/sdk-ts/src/payment-receives.ts b/shared/sdk-ts/src/payment-receives.ts index 1664d6979..50226f60f 100644 --- a/shared/sdk-ts/src/payment-receives.ts +++ b/shared/sdk-ts/src/payment-receives.ts @@ -1,4 +1,5 @@ import type { ApiFetcher } from './fetch-utils'; +import { rawRequest } from './fetch-utils'; import { paths } from './schema'; import { OpForPath, OpRequestBody, OpResponseBody } from './utils'; @@ -16,6 +17,8 @@ export type PaymentsReceivedListResponse = OpResponseBody>; export type CreatePaymentReceivedBody = OpRequestBody>; export type EditPaymentReceivedBody = OpRequestBody>; +export type PaymentReceivedStateResponse = OpResponseBody>; +export type PaymentReceivedHtmlContentResponse = { htmlContent: string }; export async function fetchPaymentsReceived(fetcher: ApiFetcher): Promise { const get = fetcher.path(PAYMENTS_RECEIVED_ROUTES.LIST).method('get').create(); @@ -104,8 +107,23 @@ export async function sendPaymentReceiveMail( return data; } -export async function fetchPaymentReceivedState(fetcher: ApiFetcher): Promise { +export async function fetchPaymentReceivedState( + fetcher: ApiFetcher, +): Promise { const get = fetcher.path(PAYMENTS_RECEIVED_ROUTES.STATE).method('get').create(); const { data } = await get({}); - return data; + return data as PaymentReceivedStateResponse; +} + +export async function fetchPaymentReceiveHtmlContent( + fetcher: ApiFetcher, + id: number +): Promise { + return rawRequest( + fetcher, + 'GET', + `/api/payments-received/${id}`, + undefined, + { Accept: 'application/json+html' } + ); } diff --git a/shared/sdk-ts/src/sale-estimates.ts b/shared/sdk-ts/src/sale-estimates.ts index 7e34b017f..c42942842 100644 --- a/shared/sdk-ts/src/sale-estimates.ts +++ b/shared/sdk-ts/src/sale-estimates.ts @@ -1,4 +1,5 @@ import type { ApiFetcher } from './fetch-utils'; +import { rawRequest } from './fetch-utils'; import { paths } from './schema'; import { OpForPath, OpQueryParams, OpRequestBody, OpResponseBody } from './utils'; @@ -21,6 +22,7 @@ export type SaleEstimate = OpResponseBody>; export type EditSaleEstimateBody = OpRequestBody>; export type GetSaleEstimatesQuery = OpQueryParams>; +export type SaleEstimateHtmlContentResponse = { htmlContent: string }; export async function fetchSaleEstimates( fetcher: ApiFetcher, @@ -137,3 +139,16 @@ export async function fetchSaleEstimatesState(fetcher: ApiFetcher): Promise { + return rawRequest( + fetcher, + 'GET', + `/api/sale-estimates/${id}`, + undefined, + { Accept: 'application/json+html' } + ); +} diff --git a/shared/sdk-ts/src/sale-invoices.ts b/shared/sdk-ts/src/sale-invoices.ts index d29c5f04e..2f25a5988 100644 --- a/shared/sdk-ts/src/sale-invoices.ts +++ b/shared/sdk-ts/src/sale-invoices.ts @@ -26,6 +26,7 @@ export type BulkDeleteSaleInvoicesBody = OpRequestBody>; export type SaleInvoiceStateResponse = OpResponseBody>; export type GetSaleInvoicesQuery = OpQueryParams>; +export type SaleInvoiceHtmlContentResponse = OpResponseBody>; export async function fetchSaleInvoices( fetcher: ApiFetcher, @@ -151,10 +152,10 @@ export async function fetchInvoicePayments( export async function fetchSaleInvoiceHtml( fetcher: ApiFetcher, id: number -): Promise<{ htmlContent: string }> { +): Promise { const get = fetcher.path(SALE_INVOICES_ROUTES.HTML).method('get').create(); - const { data } = await (get as (params: { id: number }) => Promise<{ data: { htmlContent: string } }>)({ id }); - return data as { htmlContent: string }; + const { data } = await get({ id }); + return data; } export async function generateSaleInvoiceSharableLink( diff --git a/shared/sdk-ts/src/sale-receipts.ts b/shared/sdk-ts/src/sale-receipts.ts index c8cf861a0..bff7c916a 100644 --- a/shared/sdk-ts/src/sale-receipts.ts +++ b/shared/sdk-ts/src/sale-receipts.ts @@ -1,4 +1,5 @@ import type { ApiFetcher } from './fetch-utils'; +import { rawRequest } from './fetch-utils'; import { paths } from './schema'; import { OpForPath, OpQueryParams, OpRequestBody, OpResponseBody } from './utils'; @@ -20,6 +21,11 @@ export type BulkDeleteReceiptsBody = OpRequestBody>; export type SaleReceiptStateResponse = OpResponseBody>; export type GetSaleReceiptsQuery = OpQueryParams>; +export type SaleReceiptMailResponse = OpResponseBody>; +export type SaleReceiptSendMailBody = OpRequestBody>; +export type SaleReceiptHtmlContentResponse = { + htmlContent: string; +}; export async function fetchSaleReceipts( fetcher: ApiFetcher, @@ -85,16 +91,16 @@ export async function closeSaleReceipt(fetcher: ApiFetcher, id: number): Promise export async function fetchSaleReceiptMail( fetcher: ApiFetcher, id: number -): Promise { +): Promise { const get = fetcher.path(SALE_RECEIPTS_ROUTES.MAIL).method('get').create(); const { data } = await get({ id }); - return data; + return data as SaleReceiptMailResponse; } export async function sendSaleReceiptMail( fetcher: ApiFetcher, id: number, - body?: Record + body?: SaleReceiptSendMailBody ): Promise { const post = fetcher.path(SALE_RECEIPTS_ROUTES.MAIL).method('post').create(); await post({ id, ...(body ?? {}) } as never); @@ -107,3 +113,16 @@ export async function fetchSaleReceiptState( const { data } = await (get as (params?: object) => Promise<{ data: SaleReceiptStateResponse }>)({}); return data; } + +export async function fetchSaleReceiptHtmlContent( + fetcher: ApiFetcher, + id: number +): Promise { + return rawRequest( + fetcher, + 'GET', + `/api/sale-receipts/${id}`, + undefined, + { Accept: 'application/json+html' } + ); +} diff --git a/shared/sdk-ts/src/schema.ts b/shared/sdk-ts/src/schema.ts index 6419cb88c..633609642 100644 --- a/shared/sdk-ts/src/schema.ts +++ b/shared/sdk-ts/src/schema.ts @@ -6886,6 +6886,13 @@ export interface components { */ active: boolean; }; + PaymentReceivedHtmlContentResponseDto: { + /** + * @description The HTML content of the payment received + * @example ... + */ + htmlContent: string; + }; PaymentReceivedStateResponseDto: { /** * @description The ID of the default PDF template for payment received @@ -8631,6 +8638,13 @@ export interface components { */ skipUndeletable: boolean; }; + SaleEstimateHtmlContentResponseDto: { + /** + * @description The HTML content of the estimate + * @example ... + */ + htmlContent: string; + }; SaleEstiamteStateResponseDto: { /** * @description The ID of the default PDF template for sale estimates @@ -17169,6 +17183,7 @@ export interface operations { }; content: { "application/json": components["schemas"]["PaymentReceivedResponseDto"]; + "application/json+html": components["schemas"]["PaymentReceivedHtmlContentResponseDto"]; }; }; }; @@ -18906,6 +18921,7 @@ export interface operations { }; content: { "application/json": components["schemas"]["SaleEstimateResponseDto"]; + "application/json+html": components["schemas"]["SaleEstimateHtmlContentResponseDto"]; }; }; };