diff --git a/apps/backend-serverless/.npmrc b/apps/backend-serverless/.npmrc new file mode 100644 index 00000000..0c468b6e --- /dev/null +++ b/apps/backend-serverless/.npmrc @@ -0,0 +1,2 @@ +node-linker=hoisted +shared-workspace-lockfile=false diff --git a/apps/backend-serverless/package.json b/apps/backend-serverless/package.json index 2d1225b0..31be3a38 100755 --- a/apps/backend-serverless/package.json +++ b/apps/backend-serverless/package.json @@ -4,11 +4,6 @@ "private": true, "description": "", "main": "handler.js", - "workspaces": { - "nohoist": [ - "**" - ] - }, "type": "module", "prisma": { "seed": "tsx prisma/seed.ts" diff --git a/apps/backend-serverless/serverless.green.yml b/apps/backend-serverless/serverless.green.yml index abea9544..612223f6 100755 --- a/apps/backend-serverless/serverless.green.yml +++ b/apps/backend-serverless/serverless.green.yml @@ -66,6 +66,8 @@ plugins: - serverless-step-functions - serverless-iam-roles-per-function - serverless-offline + - serverless-plugin-common-excludes + - serverless-plugin-include-dependencies custom: serverless-offline: diff --git a/apps/backend-serverless/serverless.purple.yml b/apps/backend-serverless/serverless.purple.yml index a43198d9..13f99575 100644 --- a/apps/backend-serverless/serverless.purple.yml +++ b/apps/backend-serverless/serverless.purple.yml @@ -55,9 +55,8 @@ provider: # USE_AUTH_MOCK: ${env:USE_AUTH_MOCK} package: - excludeDevDependencies: true patterns: - - 'node_modules/.prisma/**' + - node_modules/** functions: install: handler: src/handlers/shopify-handlers/install.install @@ -471,7 +470,8 @@ plugins: - serverless-step-functions - serverless-iam-roles-per-function - serverless-offline - + - serverless-plugin-common-excludes + - serverless-plugin-include-dependencies custom: serverless-offline: httpPort: 4000 diff --git a/apps/backend-serverless/src/handlers/shopify-handlers/install.ts b/apps/backend-serverless/src/handlers/shopify-handlers/install.ts index e79bc636..5b15d3bd 100755 --- a/apps/backend-serverless/src/handlers/shopify-handlers/install.ts +++ b/apps/backend-serverless/src/handlers/shopify-handlers/install.ts @@ -65,5 +65,5 @@ export const install = Sentry.AWSLambda.wrapHandler( }, { rethrowAfterCapture: false, - }, + } ); diff --git a/apps/backend-serverless/src/handlers/shopify-handlers/redirect.ts b/apps/backend-serverless/src/handlers/shopify-handlers/redirect.ts index 6e8883aa..bc395dea 100755 --- a/apps/backend-serverless/src/handlers/shopify-handlers/redirect.ts +++ b/apps/backend-serverless/src/handlers/shopify-handlers/redirect.ts @@ -99,5 +99,5 @@ export const redirect = Sentry.AWSLambda.wrapHandler( }, { rethrowAfterCapture: false, - }, + } ); diff --git a/apps/backend-serverless/src/handlers/transactions/payment-transaction.ts b/apps/backend-serverless/src/handlers/transactions/payment-transaction.ts index d3815d35..677de711 100644 --- a/apps/backend-serverless/src/handlers/transactions/payment-transaction.ts +++ b/apps/backend-serverless/src/handlers/transactions/payment-transaction.ts @@ -10,21 +10,14 @@ import * as Sentry from '@sentry/serverless'; import * as web3 from '@solana/web3.js'; import { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from 'aws-lambda'; import axios from 'axios'; +import { DatabaseAccessError } from '../../errors/database-access.error.js'; import { DependencyError } from '../../errors/dependency.error.js'; import { InvalidInputError } from '../../errors/invalid-input.error.js'; import { MissingEnvError } from '../../errors/missing-env.error.js'; -import { MissingExpectedDatabaseRecordError } from '../../errors/missing-expected-database-record.error.js'; import { RiskyWalletError } from '../../errors/risky-wallet.error.js'; import { PaymentSessionStateRejectedReason } from '../../models/shopify-graphql-responses/shared.model.js'; -import { - PaymentRequestParameters, - parseAndValidatePaymentRequest, -} from '../../models/transaction-requests/payment-request-parameters.model.js'; -import { - TransactionRequestBody, - parseAndValidateTransactionRequestBody, -} from '../../models/transaction-requests/transaction-request-body.model.js'; -import { TransactionRequestResponse } from '../../models/transaction-requests/transaction-request-response.model.js'; +import { parseAndValidatePaymentRequest } from '../../models/transaction-requests/payment-request-parameters.model.js'; +import { parseAndValidateTransactionRequestBody } from '../../models/transaction-requests/transaction-request-body.model.js'; import { MerchantService } from '../../services/database/merchant-service.database.service.js'; import { PaymentRecordService } from '../../services/database/payment-record-service.database.service.js'; import { TransactionRecordService } from '../../services/database/transaction-record-service.database.service.js'; @@ -66,10 +59,6 @@ export const paymentTransaction = Sentry.AWSLambda.wrapHandler( }, }); - let paymentTransaction: TransactionRequestResponse; - let paymentRequest: PaymentRequestParameters; - let transaction: web3.Transaction; - const transactionRecordService = new TransactionRecordService(prisma); const paymentRecordService = new PaymentRecordService(prisma); const merchantService = new MerchantService(prisma); @@ -78,109 +67,57 @@ export const paymentTransaction = Sentry.AWSLambda.wrapHandler( if (event.body == null) { return createErrorResponse(new InvalidInputError('request body')); } + const websocketUrl = process.env.WEBSOCKET_URL; - let transactionRequestBody: TransactionRequestBody; - - try { - transactionRequestBody = parseAndValidateTransactionRequestBody(JSON.parse(event.body)); - } catch (error) { - return createErrorResponse(error); - } - const account = transactionRequestBody.account; - - if (account == null) { - return createErrorResponse(new InvalidInputError('missing account in body')); + if (websocketUrl == null) { + return createErrorResponse(new MissingEnvError('websocket url')); } - if (account != null) { - try { - new web3.PublicKey(account); - } catch (error) { - return createErrorResponse(new InvalidInputError('invalid account in body. needs to be a pubkey')); - } - } + let paymentRecord: PaymentRecord; + let account: string; + let merchant: Merchant; + let websocketService; + let gasKeypair: web3.Keypair; + let singleUseKeypair: web3.Keypair; try { - paymentRequest = parseAndValidatePaymentRequest(event.queryStringParameters); - } catch (error) { - return createErrorResponse(error); - } + let transactionRequestBody = parseAndValidateTransactionRequestBody(JSON.parse(event.body)); + account = transactionRequestBody.account; - let gasKeypair: web3.Keypair; + if (account == null) { + throw new InvalidInputError('missing account in body'); + } else { + try { + new web3.PublicKey(account); + } catch (error) { + throw new InvalidInputError('invalid account in body. needs to be a pubkey'); + } + } - let paymentRecord: PaymentRecord | null; + let paymentRequest = parseAndValidatePaymentRequest(event.queryStringParameters); - try { paymentRecord = await paymentRecordService.getPaymentRecord({ id: paymentRequest.paymentId, }); - } catch (error) { - return createErrorResponse(error); - } - - const websocketUrl = process.env.WEBSOCKET_URL; - - if (websocketUrl == null) { - return createErrorResponse(new MissingEnvError('websocket url')); - } - - const websocketService = new WebSocketService( - websocketUrl, - { - paymentRecordId: paymentRecord.id, - }, - websocketSessionService, - ); - - await websocketService.sendTransacationRequestStartedMessage(); - - await sendSolanaPayInfoMessage(account, paymentRecord.id); - - try { - gasKeypair = await fetchGasKeypair(); - } catch (error) { - await websocketService.sendTransactionRequestFailedMessage(); - return createErrorResponse(error); - } - - let merchant: Merchant | null; - - try { merchant = await merchantService.getMerchant({ id: paymentRecord.merchantId, }); - } catch (error) { - await websocketService.sendTransactionRequestFailedMessage(); - return createErrorResponse(error); - } - if (merchant.accessToken == null) { - await websocketService.sendTransactionRequestFailedMessage(); - return createErrorResponse(new MissingExpectedDatabaseRecordError('merchant access token')); - } - - const singleUseKeypair = await generateSingleUseKeypairFromRecord(paymentRecord); - - try { - await uploadSingleUseKeypair(singleUseKeypair, paymentRecord); - } catch (error) { - Sentry.captureException(error); - // CRITIAL: This should work, but losing the rent here isn't the end of the world but we want to know - } + if (merchant.accessToken == null) { + throw new DatabaseAccessError('missing access token'); + } - try { - paymentTransaction = await fetchPaymentTransaction( - paymentRecord, - merchant, - account, - gasKeypair.publicKey.toBase58(), - singleUseKeypair.publicKey.toBase58(), - gasKeypair.publicKey.toBase58(), - axios, + websocketService = new WebSocketService( + websocketUrl, + { + paymentRecordId: paymentRecord.id, + }, + websocketSessionService, ); + + await websocketService.sendTransacationRequestStartedMessage(); + await sendSolanaPayInfoMessage(account, paymentRecord.id); } catch (error) { - console.log('failed fetching payment transaction, prob lol'); - await websocketService.sendTransactionRequestFailedMessage(); return createErrorResponse(error); } @@ -245,60 +182,57 @@ export const paymentTransaction = Sentry.AWSLambda.wrapHandler( } try { - transaction = encodeTransaction(paymentTransaction.transaction); - } catch (error) { - await websocketService.sendTransactionRequestFailedMessage(); - return createErrorResponse(error); - } + singleUseKeypair = await generateSingleUseKeypairFromRecord(paymentRecord); + try { + await uploadSingleUseKeypair(singleUseKeypair, paymentRecord); + } catch (error) { + Sentry.captureException(error); + } + gasKeypair = await fetchGasKeypair(); - transaction.partialSign(gasKeypair); - // transaction.partialSign(singleUseKeypair); + let paymentTransaction = await fetchPaymentTransaction( + paymentRecord, + merchant, + account, + gasKeypair.publicKey.toBase58(), + singleUseKeypair.publicKey.toBase58(), + gasKeypair.publicKey.toBase58(), + axios, + ); - try { + let transaction = encodeTransaction(paymentTransaction.transaction); + transaction.partialSign(gasKeypair); verifyTransactionWithRecord(paymentRecord, transaction, true); - } catch (error) { - console.log(error); - return createErrorResponse(error); - } - - const transactionSignature = transaction.signature; - if (transactionSignature == null) { - await websocketService.sendTransactionRequestFailedMessage(); - return createErrorResponse(new DependencyError('transaction signature')); - } - - const signatureBuffer = transactionSignature; - - const signatureString = encodeBufferToBase58(signatureBuffer); + const transactionSignature = transaction.signature; + if (transactionSignature == null) { + throw new DependencyError('transaction signature'); + } - try { await transactionRecordService.createTransactionRecord( - signatureString, + encodeBufferToBase58(transactionSignature), TransactionType.payment, paymentRecord.id, null, ); + const transactionBuffer = transaction.serialize({ + verifySignatures: false, + requireAllSignatures: false, + }); + + await websocketService.sendTransactionDeliveredMessage(); + + return { + statusCode: 200, + body: JSON.stringify({ + transaction: transactionBuffer.toString('base64'), + message: `Paying ${merchant.name} ${paymentRecord.usdcAmount.toFixed(6)} USDC`, + }), + }; } catch (error) { await websocketService.sendTransactionRequestFailedMessage(); return createErrorResponse(error); } - - const transactionBuffer = transaction.serialize({ - verifySignatures: false, - requireAllSignatures: false, - }); - const transactionString = transactionBuffer.toString('base64'); - - await websocketService.sendTransactionDeliveredMessage(); - - return { - statusCode: 200, - body: JSON.stringify({ - transaction: transactionString, - message: `Paying ${merchant.name} ${paymentRecord.usdcAmount.toFixed(6)} USDC`, - }), - }; }, { captureTimeoutWarning: false, diff --git a/apps/backend-serverless/src/handlers/transactions/refund-transaction.ts b/apps/backend-serverless/src/handlers/transactions/refund-transaction.ts index 47475caa..bd9dc196 100644 --- a/apps/backend-serverless/src/handlers/transactions/refund-transaction.ts +++ b/apps/backend-serverless/src/handlers/transactions/refund-transaction.ts @@ -5,16 +5,11 @@ import { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from 'aws-lambda'; import axios from 'axios'; import { DependencyError } from '../../errors/dependency.error.js'; import { InvalidInputError } from '../../errors/invalid-input.error.js'; -import { MissingExpectedDatabaseRecordError } from '../../errors/missing-expected-database-record.error.js'; import { RefundTransactionRequest, parseAndValidateRefundTransactionRequest, } from '../../models/transaction-requests/refund-transaction-request.model.js'; -import { - TransactionRequestBody, - parseAndValidateTransactionRequestBody, -} from '../../models/transaction-requests/transaction-request-body.model.js'; -import { TransactionRequestResponse } from '../../models/transaction-requests/transaction-request-response.model.js'; +import { parseAndValidateTransactionRequestBody } from '../../models/transaction-requests/transaction-request-body.model.js'; import { MerchantService } from '../../services/database/merchant-service.database.service.js'; import { RefundRecordService } from '../../services/database/refund-record-service.database.service.js'; import { TransactionRecordService } from '../../services/database/transaction-record-service.database.service.js'; @@ -42,10 +37,11 @@ export const refundTransaction = Sentry.AWSLambda.wrapHandler( Sentry.captureEvent({ message: 'in refund-transaction', level: 'info', + extra: { + event, + }, }); let refundRequest: RefundTransactionRequest; - let refundTransaction: TransactionRequestResponse; - let transaction: web3.Transaction; const transactionRecordService = new TransactionRecordService(prisma); const refundRecordService = new RefundRecordService(prisma); @@ -57,70 +53,32 @@ export const refundTransaction = Sentry.AWSLambda.wrapHandler( return createErrorResponse(new InvalidInputError('request body')); } - const body = JSON.parse(event.body); - - let transactionRequestBody: TransactionRequestBody; - - try { - transactionRequestBody = parseAndValidateTransactionRequestBody(JSON.parse(event.body)); - } catch (error) { - return createErrorResponse(error); - } - const account = transactionRequestBody.account; - - if (account == null) { - return createErrorResponse(new InvalidInputError('account is missing from body')); - } - - try { - new web3.PublicKey(account); - } catch (error) { - return createErrorResponse(new InvalidInputError('account is not a valid public key')); - } - - try { - refundRequest = parseAndValidateRefundTransactionRequest(event.queryStringParameters); - } catch (error) { - return createErrorResponse(error); - } - + let account: string; let gasKeypair: web3.Keypair; + let refundRecord: RefundRecord; + let paymentRecord: PaymentRecord; + let merchant: Merchant | null; try { - gasKeypair = await fetchGasKeypair(); - } catch (error) { - return createErrorResponse(error); - } + let transactionRequestBody = parseAndValidateTransactionRequestBody(JSON.parse(event.body)); + account = transactionRequestBody.account; + + if (account == null) { + throw new InvalidInputError('missing account in body'); + } else { + try { + new web3.PublicKey(account); + } catch (error) { + throw new InvalidInputError('invalid account in body. needs to be a pubkey'); + } + } - let refundRecord: RefundRecord | null; + refundRequest = parseAndValidateRefundTransactionRequest(event.queryStringParameters); - try { refundRecord = await refundRecordService.getRefundRecord({ shopId: refundRequest.refundId, }); - } catch (error) { - return createErrorResponse(error); - } - - if (refundRecord == null) { - return createErrorResponse(new MissingExpectedDatabaseRecordError('refund record')); - } - - let paymentRecord: PaymentRecord | null; - - try { paymentRecord = await refundRecordService.getPaymentRecordForRefund({ id: refundRecord.id }); - } catch (error) { - return createErrorResponse(error); - } - - if (paymentRecord == null) { - return createErrorResponse(new MissingExpectedDatabaseRecordError('payment record')); - } - - let merchant: Merchant | null; - - try { merchant = await merchantService.getMerchant({ id: refundRecord.merchantId, }); @@ -128,14 +86,22 @@ export const refundTransaction = Sentry.AWSLambda.wrapHandler( return createErrorResponse(error); } - if (merchant == null) { - return createErrorResponse(new MissingExpectedDatabaseRecordError('merchant')); + // We're gonna return bad for transactions here but we should probably just log it and handle this with the merchant in the backend + if (refundRecord.test == false) { + try { + await trmService.screenAddress(account); + } catch (error) { + return createErrorResponse( + new InvalidInputError('Bad address for merchant: ' + merchant.id + ' ' + account), + ); + } } - const singleUseKeypair = await generateSingleUseKeypairFromRecord(refundRecord); - try { - refundTransaction = await fetchRefundTransaction( + const singleUseKeypair = await generateSingleUseKeypairFromRecord(refundRecord); + gasKeypair = await fetchGasKeypair(); + + let refundTransaction = await fetchRefundTransaction( refundRecord, paymentRecord, account, @@ -144,73 +110,61 @@ export const refundTransaction = Sentry.AWSLambda.wrapHandler( gasKeypair.publicKey.toBase58(), axios, ); - } catch (error) { - return createErrorResponse(error); - } - try { - transaction = encodeTransaction(refundTransaction.transaction); - } catch (error) { - return createErrorResponse(error); - } - - transaction.partialSign(gasKeypair); - - const transactionSignature = transaction.signature; - - if (transactionSignature == null) { - return createErrorResponse(new DependencyError('transaction signature null')); - } + Sentry.captureEvent({ + message: 'fetched refund', + level: 'info', + }); - try { + let transaction = encodeTransaction(refundTransaction.transaction); + transaction.partialSign(gasKeypair); verifyTransactionWithRecord(refundRecord, transaction, true); - } catch (error) { - return createErrorResponse(error); - } - - const signatureBuffer = transactionSignature; - - const signatureString = encodeBufferToBase58(signatureBuffer); - // We're gonna return bad for transactions here but we should probably just log it and handle this with the merchant in the backend - if (refundRecord.test == false) { - try { - await trmService.screenAddress(account); - } catch (error) { - return createErrorResponse( - new InvalidInputError('Bad address for merchant: ' + merchant.id + ' ' + account), - ); + const transactionSignature = transaction.signature; + if (transactionSignature == null) { + throw new DependencyError('transaction signature null'); } - } - try { + Sentry.captureEvent({ + message: 'in refund-transaction verify tx w record', + level: 'info', + }); await transactionRecordService.createTransactionRecord( - signatureString, + encodeBufferToBase58(transactionSignature), TransactionType.refund, null, refundRecord.id, ); - } catch (error) { - return createErrorResponse(error); - } + const transactionBuffer = transaction.serialize({ + verifySignatures: false, + requireAllSignatures: false, + }); - const transactionBuffer = transaction.serialize({ - verifySignatures: false, - requireAllSignatures: false, - }); - const transactionString = transactionBuffer.toString('base64'); - - return { - statusCode: 200, - body: JSON.stringify( - { - transaction: transactionString, - message: `Refunding customer ${refundRecord.usdcAmount.toFixed(2)} USDC`, + Sentry.captureEvent({ + message: 'refund-tx about to finalize', + level: 'info', + }); + return { + statusCode: 200, + body: JSON.stringify( + { + transaction: transactionBuffer.toString('base64'), + message: `Refunding customer ${refundRecord.usdcAmount.toFixed(2)} USDC`, + }, + null, + 2, + ), + }; + } catch (error) { + Sentry.captureEvent({ + message: 'in refund-transaction pt2 error', + level: 'error', + extra: { + error, }, - null, - 2, - ), - }; + }); + return await createErrorResponse(error); + } }, { rethrowAfterCapture: false, diff --git a/apps/backend-serverless/src/services/database/refund-record-service.database.service.ts b/apps/backend-serverless/src/services/database/refund-record-service.database.service.ts index 93af3343..c844b6d4 100644 --- a/apps/backend-serverless/src/services/database/refund-record-service.database.service.ts +++ b/apps/backend-serverless/src/services/database/refund-record-service.database.service.ts @@ -278,7 +278,7 @@ export class RefundRecordService implements RecordService { + async getPaymentRecordForRefund(query: RefundRecordQuery): Promise { const refundRecord = await prismaErrorHandler( this.prisma.refundRecord.findFirst({ where: query, @@ -287,8 +287,13 @@ export class RefundRecordService implements RecordService { 'Content-Type': 'application/json', 'Accept-Encoding': '', }; - const response = await axios({ - url: endpoint, - method: 'POST', - headers: headers, - }); + + let response; + if (process.env.NODE_ENV === 'development') { + const agent = new https.Agent({ + rejectUnauthorized: false, + }); + + response = await axios({ + url: endpoint, + method: 'POST', + headers: headers, + httpsAgent: agent, + }); + } else { + response = await axios({ + url: endpoint, + method: 'POST', + headers: headers, + }); + } if (response.status != 200) { throw new Error('Error requesting access token.'); diff --git a/apps/backend-serverless/src/services/fetch-transaction.service.ts b/apps/backend-serverless/src/services/fetch-transaction.service.ts index 9b48dcc3..d0d8de55 100644 --- a/apps/backend-serverless/src/services/fetch-transaction.service.ts +++ b/apps/backend-serverless/src/services/fetch-transaction.service.ts @@ -7,10 +7,6 @@ const { decode } = pkg; export const fetchTransaction = async (transactionId: string): Promise => { const heliusApiKey = process.env.HELIUS_API_KEY; - console.log('fetching transaction'); - - console.log(heliusApiKey); - if (heliusApiKey == null) { throw new MissingEnvError('helius api key'); } diff --git a/apps/backend-serverless/src/services/transaction-request/fetch-payment-transaction.service.ts b/apps/backend-serverless/src/services/transaction-request/fetch-payment-transaction.service.ts index 6f44e42e..5763afe6 100644 --- a/apps/backend-serverless/src/services/transaction-request/fetch-payment-transaction.service.ts +++ b/apps/backend-serverless/src/services/transaction-request/fetch-payment-transaction.service.ts @@ -20,7 +20,6 @@ export const fetchPaymentTransaction = async ( throw new Error('Merchant payment address not found.'); } - const sender = account; let receiverWalletAddress = merchant.walletAddress; let receiverTokenAddress = merchant.tokenAddress; @@ -32,7 +31,7 @@ export const fetchPaymentTransaction = async ( const endpoint = buildTransactionRequestEndpoint( receiverWalletAddress, receiverTokenAddress, - sender, + account, USDC_MINT.toBase58(), USDC_MINT.toBase58(), gas, @@ -48,7 +47,7 @@ export const fetchPaymentTransaction = async ( 'Content-Type': 'application/json', }; - const response = await axiosInstance.post(endpoint, { account: account }, { headers: headers }); + const response = await axiosInstance.post(endpoint, { headers: headers }); if (response.status != 200) { throw new Error('Error fetching payment transaction.'); diff --git a/apps/backend-serverless/src/services/transaction-request/fetch-refund-transaction.service.ts b/apps/backend-serverless/src/services/transaction-request/fetch-refund-transaction.service.ts index 57ef9f4e..e2133930 100644 --- a/apps/backend-serverless/src/services/transaction-request/fetch-refund-transaction.service.ts +++ b/apps/backend-serverless/src/services/transaction-request/fetch-refund-transaction.service.ts @@ -30,7 +30,6 @@ export const fetchRefundTransaction = async ( const transaction = await fetchTransaction(associatedPaymentRecord.transactionSignature); const payingCustomerTokenAddress = await findPayingTokenAddressFromTransaction(transaction); - const senderWalletAddress = account; let receiverWalletAddress: string | null = null; let receiverTokenAddress: string | null = payingCustomerTokenAddress.toBase58(); @@ -42,7 +41,7 @@ export const fetchRefundTransaction = async ( const endpoint = buildTransactionRequestEndpoint( receiverWalletAddress, receiverTokenAddress, - senderWalletAddress, + account, USDC_MINT.toBase58(), USDC_MINT.toBase58(), gas, @@ -58,7 +57,7 @@ export const fetchRefundTransaction = async ( 'Content-Type': 'application/json', }; - const response = await axiosInstance.post(endpoint, { account: account }, { headers: headers }); + const response = await axiosInstance.post(endpoint, { headers: headers }); if (response.status != 200) { throw new Error('Error fetching refund transaction.'); diff --git a/apps/backend-serverless/src/utilities/responses/error-response.utility.ts b/apps/backend-serverless/src/utilities/responses/error-response.utility.ts index 2d51cd69..76b3c74a 100644 --- a/apps/backend-serverless/src/utilities/responses/error-response.utility.ts +++ b/apps/backend-serverless/src/utilities/responses/error-response.utility.ts @@ -1,4 +1,4 @@ -import { logSentry } from '../sentry-log.utility.js'; +import * as Sentry from '@sentry/serverless'; export enum ErrorType { badRequest = 400, @@ -30,7 +30,7 @@ export enum ErrorMessage { unauthorizedMerchant = 'Merchant is not authorized.', } -export const createErrorResponse = (error: unknown) => { +export const createErrorResponse = async (error: unknown) => { let statusCode: ErrorType; let message: string; @@ -75,8 +75,12 @@ export const createErrorResponse = (error: unknown) => { message = 'Unknown error. Please contact support.'; } - console.log('error', error); - logSentry(error, message); + Sentry.captureException(error, { + extra: { + message, + }, + }); + await Sentry.flush(2000); return { statusCode, diff --git a/apps/backend-serverless/src/utilities/sentry-log.utility.ts b/apps/backend-serverless/src/utilities/sentry-log.utility.ts deleted file mode 100644 index c31c36ae..00000000 --- a/apps/backend-serverless/src/utilities/sentry-log.utility.ts +++ /dev/null @@ -1,10 +0,0 @@ -import * as Sentry from '@sentry/serverless'; - -export async function logSentry(error: any, message: string) { - Sentry.captureException(error, { - extra: { - message, - }, - }); - await Sentry.flush(2000); -} diff --git a/apps/backend-serverless/src/utilities/shopify/shopify-install-request.utility.ts b/apps/backend-serverless/src/utilities/shopify/shopify-install-request.utility.ts index a86cd10e..32850a22 100755 --- a/apps/backend-serverless/src/utilities/shopify/shopify-install-request.utility.ts +++ b/apps/backend-serverless/src/utilities/shopify/shopify-install-request.utility.ts @@ -34,7 +34,7 @@ export const verifyAndParseShopifyInstallRequest = (appInstallQuery: unknown): A .digest('hex'); if (hmacGenerated != hmac) { - throw new UnauthorizedRequestError('hmac did not match.'); + throw new UnauthorizedRequestError('hmac did not match. install ' + JSON.stringify(parsedAppInstallQuery)); } return parsedAppInstallQuery; diff --git a/apps/backend-serverless/src/utilities/shopify/shopify-redirect-request.utility.ts b/apps/backend-serverless/src/utilities/shopify/shopify-redirect-request.utility.ts index e7660eb6..c91cf93a 100755 --- a/apps/backend-serverless/src/utilities/shopify/shopify-redirect-request.utility.ts +++ b/apps/backend-serverless/src/utilities/shopify/shopify-redirect-request.utility.ts @@ -31,7 +31,7 @@ export const verifyRedirectParams = async (redirectParams: AppRedirectQueryParam .digest('hex'); if (hmacGenerated != hmac) { - throw new UnauthorizedRequestError('hmac did not match.'); + throw new UnauthorizedRequestError('hmac did not match. redirect' + JSON.stringify(redirectParams)); } const nonce = redirectParams.state; diff --git a/apps/mock-shopify-serverless/.npmrc b/apps/mock-shopify-serverless/.npmrc new file mode 100644 index 00000000..0c468b6e --- /dev/null +++ b/apps/mock-shopify-serverless/.npmrc @@ -0,0 +1,2 @@ +node-linker=hoisted +shared-workspace-lockfile=false diff --git a/apps/mock-shopify-serverless/package.json b/apps/mock-shopify-serverless/package.json index 4a328ed4..cc5a9a1c 100644 --- a/apps/mock-shopify-serverless/package.json +++ b/apps/mock-shopify-serverless/package.json @@ -4,11 +4,6 @@ "private": true, "description": "", "main": "handler.js", - "workspaces": { - "nohoist": [ - "**" - ] - }, "type": "module", "scripts": { "dev": "NODE_ENV=development serverless offline start --stage dev", @@ -25,7 +20,6 @@ }, "devDependencies": { "@types/aws-lambda": "^8.10.101", - "@types/crypto-js": "4.1.1", "esbuild": "^0.17.18", "serverless": "^3.21.0", "eslint-config-custom": "*", diff --git a/apps/mock-shopify-serverless/serverless.yml b/apps/mock-shopify-serverless/serverless.yml index e31fbc16..df31a9a4 100644 --- a/apps/mock-shopify-serverless/serverless.yml +++ b/apps/mock-shopify-serverless/serverless.yml @@ -4,6 +4,8 @@ useDotenv: true provider: name: aws runtime: nodejs18.x + environment: + NODE_TLS_REJECT_UNAUTHORIZED: ${env:NODE_TLS_REJECT_UNAUTHORIZED} package: excludeDevDependencies: false functions: diff --git a/apps/mock-shopify-serverless/src/handlers/authorize.ts b/apps/mock-shopify-serverless/src/handlers/authorize.ts index 3e3f7f11..f245738c 100644 --- a/apps/mock-shopify-serverless/src/handlers/authorize.ts +++ b/apps/mock-shopify-serverless/src/handlers/authorize.ts @@ -1,5 +1,5 @@ import { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from 'aws-lambda'; -import crypto from 'crypto-js'; +import crypto from 'crypto'; import { parseAndValidateRejectPaymentResponse } from '../models/authorize.models.js'; export const stringifyParams = (params: { [key: string]: string }): string => { @@ -9,7 +9,7 @@ export const stringifyParams = (params: { [key: string]: string }): string => { }; export const authorize = async (event: APIGatewayProxyEventV2): Promise => { - const mockShopifySecret = 'MOCK_SHOPIFY_SECRET'; + const mockShopifySecret = 'MOCK_SHOPIFY_KEY'; const installParams = { shop: 'localhost:4004', @@ -27,14 +27,17 @@ export const authorize = async (event: APIGatewayProxyEventV2): Promise { return Object.keys(params) @@ -8,25 +8,26 @@ export const stringifyParams = (params: { [key: string]: string }): string => { }; export const install = async (event: APIGatewayProxyEventV2): Promise => { - const mockShopifySecret = 'MOCK_SHOPIFY_SECRET'; + const mockShopifySecret = 'MOCK_SHOPIFY_KEY'; console.log('In mock install handler'); const installParams = { - host: 'LETSGOPANTHERS', + host: 'testhost', shop: 'localhost:4004', timestamp: 'timestamp', }; - const stringifiedParams = stringifyParams(installParams); - const hmac = crypto.HmacSHA256(stringifiedParams, mockShopifySecret); - + const hmac = crypto + .createHmac('sha256', mockShopifySecret) + .update(Buffer.from(stringifyParams(installParams))) + .digest('hex'); const hmacString = hmac.toString(); return { statusCode: 302, headers: { - Location: `http://localhost:4000/install?hmac=${hmacString}&host=${installParams.host}&shop=${installParams.shop}×tamp=${installParams.timestamp}`, + Location: `https://localhost:4000/install?hmac=${hmacString}&host=${installParams.host}&shop=${installParams.shop}×tamp=${installParams.timestamp}`, 'Content-Type': 'text/html', }, body: JSON.stringify({}), diff --git a/apps/transaction-request-serverless/.npmrc b/apps/transaction-request-serverless/.npmrc new file mode 100644 index 00000000..0c468b6e --- /dev/null +++ b/apps/transaction-request-serverless/.npmrc @@ -0,0 +1,2 @@ +node-linker=hoisted +shared-workspace-lockfile=false diff --git a/apps/transaction-request-serverless/package.json b/apps/transaction-request-serverless/package.json index 2da8a6b9..7d8d58f8 100755 --- a/apps/transaction-request-serverless/package.json +++ b/apps/transaction-request-serverless/package.json @@ -4,11 +4,6 @@ "description": "", "private": true, "main": "handler.js", - "workspaces": { - "nohoist": [ - "**" - ] - }, "type": "module", "scripts": { "dev": "NODE_ENV=development sls offline", diff --git a/apps/transaction-request-serverless/serverless.yml b/apps/transaction-request-serverless/serverless.yml index ced34ed4..8636abd4 100644 --- a/apps/transaction-request-serverless/serverless.yml +++ b/apps/transaction-request-serverless/serverless.yml @@ -22,6 +22,8 @@ plugins: - serverless-prune-plugin - serverless-prune-versions - serverless-offline + - serverless-plugin-common-excludes + - serverless-plugin-include-dependencies custom: serverless-offline: diff --git a/apps/transaction-request-serverless/src/handlers/pay.ts b/apps/transaction-request-serverless/src/handlers/pay.ts index 590a3f4b..81ff4d6d 100644 --- a/apps/transaction-request-serverless/src/handlers/pay.ts +++ b/apps/transaction-request-serverless/src/handlers/pay.ts @@ -1,12 +1,7 @@ import * as Sentry from '@sentry/serverless'; import * as web3 from '@solana/web3.js'; import { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from 'aws-lambda'; -import { InvalidInputError } from '../errors/invalid-input.error.js'; -import { - PaymentTransactionRequest, - parseAndValidatePaymentTransactionRequest, -} from '../models/payment-transaction-request.model.js'; -import { TransactionRequestBody, parseAndValidateTransactionRequestBody } from '../models/transaction-body.model.js'; +import { parseAndValidatePaymentTransactionRequest } from '../models/payment-transaction-request.model.js'; import { PaymentTransactionBuilder } from '../services/builders/payment-transaction-ix.builder.js'; import { createConnection } from '../utilities/connection.utility.js'; import { createErrorResponse } from '../utilities/error-response.utility.js'; @@ -26,66 +21,35 @@ export const pay = Sentry.AWSLambda.wrapHandler( }, }); - let paymentTransactionRequest: PaymentTransactionRequest; - - if (event.body == null) { - return createErrorResponse(new InvalidInputError('Missing body in request')); - } - - let transactionRequestBody: TransactionRequestBody; - - try { - transactionRequestBody = parseAndValidateTransactionRequestBody(JSON.parse(event.body)); - } catch (error) { - return createErrorResponse(error); - } - const account = transactionRequestBody.account; - - if (account == null) { - return createErrorResponse(new InvalidInputError('missing account in body')); - } - try { - const queryParameters = { - ...event.queryStringParameters, - sender: account, - }; - paymentTransactionRequest = parseAndValidatePaymentTransactionRequest(queryParameters); - } catch (error) { - return createErrorResponse(error); - } + let paymentTransactionRequest = parseAndValidatePaymentTransactionRequest(event.queryStringParameters); - const transactionBuilder = new PaymentTransactionBuilder(paymentTransactionRequest); + const transactionBuilder = new PaymentTransactionBuilder(paymentTransactionRequest); - const connection = createConnection(); + const connection = createConnection(); - let transaction: web3.Transaction; + let transaction: web3.Transaction = await transactionBuilder.buildPaymentTransaction(connection); - try { - transaction = await transactionBuilder.buildPaymentTransaction(connection); - } catch (error) { - return createErrorResponse(error); - } + // TODO create another transaction that mints points - let base: string; + let base = transaction + .serialize({ requireAllSignatures: false, verifySignatures: false }) + .toString('base64'); - try { - base = transaction.serialize({ requireAllSignatures: false, verifySignatures: false }).toString('base64'); + return { + statusCode: 200, + body: JSON.stringify( + { + transaction: base, + message: 'Tranasction created successfully', + }, + null, + 2, + ), + }; } catch (error) { return createErrorResponse(error); } - - return { - statusCode: 200, - body: JSON.stringify( - { - transaction: base, - message: 'Tranasction created successfully', - }, - null, - 2, - ), - }; }, { captureTimeoutWarning: false, diff --git a/apps/transaction-request-serverless/src/models/transaction-body.model.ts b/apps/transaction-request-serverless/src/models/transaction-body.model.ts deleted file mode 100644 index cd386d44..00000000 --- a/apps/transaction-request-serverless/src/models/transaction-body.model.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { InferType, object, string } from 'yup'; -import { parseAndValidateStrict } from '../utilities/yup.utility.js'; - -export const transactionRequestSchema = object().shape({ - account: string().required(), -}); - -export type TransactionRequestBody = InferType; - -export const parseAndValidateTransactionRequestBody = (transactionRequestBody: unknown): TransactionRequestBody => { - return parseAndValidateStrict( - transactionRequestBody, - transactionRequestSchema, - 'Could not parse the transaction request body. Unknown Reason.', - ); -}; diff --git a/apps/transaction-request-serverless/src/utilities/error-response.utility.ts b/apps/transaction-request-serverless/src/utilities/error-response.utility.ts index 79e82401..bcaaf38b 100644 --- a/apps/transaction-request-serverless/src/utilities/error-response.utility.ts +++ b/apps/transaction-request-serverless/src/utilities/error-response.utility.ts @@ -1,3 +1,4 @@ +import * as Sentry from '@sentry/serverless'; import { ConflictingStateError } from '../errors/conflicting-state.error.js'; import { DependencyError } from '../errors/dependency.error.js'; import { InvalidInputError } from '../errors/invalid-input.error.js'; @@ -6,7 +7,6 @@ import { MissingExpectedDatabaseRecordError } from '../errors/missing-expected-d import { MissingExpectedDatabaseValueError } from '../errors/missing-expected-database-value.error.js'; import { RiskyWalletError } from '../errors/risky-wallet.error.js'; import { UnauthorizedRequestError } from '../errors/unauthorized-request.error.js'; -import { logSentry } from './sentry-log.utility.js'; export enum ErrorType { badRequest = 400, @@ -36,7 +36,7 @@ export enum ErrorMessage { unauthorizedMerchant = 'Merchant is not authorized.', } -export const createErrorResponse = (error: unknown) => { +export const createErrorResponse = async (error: unknown) => { let statusCode: ErrorType; let message: string; @@ -72,7 +72,12 @@ export const createErrorResponse = (error: unknown) => { message = 'Unknown error. Please contact support.'; } - logSentry(error, message); + Sentry.captureException(error, { + extra: { + message, + }, + }); + await Sentry.flush(2000); return { statusCode, diff --git a/apps/transaction-request-serverless/src/utilities/sentry-log.utility.ts b/apps/transaction-request-serverless/src/utilities/sentry-log.utility.ts deleted file mode 100644 index 8a538a4c..00000000 --- a/apps/transaction-request-serverless/src/utilities/sentry-log.utility.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as Sentry from '@sentry/serverless'; - -export async function logSentry(error: any, message: string) { - Sentry.captureException(error); - Sentry.captureMessage(message); - await Sentry.flush(2000); -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62dc21cb..bb9d8308 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -174,13 +174,13 @@ importers: dependencies: '@docusaurus/core': specifier: 2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + version: 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/preset-classic': specifier: 2.4.1 - version: 2.4.1(@algolia/client-search@4.18.0)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.1.6) + version: 2.4.1(@algolia/client-search@4.19.0)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.0.4) '@docusaurus/theme-mermaid': specifier: ^2.4.1 - version: 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + version: 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@mdx-js/react': specifier: ^1.6.22 version: 1.6.22(react@17.0.0) @@ -202,7 +202,7 @@ importers: version: 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) eslint-config-custom: specifier: '*' - version: 0.0.0(eslint@8.45.0)(typescript@5.1.6) + version: 0.0.0(eslint@8.45.0)(typescript@5.0.4) apps/merchant-ui: dependencies: @@ -298,7 +298,7 @@ importers: version: 7.1.2(react-dom@18.2.0)(react@18.2.0) styled-components: specifier: ^5.3.11 - version: 5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + version: 5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0) tailwindcss-animate: specifier: ^1.0.5 version: 1.0.5(tailwindcss@3.2.7) @@ -355,12 +355,9 @@ importers: '@types/aws-lambda': specifier: ^8.10.101 version: 8.10.101 - '@types/crypto-js': - specifier: 4.1.1 - version: 4.1.1 esbuild: specifier: ^0.17.18 - version: 0.17.18 + version: 0.17.19 eslint-config-custom: specifier: '*' version: 0.0.0(eslint@8.45.0)(typescript@4.9.5) @@ -369,7 +366,7 @@ importers: version: 3.33.0 serverless-esbuild: specifier: ^1.43.1 - version: 1.43.1(esbuild@0.17.18) + version: 1.43.1(esbuild@0.17.19) serverless-offline: specifier: ^12.0.4 version: 12.0.4(serverless@3.33.0) @@ -506,7 +503,7 @@ importers: version: 18.16.1 esbuild: specifier: ^0.17.18 - version: 0.17.18 + version: 0.17.19 eslint-config-custom: specifier: '*' version: 0.0.0(eslint@8.45.0)(typescript@4.9.5) @@ -521,7 +518,7 @@ importers: version: 3.33.0 serverless-esbuild: specifier: ^1.43.1 - version: 1.43.1(esbuild@0.17.18) + version: 1.43.1(esbuild@0.17.19) serverless-offline: specifier: ^12.0.4 version: 12.0.4(serverless@3.33.0) @@ -556,142 +553,142 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0)(search-insights@2.7.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0)(search-insights@2.7.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0)(search-insights@2.7.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0)(search-insights@2.7.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0)(search-insights@2.7.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0)(search-insights@2.7.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0) search-insights: 2.7.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: false - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0) - '@algolia/client-search': 4.18.0 - algoliasearch: 4.18.0 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0) + '@algolia/client-search': 4.19.0 + algoliasearch: 4.19.0 dev: false - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 4.18.0 - algoliasearch: 4.18.0 + '@algolia/client-search': 4.19.0 + algoliasearch: 4.19.0 dev: false - /@algolia/cache-browser-local-storage@4.18.0: - resolution: {integrity: sha512-rUAs49NLlO8LVLgGzM4cLkw8NJLKguQLgvFmBEe3DyzlinoqxzQMHfKZs6TSq4LZfw/z8qHvRo8NcTAAUJQLcw==} + /@algolia/cache-browser-local-storage@4.19.0: + resolution: {integrity: sha512-G2NxUr3+gFMFwrEsjy7DwZJYXIxBQC5DeRZVKVEpTxW8AkBI2Y7MF+VUs4C8qqE3lHuioym4rvDipzH1xk3DKw==} dependencies: - '@algolia/cache-common': 4.18.0 + '@algolia/cache-common': 4.19.0 dev: false - /@algolia/cache-common@4.18.0: - resolution: {integrity: sha512-BmxsicMR4doGbeEXQu8yqiGmiyvpNvejYJtQ7rvzttEAMxOPoWEHrWyzBQw4x7LrBY9pMrgv4ZlUaF8PGzewHg==} + /@algolia/cache-common@4.19.0: + resolution: {integrity: sha512-4zFZCC0vYTvfoFSyAXEXDtQFamMibtMPjARirfvRlfgK+5YXW9qJIV+V7O/4qb1mH6RjngvHOo3GDE1xDoIzKA==} dev: false - /@algolia/cache-in-memory@4.18.0: - resolution: {integrity: sha512-evD4dA1nd5HbFdufBxLqlJoob7E2ozlqJZuV3YlirNx5Na4q1LckIuzjNYZs2ddLzuTc/Xd5O3Ibf7OwPskHxw==} + /@algolia/cache-in-memory@4.19.0: + resolution: {integrity: sha512-Q6z2p4MaiWs4PXB4NQ5l/ZE1j54mF1xlnqOLw0TKKXBhlNM5pOl5XKSvr/t/KHfrkO1/ua/f/YW71iA/lPGn+A==} dependencies: - '@algolia/cache-common': 4.18.0 + '@algolia/cache-common': 4.19.0 dev: false - /@algolia/client-account@4.18.0: - resolution: {integrity: sha512-XsDnlROr3+Z1yjxBJjUMfMazi1V155kVdte6496atvBgOEtwCzTs3A+qdhfsAnGUvaYfBrBkL0ThnhMIBCGcew==} + /@algolia/client-account@4.19.0: + resolution: {integrity: sha512-/0ZASb3ErYjM9GJijaF6JDDhDiyGYwp2FQ2QInUzH0mq/+a5s1PMI3r/8NV1DmlX+p93d2QplnLpjgNTn4eafw==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/client-search': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.19.0 + '@algolia/client-search': 4.19.0 + '@algolia/transporter': 4.19.0 dev: false - /@algolia/client-analytics@4.18.0: - resolution: {integrity: sha512-chEUSN4ReqU7uRQ1C8kDm0EiPE+eJeAXiWcBwLhEynfNuTfawN9P93rSZktj7gmExz0C8XmkbBU19IQ05wCNrQ==} + /@algolia/client-analytics@4.19.0: + resolution: {integrity: sha512-tB9L0YJ86a1e/ibNdnbFw+yOKooQlmh95Ld6Qyj4GQ1vFmzBpd4x4ilhyFFXbOjsvNGgALu8+44gp5h2ynxrwg==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/client-search': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.19.0 + '@algolia/client-search': 4.19.0 + '@algolia/requester-common': 4.19.0 + '@algolia/transporter': 4.19.0 dev: false - /@algolia/client-common@4.18.0: - resolution: {integrity: sha512-7N+soJFP4wn8tjTr3MSUT/U+4xVXbz4jmeRfWfVAzdAbxLAQbHa0o/POSdTvQ8/02DjCLelloZ1bb4ZFVKg7Wg==} + /@algolia/client-common@4.19.0: + resolution: {integrity: sha512-tiEyCKkkG5Ig04ATYlt1v41UJb/lS4RmJVXEAsaTkoyB5iUCOChE5WEVPPuJbO/5tSTCbIF4P+g5BjQDb7aGBA==} dependencies: - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/requester-common': 4.19.0 + '@algolia/transporter': 4.19.0 dev: false - /@algolia/client-personalization@4.18.0: - resolution: {integrity: sha512-+PeCjODbxtamHcPl+couXMeHEefpUpr7IHftj4Y4Nia1hj8gGq4VlIcqhToAw8YjLeCTfOR7r7xtj3pJcYdP8A==} + /@algolia/client-personalization@4.19.0: + resolution: {integrity: sha512-nG56w0dphlStCOgB80q0ug0SHYM+tQosL4Qprc+cy8ckFhTgC3hRtyRYHYGPk9txow5pPKDtyb5rnr3oviKP1Q==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.19.0 + '@algolia/requester-common': 4.19.0 + '@algolia/transporter': 4.19.0 dev: false - /@algolia/client-search@4.18.0: - resolution: {integrity: sha512-F9xzQXTjm6UuZtnsLIew6KSraXQ0AzS/Ee+OD+mQbtcA/K1sg89tqb8TkwjtiYZ0oij13u3EapB3gPZwm+1Y6g==} + /@algolia/client-search@4.19.0: + resolution: {integrity: sha512-kkqvljLIBYFv+GMefIq0wv2cRP30NG5/INyL1OKr8Qk4Nk0FciFF3wdxIgv6fm156x1q4V0fLw5zwMMWMPOsLQ==} dependencies: - '@algolia/client-common': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/client-common': 4.19.0 + '@algolia/requester-common': 4.19.0 + '@algolia/transporter': 4.19.0 dev: false /@algolia/events@4.0.1: resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} dev: false - /@algolia/logger-common@4.18.0: - resolution: {integrity: sha512-46etYgSlkoKepkMSyaoriSn2JDgcrpc/nkOgou/lm0y17GuMl9oYZxwKKTSviLKI5Irk9nSKGwnBTQYwXOYdRg==} + /@algolia/logger-common@4.19.0: + resolution: {integrity: sha512-2YdIHiQwlUCdhFFK1rE53VCEc8scTUcQLWJgpzi1amvP/ffUog4h5VXdGhyhHzYeAexMsaELX2/sEJa4lgOzng==} dev: false - /@algolia/logger-console@4.18.0: - resolution: {integrity: sha512-3P3VUYMl9CyJbi/UU1uUNlf6Z8N2ltW3Oqhq/nR7vH0CjWv32YROq3iGWGxB2xt3aXobdUPXs6P0tHSKRmNA6g==} + /@algolia/logger-console@4.19.0: + resolution: {integrity: sha512-JjbFPW35gm1RswkB3sgIAS/TjXoqG3FR8Gvsg8lPIB2oh8mcpybyJOUcq56sAfbIQ6n0aFuG4lgqES5TqlWzXw==} dependencies: - '@algolia/logger-common': 4.18.0 + '@algolia/logger-common': 4.19.0 dev: false - /@algolia/requester-browser-xhr@4.18.0: - resolution: {integrity: sha512-/AcWHOBub2U4TE/bPi4Gz1XfuLK6/7dj4HJG+Z2SfQoS1RjNLshZclU3OoKIkFp8D2NC7+BNsPvr9cPLyW8nyQ==} + /@algolia/requester-browser-xhr@4.19.0: + resolution: {integrity: sha512-5c3FlK7ZJ6oiLuZHe0iSpPzWlHCzeunQS7nlBsB4sEecVcvRJfXOklLh2vZfouQdaT14gXJ+Hwb2SuyRQLU6Ug==} dependencies: - '@algolia/requester-common': 4.18.0 + '@algolia/requester-common': 4.19.0 dev: false - /@algolia/requester-common@4.18.0: - resolution: {integrity: sha512-xlT8R1qYNRBCi1IYLsx7uhftzdfsLPDGudeQs+xvYB4sQ3ya7+ppolB/8m/a4F2gCkEO6oxpp5AGemM7kD27jA==} + /@algolia/requester-common@4.19.0: + resolution: {integrity: sha512-oBsoYDNx09L163N9aQM/FrGfLoU/sLvvzcHw1fdJg5eysTAXCvdMNXk29ocy0rhq2deQ8ccdU/Z9Qu0RfLGUmA==} dev: false - /@algolia/requester-node-http@4.18.0: - resolution: {integrity: sha512-TGfwj9aeTVgOUhn5XrqBhwUhUUDnGIKlI0kCBMdR58XfXcfdwomka+CPIgThRbfYw04oQr31A6/95ZH2QVJ9UQ==} + /@algolia/requester-node-http@4.19.0: + resolution: {integrity: sha512-UkTZEg5q9VTqfa8cPJbeDpu0Ff50aPx2MxGoYP2v25NFFcTlYRufiPBtux0ZKSyXTaoNPm/OBldWlDi9bTx1jA==} dependencies: - '@algolia/requester-common': 4.18.0 + '@algolia/requester-common': 4.19.0 dev: false - /@algolia/transporter@4.18.0: - resolution: {integrity: sha512-xbw3YRUGtXQNG1geYFEDDuFLZt4Z8YNKbamHPkzr3rWc6qp4/BqEeXcI2u/P/oMq2yxtXgMxrCxOPA8lyIe5jw==} + /@algolia/transporter@4.19.0: + resolution: {integrity: sha512-xgpU6eTzHJ8rqEvhVW9DdyIC+rsRYovIGpCz8k9JjwpLHNltu8wTQik0hasb1z16mFaIQDzgJTxo/C4ciMMr6w==} dependencies: - '@algolia/cache-common': 4.18.0 - '@algolia/logger-common': 4.18.0 - '@algolia/requester-common': 4.18.0 + '@algolia/cache-common': 4.19.0 + '@algolia/logger-common': 4.19.0 + '@algolia/requester-common': 4.19.0 dev: false /@ampproject/remapping@2.2.1: @@ -699,7 +696,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.9 /@apocentre/alias-sampling@0.5.3: resolution: {integrity: sha512-7UDWIIF9hIeJqfKXkNIzkVandlwLf1FWTSdrb9iXvOP8oF544JRXQjCbiTmCv2c9n44n/FIWtehhBfNuAx2CZA==} @@ -3057,7 +3054,7 @@ packages: resolution: {integrity: sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==} dev: false - /@docsearch/react@3.5.1(@algolia/client-search@4.18.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0): + /@docsearch/react@3.5.1(@algolia/client-search@4.19.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0): resolution: {integrity: sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -3071,10 +3068,10 @@ packages: react-dom: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0)(search-insights@2.7.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.18.0)(algoliasearch@4.18.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0)(search-insights@2.7.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.19.0)(algoliasearch@4.19.0) '@docsearch/css': 3.5.1 - algoliasearch: 4.18.0 + algoliasearch: 4.19.0 react: 17.0.0 react-dom: 17.0.0(react@17.0.0) transitivePeerDependencies: @@ -3082,7 +3079,7 @@ packages: - search-insights dev: false - /@docusaurus/core@2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/core@2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-SNsY7PshK3Ri7vtsLXVeAJGS50nJN3RgF836zkyUfAD01Fq+sAk5EwWgLw+nnm5KVNGDu7PRR2kRGDsWvqpo0g==} engines: {node: '>=16.14'} hasBin: true @@ -3141,7 +3138,7 @@ packages: postcss-loader: 7.3.3(postcss@8.4.26)(webpack@5.88.2) prompts: 2.4.2 react: 17.0.0 - react-dev-utils: 12.0.1(eslint@8.45.0)(typescript@5.1.6)(webpack@5.88.2) + react-dev-utils: 12.0.1(eslint@8.45.0)(typescript@5.0.4)(webpack@5.88.2) react-dom: 17.0.0(react@17.0.0) react-helmet-async: 1.3.0(react-dom@17.0.0)(react@17.0.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@17.0.0) @@ -3257,14 +3254,14 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-content-blog@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-content-blog@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-E2i7Knz5YIbE1XELI6RlTnZnGgS52cUO4BlCiCUCvQHbR+s1xeIWz4C6BtaVnlug0Ccz7nFSksfwDpVlkujg5Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) @@ -3300,14 +3297,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-content-docs@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-Lo7lSIcpswa2Kv4HEeUcGYqaasMUQNpjTXpV0N8G6jXgZaQurqp7E8NGYeGbDXnb48czmHWbzDL4S3+BbK0VzA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/module-type-aliases': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) @@ -3343,14 +3340,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-pages@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-content-pages@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-/UjuH/76KLaUlL+o1OvyORynv6FURzjurSjvn2lbWTFc4tpYY2qLYTlKpTCBVPhlLUQsfyFnshEJDLmPneq2oA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) @@ -3378,14 +3375,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-debug@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-7Yu9UPzRShlrH/G8btOpR0e6INFZr0EegWplMjOqelIwAcx3PKyR8mgPTxGTxcqiYj6hxSCRN0D8R7YrzImwNA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) fs-extra: 10.1.0 @@ -3413,14 +3410,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-google-analytics@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) react: 17.0.0 @@ -3444,14 +3441,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-google-gtag@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-mKIefK+2kGTQBYvloNEKtDmnRD7bxHLsBcxgnbt4oZwzi2nxCGjPX6+9SQO2KCN5HZbNrYmGo5GJfMgoRvy6uA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) react: 17.0.0 @@ -3475,14 +3472,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-google-tag-manager@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-Zg4Ii9CMOLfpeV2nG74lVTWNtisFaH9QNtEw48R5QE1KIwDBdTVaiSA18G1EujZjrzJJzXN79VhINSbOJO/r3g==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) react: 17.0.0 @@ -3506,14 +3503,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/plugin-sitemap@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-lZx+ijt/+atQ3FVE8FOHV/+X3kuok688OydDXrqKRJyXBJZKgGjA2Qa8RjQ4f27V2woaXhtnyrdPop/+OjVMRg==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) @@ -3542,25 +3539,25 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@2.4.1(@algolia/client-search@4.18.0)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.1.6): + /@docusaurus/preset-classic@2.4.1(@algolia/client-search@4.19.0)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.0.4): resolution: {integrity: sha512-P4//+I4zDqQJ+UDgoFrjIFaQ1MeS9UD1cvxVQaI6O7iBmiHQm0MGROP1TbE7HlxlDPXFJjZUK3x3cAoK63smGQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-blog': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-pages': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-debug': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-google-analytics': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-google-gtag': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-google-tag-manager': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-sitemap': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/theme-classic': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/theme-search-algolia': 2.4.1(@algolia/client-search@4.18.0)(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-blog': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-debug': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-google-analytics': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-google-gtag': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-google-tag-manager': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-sitemap': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/theme-classic': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/theme-search-algolia': 2.4.1(@algolia/client-search@4.19.0)(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) react: 17.0.0 react-dom: 17.0.0(react@17.0.0) @@ -3595,20 +3592,20 @@ packages: prop-types: 15.8.1 react: 17.0.0 - /@docusaurus/theme-classic@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/theme-classic@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-Rz0wKUa+LTW1PLXmwnf8mn85EBzaGSt6qamqtmnh9Hflkc+EqiYMhtUJeLdV+wsgYq4aG0ANc+bpUDpsUhdnwg==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/module-type-aliases': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) - '@docusaurus/plugin-content-blog': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-pages': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/plugin-content-blog': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/theme-translations': 2.4.1 '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) @@ -3647,7 +3644,7 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/theme-common@2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-G7Zau1W5rQTaFFB3x3soQoZpkgMbl/SYNG8PfMFIjKa3M3q8n0m/GRf5/H/e5BqOvt8c+ZWIXGCiz+kUCSHovA==} engines: {node: '>=16.14'} peerDependencies: @@ -3656,9 +3653,9 @@ packages: dependencies: '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/module-type-aliases': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) - '@docusaurus/plugin-content-blog': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/plugin-content-pages': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/plugin-content-blog': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) '@types/history': 4.7.11 @@ -3691,16 +3688,16 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-mermaid@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6): + /@docusaurus/theme-mermaid@2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4): resolution: {integrity: sha512-cM0ImKIqZfjmlaC+uAjep39kNBvb1bjz429QBHGs32maob4+UnRzVPPpCUCltyPVb4xjG5h1Tyq4pHzhtIikqA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/module-type-aliases': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(esbuild@0.17.19)(react-dom@17.0.0)(react@17.0.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) '@mdx-js/react': 1.6.22(react@17.0.0) @@ -3726,23 +3723,23 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@2.4.1(@algolia/client-search@4.18.0)(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.1.6): + /@docusaurus/theme-search-algolia@2.4.1(@algolia/client-search@4.19.0)(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0)(typescript@5.0.4): resolution: {integrity: sha512-6BcqW2lnLhZCXuMAvPRezFs1DpmEKzXFKlYjruuas+Xy3AQeFzDJKTJFIm49N77WFCTyxff8d3E4Q9pi/+5McQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docsearch/react': 3.5.1(@algolia/client-search@4.18.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0) - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docsearch/react': 3.5.1(@algolia/client-search@4.19.0)(react-dom@17.0.0)(react@17.0.0)(search-insights@2.7.0) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 - '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.1.6) + '@docusaurus/plugin-content-docs': 2.4.1(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19)(eslint@8.45.0)(react-dom@17.0.0)(react@17.0.0)(typescript@5.0.4) '@docusaurus/theme-translations': 2.4.1 '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(esbuild@0.17.19) - algoliasearch: 4.18.0 - algoliasearch-helper: 3.13.3(algoliasearch@4.18.0) + algoliasearch: 4.19.0 + algoliasearch-helper: 3.13.4(algoliasearch@4.19.0) clsx: 1.2.1 eta: 2.2.0 fs-extra: 10.1.0 @@ -3907,15 +3904,6 @@ packages: get-tsconfig: 4.6.2 dev: true - /@esbuild/android-arm64@0.17.18: - resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.17.19: resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -3924,15 +3912,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.17.18: - resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.17.19: resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -3941,15 +3920,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.17.18: - resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.17.19: resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -3958,15 +3928,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.17.18: - resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.17.19: resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -3975,15 +3936,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.17.18: - resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.17.19: resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -3992,15 +3944,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.17.18: - resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.17.19: resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -4009,15 +3952,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.17.18: - resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.17.19: resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -4026,15 +3960,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.17.18: - resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.17.19: resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -4043,15 +3968,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.17.18: - resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.17.19: resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -4060,15 +3976,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.17.18: - resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.17.19: resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -4077,15 +3984,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.17.18: - resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.17.19: resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} @@ -4094,15 +3992,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.17.18: - resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.17.19: resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -4111,15 +4000,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.17.18: - resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.17.19: resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -4128,15 +4008,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.17.18: - resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.17.19: resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -4145,15 +4016,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.17.18: - resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.17.19: resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -4162,15 +4024,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.17.18: - resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.17.19: resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -4179,15 +4032,6 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.17.18: - resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.17.19: resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -4196,15 +4040,6 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.17.18: - resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.17.19: resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -4213,15 +4048,6 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.17.18: - resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.17.19: resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -4230,15 +4056,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.17.18: - resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.17.19: resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -4247,15 +4064,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.17.18: - resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.17.19: resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -4264,15 +4072,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.17.18: - resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.17.19: resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -4408,8 +4207,8 @@ packages: graphql: 16.7.1 dev: false - /@hapi/accept@6.0.1: - resolution: {integrity: sha512-aLkYj7zzgC3CSlEVOs84eBOEE3i9xZK2tdQEP+TOj2OFzMWCi9zjkRet82V3GGjecE//zFrCLKIykuaE0uM4bg==} + /@hapi/accept@6.0.2: + resolution: {integrity: sha512-xaTLf29Zeph/B32hekmgxLFsEPuX1xQYyZu0gJ4ZCHKU6nXmBRXfBymtWNEK0souOJcX2XHWUaZU6JzccuuMpg==} dependencies: '@hapi/boom': 10.0.1 '@hapi/hoek': 11.0.2 @@ -4498,7 +4297,7 @@ packages: resolution: {integrity: sha512-tbm0zmsdUj8iw4NzFV30FST/W4qzh/Lsw6Q5o5gAhOuoirWvxm8a4G3o60bqBw8nXvRNJ8uLtE0RKLlZINxHcQ==} engines: {node: '>=14.15.0'} dependencies: - '@hapi/accept': 6.0.1 + '@hapi/accept': 6.0.2 '@hapi/ammo': 6.0.1 '@hapi/boom': 10.0.1 '@hapi/bounce': 3.0.1 @@ -4705,7 +4504,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -4726,7 +4525,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -4770,7 +4569,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 jest-mock: 27.5.1 dev: true @@ -4797,7 +4596,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 18.16.1 + '@types/node': 18.16.19 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -4838,7 +4637,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -4939,7 +4738,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 '@types/yargs': 16.0.5 chalk: 4.1.2 @@ -4950,7 +4749,7 @@ packages: '@jest/schemas': 29.6.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -4986,7 +4785,6 @@ packages: /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: false /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} @@ -4996,7 +4794,7 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.9 /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -5015,7 +4813,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: false /@json-rpc-tools/provider@1.7.6: resolution: {integrity: sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==} @@ -5125,21 +4922,21 @@ packages: /@ledgerhq/devices@6.27.1: resolution: {integrity: sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ==} dependencies: - '@ledgerhq/errors': 6.12.7 + '@ledgerhq/errors': 6.13.0 '@ledgerhq/logs': 6.10.1 rxjs: 6.6.7 semver: 7.5.4 dev: false - /@ledgerhq/errors@6.12.7: - resolution: {integrity: sha512-1BpjzFErPK7qPFx0oItcX0mNLJMplVAm2Dpl5urZlubewnTyyw5sahIBjU+8LLCWJ2eGEh/0wyvh0jMtR0n2Mg==} + /@ledgerhq/errors@6.13.0: + resolution: {integrity: sha512-cMFNX2AN6Gdj4RVIizI/7vWb+JYRu5na0rQSjybf7xGW5MSVdFVRcOg90VvqnDRsNfgFBbJzhpf7o4D7S3yFgg==} dev: false /@ledgerhq/hw-transport-webhid@6.27.1: resolution: {integrity: sha512-u74rBYlibpbyGblSn74fRs2pMM19gEAkYhfVibq0RE1GNFjxDMFC1n7Sb+93Jqmz8flyfB4UFJsxs8/l1tm2Kw==} dependencies: '@ledgerhq/devices': 6.27.1 - '@ledgerhq/errors': 6.12.7 + '@ledgerhq/errors': 6.13.0 '@ledgerhq/hw-transport': 6.27.1 '@ledgerhq/logs': 6.10.1 dev: false @@ -5148,7 +4945,7 @@ packages: resolution: {integrity: sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ==} dependencies: '@ledgerhq/devices': 6.27.1 - '@ledgerhq/errors': 6.12.7 + '@ledgerhq/errors': 6.13.0 events: 3.3.0 dev: false @@ -6858,7 +6655,7 @@ packages: node-fetch: 2.6.12 open: 7.4.2 semver: 7.5.4 - simple-git: 3.19.1(supports-color@8.1.1) + simple-git: 3.19.0(supports-color@8.1.1) type: 2.7.2 uuid: 8.3.2 yamljs: 0.3.0 @@ -7615,12 +7412,12 @@ packages: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: false - /@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.0.0(@solana/web3.js@1.77.3)(react-native@0.72.3): - resolution: {integrity: sha512-cMADp/UIAN42QJVCM1oyj1wFM/9DTZNIa5z5eHXUXBksw/bNv2fWkiO+4ZUoQj1P4UoMoZJUBx9+qMVl18sPOA==} + /@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.0.1(@solana/web3.js@1.77.3)(react-native@0.72.3): + resolution: {integrity: sha512-zpMEU40PJ2rmRgqXbn7JqyHhrygQLX9MVszAczVDzqg39aMD7yo6VyTI8NEH422JzCj3Cjl9DndQZJRNdqdOHw==} peerDependencies: '@solana/web3.js': ^1.58.0 dependencies: - '@solana-mobile/mobile-wallet-adapter-protocol': 2.0.0(react-native@0.72.3) + '@solana-mobile/mobile-wallet-adapter-protocol': 1.0.1(react-native@0.72.3) '@solana/web3.js': 1.77.3 bs58: 5.0.0 js-base64: 3.7.5 @@ -7628,8 +7425,8 @@ packages: - react-native dev: false - /@solana-mobile/mobile-wallet-adapter-protocol@2.0.0(react-native@0.72.3): - resolution: {integrity: sha512-mLK9B/AQgOxzbdRoOMH3G5wB5akWgGSBoVqIZ/6iDWY37uu/CuyX4lTwRyoRlOb8Cxs/tDwiovIGobkti2qF/w==} + /@solana-mobile/mobile-wallet-adapter-protocol@1.0.1(react-native@0.72.3): + resolution: {integrity: sha512-T+xroGLYaYeI8TXy85oNul2m1k/oF9dAW7eRy/MF9up1EQ5SPL5KWFICQfV2gy87jBZd1y0k0M2GayVN7QdQpA==} peerDependencies: react-native: '>0.69' dependencies: @@ -7642,7 +7439,7 @@ packages: '@solana/web3.js': ^1.58.0 dependencies: '@react-native-async-storage/async-storage': 1.19.0(react-native@0.72.3) - '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.0.0(@solana/web3.js@1.77.3)(react-native@0.72.3) + '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.0.1(@solana/web3.js@1.77.3)(react-native@0.72.3) '@solana/wallet-adapter-base': 0.9.22(@solana/web3.js@1.77.3) '@solana/web3.js': 1.77.3 js-base64: 3.7.5 @@ -8960,7 +8757,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: false /@types/bonjour@3.5.10: @@ -8974,7 +8771,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.16.1 + '@types/node': 18.16.19 '@types/responselike': 1.0.0 /@types/carbon__icons-react@11.20.0: @@ -8997,17 +8794,13 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: false /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: false - /@types/crypto-js@4.1.1: - resolution: {integrity: sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==} - dev: true - /@types/debug@4.1.8: resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} dependencies: @@ -9032,7 +8825,7 @@ packages: /@types/express-serve-static-core@4.17.35: resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -9051,13 +8844,13 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: true /@types/hast@2.3.5: @@ -9123,13 +8916,13 @@ packages: /@types/jsonwebtoken@9.0.2: resolution: {integrity: sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: false /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 /@types/lodash@4.14.195: resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} @@ -9248,7 +9041,7 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -9271,7 +9064,7 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: false /@types/serve-index@1.9.1: @@ -9285,7 +9078,7 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: false /@types/sockjs@0.3.33: @@ -9323,7 +9116,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: false /@types/ws@8.5.5: @@ -9399,26 +9192,6 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.45.0 - typescript: 5.1.6 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -9500,27 +9273,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@5.5.0) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/visitor-keys@4.33.0: resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -10071,32 +9823,32 @@ packages: require-from-string: 2.0.2 uri-js: 4.4.1 - /algoliasearch-helper@3.13.3(algoliasearch@4.18.0): - resolution: {integrity: sha512-jhbbuYZ+fheXpaJlqdJdFa1jOsrTWKmRRTYDM3oVTto5VodZzM7tT+BHzslAotaJf/81CKrm6yLRQn8WIr/K4A==} + /algoliasearch-helper@3.13.4(algoliasearch@4.19.0): + resolution: {integrity: sha512-2Vqu3ngJKe9w1cNLUNJML5TT/l+etnACASVgJ+HWiKhH6TrIYI2FFVcBi0lMTsdSpqTnv736ub7BYqUTavk0mA==} peerDependencies: algoliasearch: '>= 3.1 < 6' dependencies: '@algolia/events': 4.0.1 - algoliasearch: 4.18.0 + algoliasearch: 4.19.0 dev: false - /algoliasearch@4.18.0: - resolution: {integrity: sha512-pCuVxC1SVcpc08ENH32T4sLKSyzoU7TkRIDBMwSLfIiW+fq4znOmWDkAygHZ6pRcO9I1UJdqlfgnV7TRj+MXrA==} + /algoliasearch@4.19.0: + resolution: {integrity: sha512-UIzLHOkprUFzwFxqgw+TOhEG2usLv8q9l4V/Ul82IgNNO+g5RjENd5Sl/J6BU4BlRdMLy/OvPfbSc7Y1dOdwgA==} dependencies: - '@algolia/cache-browser-local-storage': 4.18.0 - '@algolia/cache-common': 4.18.0 - '@algolia/cache-in-memory': 4.18.0 - '@algolia/client-account': 4.18.0 - '@algolia/client-analytics': 4.18.0 - '@algolia/client-common': 4.18.0 - '@algolia/client-personalization': 4.18.0 - '@algolia/client-search': 4.18.0 - '@algolia/logger-common': 4.18.0 - '@algolia/logger-console': 4.18.0 - '@algolia/requester-browser-xhr': 4.18.0 - '@algolia/requester-common': 4.18.0 - '@algolia/requester-node-http': 4.18.0 - '@algolia/transporter': 4.18.0 + '@algolia/cache-browser-local-storage': 4.19.0 + '@algolia/cache-common': 4.19.0 + '@algolia/cache-in-memory': 4.19.0 + '@algolia/client-account': 4.19.0 + '@algolia/client-analytics': 4.19.0 + '@algolia/client-common': 4.19.0 + '@algolia/client-personalization': 4.19.0 + '@algolia/client-search': 4.19.0 + '@algolia/logger-common': 4.19.0 + '@algolia/logger-console': 4.19.0 + '@algolia/requester-browser-xhr': 4.19.0 + '@algolia/requester-common': 4.19.0 + '@algolia/requester-node-http': 4.19.0 + '@algolia/transporter': 4.19.0 dev: false /anser@1.4.10: @@ -10713,7 +10465,7 @@ packages: '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0) transitivePeerDependencies: - '@babel/core' dev: false @@ -10969,7 +10721,7 @@ packages: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.3.0 + chalk: 5.2.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -11057,7 +10809,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001516 - electron-to-chromium: 1.4.463 + electron-to-chromium: 1.4.464 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.9) @@ -11123,7 +10875,7 @@ packages: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 - ieee754: 1.1.13 + ieee754: 1.2.1 isarray: 1.0.0 /buffer@5.7.1: @@ -11365,12 +11117,6 @@ packages: /chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true /change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} @@ -11847,7 +11593,7 @@ packages: dot-prop: 7.2.0 env-paths: 3.0.0 json-schema-typed: 8.0.1 - semver: 7.5.1 + semver: 7.5.4 dev: false /config-chain@1.1.13: @@ -13422,8 +13168,8 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.463: - resolution: {integrity: sha512-fT3hvdUWLjDbaTGzyOjng/CQhQJSQP8ThO3XZAoaxHvHo2kUXiRQVMj9M235l8uDFiNPsPa6KHT1p3RaR6ugRw==} + /electron-to-chromium@1.4.464: + resolution: {integrity: sha512-guZ84yoou4+ILNdj0XEbmGs6DEWj6zpVOWYpY09GU66yEb0DSYvP/biBPzHn0GuW/3RC/pnaYNUWlQE1fJYtgA==} /elkjs@0.8.2: resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} @@ -13676,36 +13422,6 @@ packages: es6-iterator: 2.0.3 es6-symbol: 3.1.3 - /esbuild@0.17.18: - resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.18 - '@esbuild/android-arm64': 0.17.18 - '@esbuild/android-x64': 0.17.18 - '@esbuild/darwin-arm64': 0.17.18 - '@esbuild/darwin-x64': 0.17.18 - '@esbuild/freebsd-arm64': 0.17.18 - '@esbuild/freebsd-x64': 0.17.18 - '@esbuild/linux-arm': 0.17.18 - '@esbuild/linux-arm64': 0.17.18 - '@esbuild/linux-ia32': 0.17.18 - '@esbuild/linux-loong64': 0.17.18 - '@esbuild/linux-mips64el': 0.17.18 - '@esbuild/linux-ppc64': 0.17.18 - '@esbuild/linux-riscv64': 0.17.18 - '@esbuild/linux-s390x': 0.17.18 - '@esbuild/linux-x64': 0.17.18 - '@esbuild/netbsd-x64': 0.17.18 - '@esbuild/openbsd-x64': 0.17.18 - '@esbuild/sunos-x64': 0.17.18 - '@esbuild/win32-arm64': 0.17.18 - '@esbuild/win32-ia32': 0.17.18 - '@esbuild/win32-x64': 0.17.18 - dev: true - /esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -13802,19 +13518,6 @@ packages: - typescript dev: true - /eslint-config-custom@0.0.0(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-kwCw78yisbgKdJBJ5qooPmpBYDphDfM2oxSROmtfOwBXBwXuRiSV3suO01W3mVLEFpmQZxMWd/qajKpJhkKSug==} - dependencies: - eslint-config-next: 12.3.4(eslint@8.45.0)(typescript@5.1.6) - eslint-config-prettier: 8.8.0(eslint@8.45.0) - eslint-plugin-react: 7.28.0(eslint@8.45.0) - transitivePeerDependencies: - - eslint - - eslint-import-resolver-webpack - - supports-color - - typescript - dev: true - /eslint-config-next@12.3.4(eslint@8.45.0)(typescript@4.9.5): resolution: {integrity: sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==} peerDependencies: @@ -13865,31 +13568,6 @@ packages: - supports-color dev: true - /eslint-config-next@12.3.4(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@next/eslint-plugin-next': 12.3.4 - '@rushstack/eslint-patch': 1.3.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.45.0)(typescript@5.1.6) - eslint: 8.45.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.27.5)(eslint@8.45.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.45.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.45.0) - eslint-plugin-react: 7.32.2(eslint@8.45.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.45.0) - typescript: 5.1.6 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-config-prettier@8.8.0(eslint@8.45.0): resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true @@ -14335,7 +14013,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.6.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 jest-get-type: 29.4.3 jest-matcher-utils: 29.6.1 jest-message-util: 29.6.1 @@ -14857,7 +14535,7 @@ packages: signal-exit: 4.0.2 dev: true - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.45.0)(typescript@5.1.6)(webpack@5.88.2): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.45.0)(typescript@5.0.4)(webpack@5.88.2): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -14885,7 +14563,7 @@ packages: schema-utils: 2.7.0 semver: 7.5.4 tapable: 1.1.3 - typescript: 5.1.6 + typescript: 5.0.4 webpack: 5.88.2(esbuild@0.17.19) dev: false @@ -14958,16 +14636,6 @@ packages: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 - dev: false - - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} @@ -16641,7 +16309,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -16776,7 +16444,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -16794,7 +16462,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -16826,7 +16494,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.6 - '@types/node': 18.16.1 + '@types/node': 18.16.19 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16848,7 +16516,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -16938,7 +16606,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 dev: true /jest-mock@29.6.1: @@ -17002,7 +16670,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -17059,7 +16727,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 18.16.1 + '@types/node': 18.16.19 graceful-fs: 4.2.11 dev: true @@ -17098,7 +16766,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -17109,7 +16777,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -17145,7 +16813,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.16.1 + '@types/node': 18.16.19 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -19210,7 +18878,7 @@ packages: got: 12.6.1 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.5.1 + semver: 7.5.4 dev: false /pako@1.0.11: @@ -19451,7 +19119,7 @@ packages: qs: 6.11.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-components: 5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + styled-components: 5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0) dev: false /picocolors@1.0.0: @@ -20416,7 +20084,7 @@ packages: pure-color: 1.3.0 dev: false - /react-dev-utils@12.0.1(eslint@8.45.0)(typescript@5.1.6)(webpack@5.88.2): + /react-dev-utils@12.0.1(eslint@8.45.0)(typescript@5.0.4)(webpack@5.88.2): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -20435,7 +20103,7 @@ packages: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.45.0)(typescript@5.1.6)(webpack@5.88.2) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.45.0)(typescript@5.0.4)(webpack@5.88.2) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -20450,7 +20118,7 @@ packages: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - typescript: 5.1.6 + typescript: 5.0.4 webpack: 5.88.2(esbuild@0.17.19) transitivePeerDependencies: - eslint @@ -20820,7 +20488,7 @@ packages: dependencies: object-assign: 4.1.1 react: 18.2.0 - react-is: 18.2.0 + react-is: 16.13.1 dev: false /react-style-singleton@2.2.1(@types/react@18.2.0)(react@18.2.0): @@ -21662,32 +21330,6 @@ packages: - supports-color dev: false - /serverless-esbuild@1.43.1(esbuild@0.17.18): - resolution: {integrity: sha512-iF5FWVnNT00OSsXjXRaJ/Jbn8n40Dr0XspKO4h/bEZLFqyZmHmrRrJHHZDuh+tJafjSlaDzUmqnhdMr9dBh7kQ==} - engines: {node: '>=14.18.0'} - peerDependencies: - esbuild: '>=0.8 <0.18' - esbuild-node-externals: ^1.0.0 - peerDependenciesMeta: - esbuild-node-externals: - optional: true - dependencies: - acorn: 8.10.0 - acorn-walk: 8.2.0 - anymatch: 3.1.3 - archiver: 5.3.1 - bestzip: 2.2.1 - chokidar: 3.5.3 - esbuild: 0.17.18 - execa: 5.1.1 - fp-ts: 2.16.0 - fs-extra: 11.1.1 - globby: 11.1.0 - p-map: 4.0.0 - ramda: 0.28.0 - semver: 7.5.4 - dev: true - /serverless-esbuild@1.43.1(esbuild@0.17.19): resolution: {integrity: sha512-iF5FWVnNT00OSsXjXRaJ/Jbn8n40Dr0XspKO4h/bEZLFqyZmHmrRrJHHZDuh+tJafjSlaDzUmqnhdMr9dBh7kQ==} engines: {node: '>=14.18.0'} @@ -21707,7 +21349,7 @@ packages: esbuild: 0.17.19 execa: 5.1.1 fp-ts: 2.16.0 - fs-extra: 11.1.1 + fs-extra: 11.1.0 globby: 11.1.0 p-map: 4.0.0 ramda: 0.28.0 @@ -21734,10 +21376,10 @@ packages: '@serverless/utils': 6.13.1 array-unflat-js: 0.1.3 boxen: 7.1.1 - chalk: 5.3.0 + chalk: 5.2.0 desm: 1.3.0 execa: 6.1.0 - fs-extra: 11.1.1 + fs-extra: 11.1.0 is-wsl: 2.2.0 java-invoke-local: 0.0.6 jose: 4.14.4 @@ -21813,7 +21455,7 @@ packages: resolution: {integrity: sha512-+Dy8GCptIrIUFhGAUj1GNN7FBgZEE4VPuyFbKP8xfsPoCualo0UwWnnTNmRix8UpWi5+OA+VpR5JizLq/TeJaA==} dependencies: '@aws-sdk/client-s3': 3.370.0 - fs-extra: 11.1.1 + fs-extra: 11.1.0 rxjs: 6.6.7 rxjs-compat: 6.6.7 s3rver: 3.7.1 @@ -22021,8 +21663,8 @@ packages: - supports-color dev: false - /simple-git@3.19.1(supports-color@8.1.1): - resolution: {integrity: sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==} + /simple-git@3.19.0(supports-color@8.1.1): + resolution: {integrity: sha512-hyH2p9Ptxjf/xPuL7HfXbpYt9gKhC1yWDh3KYIAYJJePAKV7AEjLN4xhp7lozOdNiaJ9jlVvAbBymVlcS2jRiA==} dependencies: '@kwsites/file-exists': 1.1.1(supports-color@8.1.1) '@kwsites/promise-deferred': 1.1.1 @@ -22525,7 +22167,7 @@ packages: inline-style-parser: 0.1.1 dev: false - /styled-components@5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): + /styled-components@5.3.11(@babel/core@7.22.9)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0): resolution: {integrity: sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==} engines: {node: '>=10'} peerDependencies: @@ -22543,7 +22185,7 @@ packages: hoist-non-react-statics: 3.3.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 + react-is: 16.13.1 shallowequal: 1.1.0 supports-color: 5.5.0 transitivePeerDependencies: @@ -23143,16 +22785,6 @@ packages: typescript: 5.0.4 dev: true - /tsutils@3.21.0(typescript@5.1.6): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.1.6 - dev: true - /tsx@3.12.7: resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} hasBin: true @@ -23359,11 +22991,6 @@ packages: engines: {node: '>=12.20'} hasBin: true - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} - engines: {node: '>=14.17'} - hasBin: true - /ua-parser-js@1.0.35: resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==} dev: false