From 31c6cb48f7261b89e59c8b039ae0f0faee4dda4a Mon Sep 17 00:00:00 2001 From: Win <84066239+tdang1-shopmacher@users.noreply.github.com> Date: Mon, 31 Mar 2025 18:12:08 +0700 Subject: [PATCH 1/3] Release/v1.3.2 (#166) * MOL-730 - add release authorized payment endpoint * MOL-730 - update unit test * MOL-730 - update changelog * MOL-736 - add new setting for transaction custom type * MOL-736 - update test cases * MOL-736 - update condition check * MOL-736 - update post deploy script * MOL-736 - update condition check * MOL-736 - update changelog * Feature/mol 730 (#163) * MOL-730 - add release authorized payment endpoint * MOL-730 - update unit test * MOL-730 - update changelog * [UPDATE] release version --- .gitignore | 1 + CHANGELOG.md | 13 + application/package.json | 2 +- application/src/constants.ts | 6 +- connect.yaml | 3 + docs/CancelPaymentRefund.md | 1 + processor/.env.example | 5 + processor/bin/ngrok.sh | 3 +- processor/package-lock.json | 4 +- processor/package.json | 2 +- .../customFields.commercetools.ts | 300 ++---------------- processor/src/mollie/payment.mollie.ts | 29 ++ processor/src/service/connector.service.ts | 8 +- processor/src/service/payment.service.ts | 105 +++--- processor/src/types/commercetools.types.ts | 2 +- processor/src/types/index.types.ts | 1 + processor/src/utils/config.utils.ts | 10 + processor/src/utils/constant.utils.ts | 76 ++++- processor/src/utils/paymentAction.utils.ts | 12 +- processor/src/validators/env.validators.ts | 6 + .../action.commercetools.spec.ts | 2 +- .../controllers/payment.controller.spec.ts | 4 +- processor/tests/mollie/payment.mollie.spec.ts | 116 +++++++ .../tests/routes/processor.route.spec.ts | 15 +- .../tests/service/payment.service.spec.ts | 86 +++-- processor/tests/utils/config.utils.spec.ts | 22 ++ processor/tests/utils/constant.utils.spec.ts | 11 +- 27 files changed, 454 insertions(+), 391 deletions(-) diff --git a/.gitignore b/.gitignore index 3b616f1..e67b33e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ dist .DS_Store .vscode .idea +.connect build/ processor/.env processor/junit-report.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index b07a071..bb29577 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## v1.3.2 + +Added + +- A new connector setting named `CTP_TRANSACTION_CUSTOM_TYPE_KEY` for adding/updating new custom fields - the custom field key and logic would stay the same + + - IF set, new custom fields will be updated into the defined custom type key + - IF not, new custom fields will be added into a default custom type with key `sctm_transactions_custom_type` + +Updated + +- Allow to cancel an Klarna authorized payment via newly introduce endpoint `/release-authorization` instead of using `DELETE` verb + ## v1.3.1 Fixed diff --git a/application/package.json b/application/package.json index 7d2ab19..f75ff79 100644 --- a/application/package.json +++ b/application/package.json @@ -1,6 +1,6 @@ { "name": "shopmacher-mollie-application", - "version": "1.3.1", + "version": "1.3.2", "description": "Integration application between commercetools and mollie payment service provider", "private": true, "scripts": { diff --git a/application/src/constants.ts b/application/src/constants.ts index 557d351..4f5b871 100644 --- a/application/src/constants.ts +++ b/application/src/constants.ts @@ -12,8 +12,8 @@ export const EXTENSION_KEY = 'sctm-payment-create-update-extension'; export const EXTENSION_URL_PATH = '/processor'; export const APPLICATION_URL_PATH = '/application/methods'; export const USER_AGENT = { - name: 'ShopmacherMollieCommercetoolsConnector/1.3.1', - version: '1.3.1', - libraryName: 'ShopmacherMollieCommercetoolsConnector/1.3.1', + name: 'ShopmacherMollieCommercetoolsConnector/1.3.2', + version: '1.3.2', + libraryName: 'ShopmacherMollieCommercetoolsConnector/1.3.2', contactEmail: 'info@mollie.com', }; diff --git a/connect.yaml b/connect.yaml index 37c956b..cfeebc0 100644 --- a/connect.yaml +++ b/connect.yaml @@ -27,6 +27,9 @@ deployAs: description: To enable secure mode for connector requests using OAuth authentication (0 or 1) required: true default: "0" + - key: CTP_TRANSACTION_CUSTOM_TYPE_KEY + description: Custom type key for transactions in commercetools + required: false securedConfiguration: - key: MOLLIE_API_TEST_KEY description: Mollie PSP test API key diff --git a/docs/CancelPaymentRefund.md b/docs/CancelPaymentRefund.md index 1dee103..9b9fda8 100644 --- a/docs/CancelPaymentRefund.md +++ b/docs/CancelPaymentRefund.md @@ -16,6 +16,7 @@ The target Mollie endpoint will be [Cancel Payment Refund](https://docs.mollie.c In order to use this functionality, the customer must have a charged-successfully payment and a refund created which is in-progress for that payment. Technically, the CommerceTools Payment object needs to include 3 transactions: + - 1 transaction with type = `Charge`, state = `Success`. This transaction should also store the targeted Mollie Payment ID in `interactionId`. - 1 transaction with type = `Refund`, state = `Pending`. This transaction should also store the targeted Mollie Refund ID in `interactionId`. - 1 transaction with type = `CancelAuthorization`, state = `Initial`. This transaction is to point out that the customer is wanting to cancel the Refund. diff --git a/processor/.env.example b/processor/.env.example index caa579e..8c5f85b 100644 --- a/processor/.env.example +++ b/processor/.env.example @@ -30,3 +30,8 @@ MOLLIE_PROFILE_ID= ## NGROK - only required for development CONNECTOR_EXTENSION_TOKEN= + +## IF you have assigned a custom type to the transaction, you can specify it here +### So that the processor can use it to update the type adding its new fields +## If you have not assigned a custom type, you can leave this empty +CTP_TRANSACTION_CUSTOM_TYPE_KEY= \ No newline at end of file diff --git a/processor/bin/ngrok.sh b/processor/bin/ngrok.sh index 48b9057..2ac842c 100755 --- a/processor/bin/ngrok.sh +++ b/processor/bin/ngrok.sh @@ -12,7 +12,8 @@ fi # Start NGROK in background echo "⚡️ Starting ngrok" -ngrok http 8080 --authtoken ${CONNECTOR_EXTENSION_TOKEN} > /dev/null & +ngrok authtoken ${CONNECTOR_EXTENSION_TOKEN} & +ngrok http 8080 > /dev/null & # Wait for ngrok to be available while ! nc -z localhost 4040; do diff --git a/processor/package-lock.json b/processor/package-lock.json index 2354b7f..3dcd142 100644 --- a/processor/package-lock.json +++ b/processor/package-lock.json @@ -1,12 +1,12 @@ { "name": "shopmacher-mollie-processor", - "version": "1.3.1", + "version": "1.3.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "shopmacher-mollie-processor", - "version": "1.3.1", + "version": "1.3.2", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/processor/package.json b/processor/package.json index dda3b4a..d9b9bf3 100644 --- a/processor/package.json +++ b/processor/package.json @@ -1,7 +1,7 @@ { "name": "shopmacher-mollie-processor", "description": "Integration between commercetools and mollie payment service provider", - "version": "1.3.1", + "version": "1.3.2", "main": "index.js", "private": true, "scripts": { diff --git a/processor/src/commercetools/customFields.commercetools.ts b/processor/src/commercetools/customFields.commercetools.ts index fff9118..34ff050 100644 --- a/processor/src/commercetools/customFields.commercetools.ts +++ b/processor/src/commercetools/customFields.commercetools.ts @@ -1,7 +1,6 @@ import { CustomFields } from '../utils/constant.utils'; import { createApiRoot } from '../client/create.client'; import { FieldDefinition, TypeUpdateAction } from '@commercetools/platform-sdk'; - const PAYMENT_TYPE_KEY = 'sctm-payment-custom-type'; export async function createCustomPaymentType(): Promise { @@ -237,265 +236,20 @@ export async function createCustomPaymentInterfaceInteractionType(): Promise { - const apiRoot = createApiRoot(); - - const customFieldName = CustomFields.paymentCancelReason; - - const { - body: { results: types }, - } = await createApiRoot() - .types() - .get({ - queryArgs: { - where: `key = "${customFieldName}"`, - }, - }) - .execute(); - - if (types.length <= 0) { - await apiRoot - .types() - .post({ - body: { - key: customFieldName, - name: { - en: 'SCTM - Payment cancel reason on Transaction custom fields', - de: 'SCTM - Grund für Zahlungsstornierung in benutzerdefinierten Transaktionsfeldern', - }, - description: { - en: 'Showing the reason of cancelling and identifying if the cancel action came from CommerceTools or Mollie', - de: 'Anzeige des Kündigungsgrundes und Identifizierung, ob die Kündigung von CommerceTools oder Mollie erfolgte', - }, - resourceTypeIds: ['transaction'], - fieldDefinitions: [ - { - name: 'reasonText', - label: { - en: 'The reason of cancelling the refund, include the user name', - de: 'Der Grund für die Stornierung der Rückerstattung, den Benutzernamen einschließen', - }, - required: false, - type: { - name: 'String', - }, - inputHint: 'MultiLine', - }, - { - name: 'statusText', - label: { - en: 'To differentiate between the “failure” from CommerceTools and the real status', - de: 'Um zwischen dem „Fehler“ von CommerceTools und dem tatsächlichen Status zu unterscheiden', - }, - required: false, - type: { - name: 'String', - }, - inputHint: 'MultiLine', - }, - ], - }, - }) - .execute(); - } -} - -export async function createTransactionSurchargeCustomType(): Promise { - const apiRoot = createApiRoot(); - const customFields: FieldDefinition[] = [ - { - name: CustomFields.surchargeAndCapture.fields.surchargeCode.name, - label: { - en: CustomFields.surchargeAndCapture.fields.surchargeCode.label.en, - de: CustomFields.surchargeAndCapture.fields.surchargeCode.label.en, - }, - required: false, - type: { - name: 'Number', - }, - inputHint: 'MultiLine', - }, - { - name: CustomFields.surchargeAndCapture.fields.shouldCapture.name, - label: { - en: CustomFields.surchargeAndCapture.fields.shouldCapture.label.en, - de: CustomFields.surchargeAndCapture.fields.shouldCapture.label.de, - }, - required: false, - type: { - name: 'Boolean', - }, - }, - { - name: CustomFields.surchargeAndCapture.fields.descriptionCapture.name, - label: { - en: CustomFields.surchargeAndCapture.fields.descriptionCapture.label.en, - de: CustomFields.surchargeAndCapture.fields.descriptionCapture.label.de, - }, - required: false, - type: { - name: 'String', - }, - inputHint: 'MultiLine', - }, - { - name: CustomFields.surchargeAndCapture.fields.captureErrors.name, - label: { - en: CustomFields.surchargeAndCapture.fields.captureErrors.label.en, - de: CustomFields.surchargeAndCapture.fields.captureErrors.label.de, - }, - required: false, - type: { - name: 'String', - }, - inputHint: 'MultiLine', - }, - ]; - - const { - body: { results: oldTypes }, - } = await apiRoot - .types() - .get({ - queryArgs: { - where: `key = "sctm_transaction_surcharge_cost"`, - }, - }) - .execute(); - - if (oldTypes.length > 0) { - await apiRoot - .types() - .withKey({ key: 'sctm_transaction_surcharge_cost' }) - .post({ - body: { - version: oldTypes[0].version, - actions: [ - { - action: 'changeKey', - key: CustomFields.surchargeAndCapture.typeKey, - }, - ], - }, - }) - .execute(); - } - - const { - body: { results: types }, - } = await apiRoot - .types() - .get({ - queryArgs: { - where: `key = "${CustomFields.surchargeAndCapture.typeKey}"`, - }, - }) - .execute(); +export async function createCustomTransactionType(): Promise { + const transactionCustomTypeKey = + process.env?.CTP_TRANSACTION_CUSTOM_TYPE_KEY && process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY?.length > 0 + ? process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY + : CustomFields.transactions.defaultCustomTypeKey; - if (types.length <= 0) { - await apiRoot - .types() - .post({ - body: { - key: CustomFields.surchargeAndCapture.typeKey, - name: { - en: '(SCTM) Transaction surcharge & capture control', - de: '(SCTM) Transaktionszuschlag & Erfassungskontrolle', - }, - resourceTypeIds: [CustomFields.surchargeAndCapture.resourceTypeId], - fieldDefinitions: customFields, - }, - }) - .execute(); - - return; - } else { - if (types[0].name.en !== CustomFields.surchargeAndCapture.name.en) { - await apiRoot - .types() - .withKey({ key: CustomFields.surchargeAndCapture.typeKey }) - .post({ - body: { - version: types[0].version, - actions: [ - { - action: 'changeName', - name: { - en: CustomFields.surchargeAndCapture.name.en, - de: CustomFields.surchargeAndCapture.name.de, - }, - }, - ], - }, - }) - .execute(); - } - } - - const type = types[0]; - const definitions = type.fieldDefinitions; - - if (definitions.length > 0) { - const actions: TypeUpdateAction[] = []; - const fieldKeys = customFields.map((field) => field.name); - - definitions.forEach((definition) => { - if (!fieldKeys.includes(definition.name)) { - actions.push({ - action: 'removeFieldDefinition', - fieldName: definition.name, - }); - } - }); - - customFields.forEach((field) => { - if (!definitions.find((definition) => definition.name === field.name)) { - actions.push({ - action: 'addFieldDefinition', - fieldDefinition: field, - }); - } - }); - - await apiRoot - .types() - .withKey({ key: CustomFields.surchargeAndCapture.typeKey }) - .post({ - body: { - version: type.version, - actions, - }, - }) - .execute(); - - return; - } -} - -export async function createTransactionRefundForMolliePaymentCustomType(): Promise { const apiRoot = createApiRoot(); - const customFields: FieldDefinition[] = [ - { - name: CustomFields.transactionRefundForMolliePayment, - label: { - en: 'Identify the Mollie payment which is being refunded', - de: 'Identifizieren Sie die Mollie-Zahlung, die zurückerstattet wird', - }, - required: false, - type: { - name: 'String', - }, - inputHint: 'MultiLine', - }, - ]; - const { body: { results: types }, } = await apiRoot .types() .get({ queryArgs: { - where: `key = "${CustomFields.transactionRefundForMolliePayment}"`, + where: `key = "${transactionCustomTypeKey}"`, }, }) .execute(); @@ -505,49 +259,37 @@ export async function createTransactionRefundForMolliePaymentCustomType(): Promi .types() .post({ body: { - key: CustomFields.transactionRefundForMolliePayment, + key: transactionCustomTypeKey, name: { - en: 'Identify the Mollie payment which is being refunded', - de: 'Identifizieren Sie die Mollie-Zahlung, die zurückerstattet wird', + en: CustomFields.transactions.name.en, + de: CustomFields.transactions.name.de, }, - resourceTypeIds: ['transaction'], - fieldDefinitions: customFields, + resourceTypeIds: [CustomFields.transactions.resourceTypeId], + fieldDefinitions: Object.values(CustomFields.transactions.fields) as FieldDefinition[], }, }) .execute(); - - return; } const type = types[0]; - const definitions = type.fieldDefinitions; - - if (definitions.length > 0) { - const actions: TypeUpdateAction[] = []; - definitions.forEach((definition) => { - actions.push({ - action: 'removeFieldDefinition', - fieldName: definition.name, - }); - }); - customFields.forEach((field) => { - actions.push({ - action: 'addFieldDefinition', - fieldDefinition: field, - }); - }); + const existingDefinitions = type.fieldDefinitions.map((field) => field.name); + const fieldDefinitions = Object.values(CustomFields.transactions.fields).filter( + (field) => !existingDefinitions.includes(field.name), + ) as FieldDefinition[]; + if (fieldDefinitions.length > 0) { await apiRoot .types() - .withKey({ key: CustomFields.transactionRefundForMolliePayment }) + .withKey({ key: transactionCustomTypeKey }) .post({ body: { version: type.version, - actions, + actions: fieldDefinitions.map((field) => ({ + action: 'addFieldDefinition', + fieldDefinition: field, + })), }, }) .execute(); - - return; } } diff --git a/processor/src/mollie/payment.mollie.ts b/processor/src/mollie/payment.mollie.ts index e65cec8..126addc 100644 --- a/processor/src/mollie/payment.mollie.ts +++ b/processor/src/mollie/payment.mollie.ts @@ -211,3 +211,32 @@ export const createCapturePayment = async (options: CreateParameters): Promise => { + try { + const response = await fetch(`https://api.mollie.com/v2/payments/${molliePaymentId}/release-authorization`, { + method: 'POST', + headers: HEADER, + }); + + if (response.status === 202) { + logger.debug( + `SCTM - releaseAuthorizationPayment - Authorization payment released successfully for payment ${molliePaymentId}`, + ); + } + return; + } catch (error: unknown) { + let errorMessage; + + if (error instanceof MollieApiError) { + errorMessage = `SCTM - releaseAuthorizationPayment - error: ${error.message}`; + } else { + errorMessage = `SCTM - releaseAuthorizationPayment - Failed to release authorization payment with unknown errors`; + } + + logger.error(errorMessage, { + error, + }); + throw new CustomError(400, errorMessage); + } +}; diff --git a/processor/src/service/connector.service.ts b/processor/src/service/connector.service.ts index eeb0115..80144f7 100644 --- a/processor/src/service/connector.service.ts +++ b/processor/src/service/connector.service.ts @@ -2,9 +2,7 @@ import { createPaymentExtension, deletePaymentExtension } from '../commercetools import { createCustomPaymentType, createCustomPaymentInterfaceInteractionType, - createCustomPaymentTransactionCancelReasonType, - createTransactionSurchargeCustomType, - createTransactionRefundForMolliePaymentCustomType, + createCustomTransactionType, } from '../commercetools/customFields.commercetools'; import { getAccessToken } from '../commercetools/auth.commercetools'; @@ -13,9 +11,7 @@ export const createExtensionAndCustomFields = async (extensionUrl: string): Prom await createPaymentExtension(extensionUrl, response?.access_token as string); await createCustomPaymentType(); await createCustomPaymentInterfaceInteractionType(); - await createCustomPaymentTransactionCancelReasonType(); - await createTransactionSurchargeCustomType(); - await createTransactionRefundForMolliePaymentCustomType(); + await createCustomTransactionType(); }; export const removeExtension = async (): Promise => { diff --git a/processor/src/service/payment.service.ts b/processor/src/service/payment.service.ts index b06e198..9b1ac88 100644 --- a/processor/src/service/payment.service.ts +++ b/processor/src/service/payment.service.ts @@ -23,6 +23,7 @@ import { getApplePaySession, getPaymentById, listPaymentMethods, + releaseAuthorizationPayment, } from '../mollie/payment.mollie'; import { AddTransaction, @@ -59,7 +60,7 @@ import { setTransactionCustomField, setTransactionCustomType, } from '../commercetools/action.commercetools'; -import { readConfiguration } from '../utils/config.utils'; +import { getTransactionCustomTypeKey, readConfiguration } from '../utils/config.utils'; import { getPaymentExtension } from '../commercetools/extensions.commercetools'; import { HttpDestination } from '@commercetools/platform-sdk/dist/declarations/src/generated/models/extension'; import { cancelPaymentRefund, createPaymentRefund, getPaymentRefund } from '../mollie/refund.mollie'; @@ -195,7 +196,7 @@ const filterMethodsByPricingConstraints = ( const isCaptureFromMollie = ( manualCapture: boolean, - ctTransactions: CTTransaction[], + ctTransactions: Transaction[], molliePayment: MPayment, ): DoCapturePaymentFromMollie => { const hasSuccessAuthorizedTransaction = ctTransactions.some((transaction) => { @@ -232,8 +233,12 @@ const isCaptureFromMollie = ( transaction.interactionId === molliePayment.id, ); + const hasSurchargeCost = + pendingChargeTransaction?.custom?.fields?.[CustomFields.transactions.fields.surchargeCost.name] !== undefined; + return { answer, + hasSurchargeCost, id: pendingChargeTransaction?.id, }; }; @@ -333,7 +338,7 @@ export const handlePaymentWebhook = async (paymentId: string): Promise return false; } - const action = getPaymentStatusUpdateAction(ctPayment.transactions as CTTransaction[], molliePayment); + const action = getPaymentStatusUpdateAction(ctPayment.transactions as Transaction[], molliePayment); // If refunds are present, update their status const refunds = molliePayment._embedded?.refunds; @@ -352,7 +357,7 @@ export const handlePaymentWebhook = async (paymentId: string): Promise await updatePayment(ctPayment, action as PaymentUpdateAction[]); - if (molliePayment.status === PaymentStatus.canceled) { + if (molliePayment.status === PaymentStatus.canceled && molliePayment.method !== PaymentMethod.klarna) { await removeCartMollieCustomLineItem(ctPayment); } @@ -360,7 +365,7 @@ export const handlePaymentWebhook = async (paymentId: string): Promise }; export const getPaymentStatusUpdateAction = ( - ctTransactions: CTTransaction[], + ctTransactions: Transaction[], molliePayment: MPayment, ): UpdateAction[] => { const updateActions: UpdateAction[] = []; @@ -438,23 +443,34 @@ export const getPaymentStatusUpdateAction = ( logger.debug( `SCTM - getPaymentStatusUpdateAction - Capture payment triggered from Mollie paymentID: ${molliePaymentId}`, ); - updateActions.push( - setTransactionCustomField( - CustomFields.surchargeAndCapture.fields.shouldCapture.name, - true, - doCaptureInMollie.id as string, - ), - setTransactionCustomField( - CustomFields.surchargeAndCapture.fields.descriptionCapture.name, - 'Payment is captured from Mollie.', - doCaptureInMollie.id as string, - ), - setTransactionCustomField( - CustomFields.surchargeAndCapture.fields.captureErrors.name, - '', - doCaptureInMollie.id as string, - ), - ); + + if (doCaptureInMollie.hasSurchargeCost) { + updateActions.push( + setTransactionCustomField( + CustomFields.transactions.fields.shouldCapturePayment.name, + true, + doCaptureInMollie.id as string, + ), + setTransactionCustomField( + CustomFields.transactions.fields.capturePaymentDescription.name, + 'Payment is captured from Mollie.', + doCaptureInMollie.id as string, + ), + setTransactionCustomField( + CustomFields.transactions.fields.capturePaymentErrors.name, + '', + doCaptureInMollie.id as string, + ), + ); + } else { + updateActions.push( + setTransactionCustomType(doCaptureInMollie.id as string, getTransactionCustomTypeKey(), { + [CustomFields.transactions.fields.shouldCapturePayment.name]: true, + [CustomFields.transactions.fields.capturePaymentDescription.name]: 'Payment is captured from Mollie.', + [CustomFields.transactions.fields.capturePaymentErrors.name]: '', + }), + ); + } } return updateActions; @@ -588,7 +604,7 @@ export const getCreatePaymentUpdateAction = async ( if (surchargeAmountInCent > 0) { // Add surcharge amount to the custom field of the transaction actions.push( - setTransactionCustomType(originalTransaction.id, CustomFields.surchargeAndCapture.typeKey, { + setTransactionCustomType(originalTransaction.id, getTransactionCustomTypeKey(), { surchargeAmountInCent, }), ); @@ -609,7 +625,7 @@ export const handleCreateRefund = async (ctPayment: Payment): Promise transaction.type === CTTransactionType.Refund && transaction.state === CTTransactionState.Initial, ); - if (initialRefundTransaction?.custom?.fields[CustomFields.transactionRefundForMolliePayment]) { + if (initialRefundTransaction?.custom?.fields[CustomFields.transactions.fields.molliePaymentIdToRefund.name]) { logger.debug('SCTM - handleCreateRefund - creating a refund with specific payment id'); successChargeTransaction = ctPayment.transactions.find( @@ -617,7 +633,7 @@ export const handleCreateRefund = async (ctPayment: Payment): Promise { - const transactionCustomFieldName = CustomFields?.paymentCancelReason; + const transactionCustomFieldName = CustomFields?.transactions?.fields?.cancelPaymentReasonText.name; const newTransactionCustomFieldValue = { - reasonText: triggerTransaction?.custom?.fields?.reasonText, - statusText: CancelStatusText, + [CustomFields.transactions.fields.cancelPaymentReasonText.name]: triggerTransaction?.custom?.fields?.reasonText, + [CustomFields.transactions.fields.cancelPaymentStatusText.name]: CancelStatusText, }; // Update transaction state to failure @@ -797,7 +813,7 @@ export const getPaymentCancelActions = (targetTransaction: Transaction, triggerT // Set transaction custom field value if (transactionCustomFieldName) { actions.push( - setTransactionCustomType(targetTransaction?.id, transactionCustomFieldName, newTransactionCustomFieldValue), + setTransactionCustomType(targetTransaction?.id, getTransactionCustomTypeKey(), newTransactionCustomFieldValue), ); } @@ -873,22 +889,13 @@ export const handleCancelPayment = async (ctPayment: Payment): Promise transaction.type === CTTransactionType.Charge && (transaction.state === CTTransactionState.Pending || transaction.state === CTTransactionState.Failure) && - transaction.custom?.fields?.[CustomFields.surchargeAndCapture.fields.shouldCapture.name], + transaction.custom?.fields?.[CustomFields.transactions.fields.shouldCapturePayment.name], ); if (!pendingChargeTransaction) { @@ -963,7 +970,7 @@ export const handleCapturePayment = async (ctPayment: Payment): Promise; +export type DoCapturePaymentFromMollie = { answer: boolean; hasSurchargeCost: boolean; id?: string }; diff --git a/processor/src/types/index.types.ts b/processor/src/types/index.types.ts index 7bdf906..5aa6ba0 100644 --- a/processor/src/types/index.types.ts +++ b/processor/src/types/index.types.ts @@ -25,6 +25,7 @@ export type ConnectorEnvVars = { authMode: string; sessionAudience: string; sessionIssuer: string; + transactionCustomTypeKey: string; }; mollie: { testApiKey: string; diff --git a/processor/src/utils/config.utils.ts b/processor/src/utils/config.utils.ts index 8f0515e..d3696f5 100644 --- a/processor/src/utils/config.utils.ts +++ b/processor/src/utils/config.utils.ts @@ -2,6 +2,7 @@ import { ConnectorEnvVars } from '../types/index.types'; import CustomError from '../errors/custom.error'; import envValidators from '../validators/env.validators'; import { getValidateMessages } from '../validators/helpers.validators'; +import { CustomFields } from './constant.utils'; /** * Read the configuration env vars * (Add yours accordingly) @@ -20,6 +21,7 @@ export const readConfiguration = () => { authMode: process.env.AUTHENTICATION_MODE as string, sessionAudience: (process.env.CTP_SESSION_AUDIENCE as string) || 'https://mc.europe-west1.gcp.commercetools.com', sessionIssuer: (process.env.CTP_SESSION_ISSUER as string) || 'gcp-eu', + transactionCustomTypeKey: process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY as string, }, mollie: { testApiKey: process.env.MOLLIE_API_TEST_KEY as string, @@ -48,3 +50,11 @@ export const getApiKey = (): string => { } return process.env.MOLLIE_API_LIVE_KEY as string; }; + +export const getTransactionCustomTypeKey = (): string => { + if (process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY) { + return process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY; + } + + return CustomFields.transactions.defaultCustomTypeKey; +}; diff --git a/processor/src/utils/constant.utils.ts b/processor/src/utils/constant.utils.ts index 7d74bfb..616acb2 100644 --- a/processor/src/utils/constant.utils.ts +++ b/processor/src/utils/constant.utils.ts @@ -31,50 +31,102 @@ export const CustomFields = { }, }, }, - paymentCancelReason: 'sctm_payment_cancel_reason', applePay: { session: { request: 'sctm_apple_pay_session_request', response: 'sctm_apple_pay_session_response', }, }, - transactionSurchargeCost: 'sctm_transaction_surcharge_cost', - transactionRefundForMolliePayment: 'sctm_transaction_refund_for_mollie_payment', - surchargeAndCapture: { - typeKey: 'sctm_transaction_surcharge_and_capture', + transactions: { + defaultCustomTypeKey: 'sctm_transactions_custom_type', + resourceTypeId: 'transaction', name: { - en: '(SCTM) Transaction surcharge & capture control', - de: '(SCTM) Transaktionszuschlag & Erfassungskontrolle', + en: '(SCTM) Custom transaction type', + de: '(SCTM) Benutzerdefinierter Transaktionstyp', }, - resourceTypeId: 'transaction', fields: { - surchargeCode: { + cancelPaymentReasonText: { + name: 'reasonText', + label: { + en: 'The reason of cancelling the refund, include the user name', + de: 'Der Grund für die Stornierung der Rückerstattung, den Benutzernamen einschließen', + }, + required: false, + type: { + name: 'String', + }, + inputHint: 'MultiLine', + }, + cancelPaymentStatusText: { + name: 'statusText', + label: { + en: 'To differentiate between the “failure” from CommerceTools and the real status', + de: 'Um zwischen dem „Fehler“ von CommerceTools und dem tatsächlichen Status zu unterscheiden', + }, + required: false, + type: { + name: 'String', + }, + inputHint: 'MultiLine', + }, + molliePaymentIdToRefund: { + name: 'sctm_transaction_refund_for_mollie_payment', + label: { + en: 'Identify the Mollie payment which is being refunded by its ID', + de: 'Identifizieren Sie die Mollie-Zahlung, die zurückerstattet wird durch seine ID', + }, + required: false, + type: { + name: 'String', + }, + inputHint: 'MultiLine', + }, + surchargeCost: { name: 'surchargeAmountInCent', label: { en: 'Total surcharge amount in cent', de: 'Gesamtbetrag des Zuschlags in Cent', }, + required: false, + type: { + name: 'Number', + }, + inputHint: 'MultiLine', }, - shouldCapture: { + shouldCapturePayment: { name: 'sctm_should_capture', label: { en: 'Should capture money for this transaction', de: 'Soll das Geld für diese Transaktion eingezogen werden', }, + required: false, + type: { + name: 'Boolean', + }, }, - descriptionCapture: { + capturePaymentDescription: { name: 'sctm_capture_description', label: { en: 'Capture description', de: 'Beschreibung der Einziehung', }, + required: false, + type: { + name: 'String', + }, + inputHint: 'MultiLine', }, - captureErrors: { + capturePaymentErrors: { name: 'sctm_capture_errors', label: { en: 'Capture errors', de: 'Fehler bei der Einziehung', }, + required: false, + type: { + name: 'String', + }, + inputHint: 'MultiLine', }, }, }, diff --git a/processor/src/utils/paymentAction.utils.ts b/processor/src/utils/paymentAction.utils.ts index 12b9ff6..561cd35 100644 --- a/processor/src/utils/paymentAction.utils.ts +++ b/processor/src/utils/paymentAction.utils.ts @@ -32,7 +32,7 @@ const getTransactionGroups = (transactions: Transaction[]) => { break; case CTTransactionState.Pending: if (transaction.type === CTTransactionType.Charge) { - transaction.custom?.fields?.[CustomFields.surchargeAndCapture.fields.shouldCapture.name] + transaction.custom?.fields?.[CustomFields.transactions.fields.shouldCapturePayment.name] ? groups.pendingCapture.push(transaction) : groups.pendingCharge.push(transaction); } else if (transaction.type === CTTransactionType.Refund) { @@ -49,8 +49,8 @@ const getTransactionGroups = (transactions: Transaction[]) => { case CTTransactionState.Failure: if ( (transaction.type === CTTransactionType.Charge && - transaction.custom?.fields?.[CustomFields.surchargeAndCapture.fields.captureErrors.name]?.length >= 1) || - transaction.custom?.fields?.[CustomFields.surchargeAndCapture.fields.shouldCapture.name] + transaction.custom?.fields?.[CustomFields.transactions.fields.capturePaymentErrors.name]?.length >= 1) || + transaction.custom?.fields?.[CustomFields.transactions.fields.shouldCapturePayment.name] ) { groups.failureCapture.push(transaction); } @@ -77,7 +77,11 @@ const determineAction = (groups: ReturnType): Deter return ConnectorActions.CreatePayment; } - if (groups.successAuthorization.length === 1 && groups.initialCancelAuthorization.length === 1) { + if ( + groups.successAuthorization.length === 1 && + groups.initialCancelAuthorization.length === 1 && + groups.pendingRefund.length !== 1 + ) { return ConnectorActions.CancelPayment; } diff --git a/processor/src/validators/env.validators.ts b/processor/src/validators/env.validators.ts index 185e108..f1a31ec 100644 --- a/processor/src/validators/env.validators.ts +++ b/processor/src/validators/env.validators.ts @@ -122,6 +122,12 @@ const envValidators = [ max: 1, }, ), + + optional(standardString)(['transactionCustomTypeKey'], { + code: 'InvalidTransactionCustomTypeKey', + message: 'Transaction custom type key should be a valid string.', + referencedBy: 'environmentVariables', + }), ]; export default envValidators; diff --git a/processor/tests/commercetools/action.commercetools.spec.ts b/processor/tests/commercetools/action.commercetools.spec.ts index 5563bb1..4906ce4 100644 --- a/processor/tests/commercetools/action.commercetools.spec.ts +++ b/processor/tests/commercetools/action.commercetools.spec.ts @@ -185,7 +185,7 @@ describe('Test actions.utils.ts', () => { }); test('should be able to return the correct setTransactionCustomField action', () => { - const name = CustomFields.surchargeAndCapture.fields.surchargeCode.name; + const name = CustomFields.transactions.fields.surchargeCost.name; const surchargeInCentAmount = { surchargeInCentAmount: 12345, }; diff --git a/processor/tests/controllers/payment.controller.spec.ts b/processor/tests/controllers/payment.controller.spec.ts index b6186f0..0d9150b 100644 --- a/processor/tests/controllers/payment.controller.spec.ts +++ b/processor/tests/controllers/payment.controller.spec.ts @@ -388,7 +388,7 @@ describe('Test payment.controller.ts', () => { { action: 'setTransactionCustomField', transactionId: 'tr_123456', - name: CustomFieldName.paymentCancelReason, + name: CustomFieldName.transactions.fields.cancelPaymentReasonText.name, value: transactionCustomFieldValue, }, ], @@ -504,7 +504,7 @@ describe('Test payment.controller.ts', () => { { action: 'setTransactionCustomField', transactionId: 'tr_123456', - name: CustomFieldName.paymentCancelReason, + name: CustomFieldName.transactions.fields.cancelPaymentReasonText.name, value: transactionCustomFieldValue, }, ], diff --git a/processor/tests/mollie/payment.mollie.spec.ts b/processor/tests/mollie/payment.mollie.spec.ts index d7a5033..e32a220 100644 --- a/processor/tests/mollie/payment.mollie.spec.ts +++ b/processor/tests/mollie/payment.mollie.spec.ts @@ -6,6 +6,7 @@ import { getPaymentById, listPaymentMethods, getApplePaySession, + releaseAuthorizationPayment, } from '../../src/mollie/payment.mollie'; import { MollieApiError, PaymentCreateParams } from '@mollie/api-client'; import { logger } from '../../src/utils/logger.utils'; @@ -543,3 +544,118 @@ describe('getApplePaySession', () => { } }); }); + +describe('releaseAuthorizationPayment', () => { + afterEach(() => { + jest.clearAllMocks(); // Clear all mocks after each test + }); + + it('should call release authorized payment with molliePaymentId', async () => { + const molliePaymentId = 'tr_test'; + + const createPaymentEndpoint = `https://api.mollie.com/v2/payments/${molliePaymentId}/release-authorization`; + const headers = { + 'Content-Type': 'application/json', + Authorization: `Bearer ${getApiKey()}`, + versionStrings: MOLLIE_VERSION_STRINGS, + }; + + (fetch as unknown as jest.Mock).mockImplementation(async () => + Promise.resolve({ + json: () => Promise.resolve({ data: [] }), + headers: new Headers(), + ok: true, + redirected: false, + status: 202, + }), + ); + + await releaseAuthorizationPayment(molliePaymentId); + + expect(fetch).toHaveBeenCalledTimes(1); + expect(fetch).toHaveBeenCalledWith(createPaymentEndpoint, { + method: 'POST', + headers, + }); + }); + + it('should throw error when calling release authorized payment with molliePaymentId', async () => { + const molliePaymentId = 'tr_test'; + + const createPaymentEndpoint = `https://api.mollie.com/v2/payments/${molliePaymentId}/release-authorization`; + const headers = { + 'Content-Type': 'application/json', + Authorization: `Bearer ${getApiKey()}`, + versionStrings: MOLLIE_VERSION_STRINGS, + }; + + const errorMessage = + 'SCTM - releaseAuthorizationPayment - error: The pre-authorized payment has already been reversed'; + + (fetch as unknown as jest.Mock).mockImplementation(async () => { + throw new MollieApiError('The pre-authorized payment has already been reversed', { + field: '', + statusCode: 400, + }); + }); + + try { + await releaseAuthorizationPayment(molliePaymentId); + } catch (error: unknown) { + expect(fetch).toHaveBeenCalledTimes(1); + expect(fetch).toHaveBeenCalledWith(createPaymentEndpoint, { + method: 'POST', + headers, + }); + + expect(logger.error).toHaveBeenCalledTimes(1); + expect(logger.error).toHaveBeenCalledWith(errorMessage, { + error: new MollieApiError('The pre-authorized payment has already been reversed', { + field: '', + statusCode: 400, + }), + }); + + expect(error).toBeInstanceOf(CustomError); + expect((error as CustomError).statusCode).toBe(400); + expect((error as CustomError).message).toBe(errorMessage); + } + }); + + it('should throw a general error when an exception is thrown somewhere in the process', async () => { + const molliePaymentId = 'tr_test'; + + const createPaymentEndpoint = `https://api.mollie.com/v2/payments/${molliePaymentId}/release-authorization`; + const headers = { + 'Content-Type': 'application/json', + Authorization: `Bearer ${getApiKey()}`, + versionStrings: MOLLIE_VERSION_STRINGS, + }; + + const errorMessage = + 'SCTM - releaseAuthorizationPayment - Failed to release authorization payment with unknown errors'; + + const generalError = new Error('General error'); + + (fetch as unknown as jest.Mock).mockImplementation(async () => { + throw generalError; + }); + + try { + await releaseAuthorizationPayment(molliePaymentId); + } catch (error: any) { + expect(fetch).toHaveBeenCalledTimes(1); + expect(fetch).toHaveBeenCalledWith(createPaymentEndpoint, { + method: 'POST', + headers, + }); + + expect(logger.error).toHaveBeenCalledTimes(1); + expect(logger.error).toHaveBeenCalledWith(errorMessage, { error: generalError }); + + expect(error).toBeInstanceOf(CustomError); + expect((error as CustomError).statusCode).toBe(400); + expect((error as CustomError).message).toBe(errorMessage); + } + }); +}); diff --git a/processor/tests/routes/processor.route.spec.ts b/processor/tests/routes/processor.route.spec.ts index a41e467..974e372 100644 --- a/processor/tests/routes/processor.route.spec.ts +++ b/processor/tests/routes/processor.route.spec.ts @@ -6,9 +6,7 @@ import { createPaymentExtension, deletePaymentExtension } from '../../src/commer import { createCustomPaymentType, createCustomPaymentInterfaceInteractionType, - createCustomPaymentTransactionCancelReasonType, - createTransactionSurchargeCustomType, - createTransactionRefundForMolliePaymentCustomType, + createCustomTransactionType, } from '../../src/commercetools/customFields.commercetools'; import { getAccessToken } from '../../src/commercetools/auth.commercetools'; @@ -20,9 +18,7 @@ jest.mock('../../src/commercetools/extensions.commercetools', () => ({ jest.mock('../../src/commercetools/customFields.commercetools', () => ({ createCustomPaymentType: jest.fn(), createCustomPaymentInterfaceInteractionType: jest.fn(), - createCustomPaymentTransactionCancelReasonType: jest.fn(), - createTransactionSurchargeCustomType: jest.fn(), - createTransactionRefundForMolliePaymentCustomType: jest.fn(), + createCustomTransactionType: jest.fn(), })); jest.mock('../../src/commercetools/auth.commercetools', () => ({ @@ -155,13 +151,12 @@ describe('Test src/route/processor.route.ts', () => { //@ts-expect-error handler should be always available const handler = layer.route.stack[0].handle; + expect(handler).toBeDefined(); + (createPaymentExtension as jest.Mock).mockReturnValueOnce(Promise.resolve()); (createCustomPaymentType as jest.Mock).mockReturnValueOnce(Promise.resolve()); (createCustomPaymentInterfaceInteractionType as jest.Mock).mockReturnValueOnce(Promise.resolve()); - (createCustomPaymentTransactionCancelReasonType as jest.Mock).mockReturnValueOnce(Promise.resolve()); - (createTransactionSurchargeCustomType as jest.Mock).mockReturnValueOnce(Promise.resolve()); - (createTransactionRefundForMolliePaymentCustomType as jest.Mock).mockReturnValueOnce(Promise.resolve()); - (createTransactionRefundForMolliePaymentCustomType as jest.Mock).mockReturnValueOnce(Promise.resolve()); + (createCustomTransactionType as jest.Mock).mockReturnValueOnce(Promise.resolve()); (getAccessToken as jest.Mock).mockReturnValueOnce(Promise.resolve()); diff --git a/processor/tests/service/payment.service.spec.ts b/processor/tests/service/payment.service.spec.ts index e4d98ba..c9c7443 100644 --- a/processor/tests/service/payment.service.spec.ts +++ b/processor/tests/service/payment.service.spec.ts @@ -39,6 +39,7 @@ import { getPaymentById, listPaymentMethods, createCapturePayment, + releaseAuthorizationPayment, } from '../../src/mollie/payment.mollie'; import { cancelPaymentRefund, createPaymentRefund, getPaymentRefund } from '../../src/mollie/refund.mollie'; import CustomError from '../../src/errors/custom.error'; @@ -93,6 +94,7 @@ jest.mock('../../src/mollie/payment.mollie', () => ({ getApplePaySession: jest.fn(), createPaymentWithCustomMethod: jest.fn(), createCapturePayment: jest.fn(), + releaseAuthorizationPayment: jest.fn(), })); jest.mock('../../src/mollie/refund.mollie', () => ({ @@ -1212,7 +1214,7 @@ describe('Test getCreatePaymentUpdateAction', () => { expect(actual[4]).toEqual({ action: 'setTransactionCustomType', type: { - key: 'sctm_transaction_surcharge_and_capture', + key: CustomFieldName.transactions.defaultCustomTypeKey, }, fields: { surchargeAmountInCent: 1000, @@ -1429,7 +1431,7 @@ describe('Test handleCreatePayment', () => { { action: 'setTransactionCustomType', type: { - key: 'sctm_transaction_surcharge_and_capture', + key: CustomFieldName.transactions.defaultCustomTypeKey, }, fields: { surchargeAmountInCent: 1020, @@ -1517,11 +1519,11 @@ describe('Test handleCreateRefund', () => { { action: 'setTransactionCustomType', type: { - key: CustomFieldName.transactionRefundForMolliePayment, + key: CustomFieldName.transactions.defaultCustomTypeKey, }, transactionId: 'test_refund', fields: { - [CustomFieldName.transactionRefundForMolliePayment]: 'tr_123123', + [CustomFieldName.transactions.fields.molliePaymentIdToRefund.name]: 'tr_123123', }, }, { @@ -1624,11 +1626,11 @@ describe('Test handleCreateRefund', () => { { action: 'setTransactionCustomType', type: { - key: CustomFieldName.transactionRefundForMolliePayment, + key: CustomFieldName.transactions.defaultCustomTypeKey, }, transactionId: 'test_refund', fields: { - [CustomFieldName.transactionRefundForMolliePayment]: targetedMolliePaymentId, + [CustomFieldName.transactions.fields.molliePaymentIdToRefund.name]: targetedMolliePaymentId, }, }, { @@ -1700,7 +1702,7 @@ describe('Test handleCreateRefund', () => { id: 'custom-type-id', }, fields: { - [CustomFieldName.transactionRefundForMolliePayment]: targetedMolliePaymentId, + [CustomFieldName.transactions.fields.molliePaymentIdToRefund.name]: targetedMolliePaymentId, }, }, }, @@ -1851,7 +1853,7 @@ describe('Test getPaymentCancelActions', () => { expect(actual[2]).toEqual({ action: 'setTransactionCustomType', type: { - key: CustomFieldName.paymentCancelReason, + key: CustomFieldName.transactions.defaultCustomTypeKey, }, transactionId: CTPayment.transactions[0].id, fields: { @@ -2091,7 +2093,7 @@ describe('Test handlePaymentCancelRefund', () => { id: 'custom-type', }, fields: { - [CustomFieldName.transactionRefundForMolliePayment]: 'tr_123123', + [CustomFieldName.transactions.fields.molliePaymentIdToRefund.name]: 'tr_123123', }, }, }, @@ -2236,7 +2238,7 @@ describe('Test handlePaymentCancelRefund', () => { id: 'custom-type', }, fields: { - [CustomFieldName.transactionRefundForMolliePayment]: 'tr_123123', + [CustomFieldName.transactions.fields.molliePaymentIdToRefund.name]: 'tr_123123', }, }, }, @@ -2462,7 +2464,7 @@ describe('Test handlePaymentWebhook', () => { { action: 'setTransactionCustomType', type: { - key: 'sctm_payment_cancel_reason', + key: CustomFieldName.transactions.defaultCustomTypeKey, }, fields: { reasonText: ctPayment.transactions[1].custom?.fields.reasonText, @@ -2759,6 +2761,54 @@ describe('Test handleCancelPayment', () => { actions: [], }); }); + + it('should return status code for release klarna authorization payment', async () => { + const cartService = require('../../src/service/cart.service'); + + jest.spyOn(cartService, 'removeCartMollieCustomLineItem'); + + const molliePayment: molliePayment = { + resource: 'payment', + id: 'tr_7UhSN1zuXS', + mode: 'live', + amount: { + value: '10.00', + currency: 'EUR', + }, + description: 'Order #12345', + sequenceType: 'oneoff', + redirectUrl: 'https://webshop.example.org/order/12345/', + webhookUrl: 'https://webshop.example.org/payments/webhook/', + metadata: '{"order_id":12345}', + profileId: 'pfl_QkEhN94Ba', + status: 'authorized', + method: 'klarna', + createdAt: '2024-03-20T09:13:37+00:00', + expiresAt: '2024-03-20T09:28:37+00:00', + _links: { + checkout: { + href: 'https://www.mollie.com/checkout/select-method/7UhSN1zuXS', + type: 'text/html', + }, + }, + } as molliePayment; + + (getPaymentById as jest.Mock).mockReturnValueOnce(molliePayment); + + (releaseAuthorizationPayment as jest.Mock).mockReturnValueOnce(molliePayment); + + const actual = await handleCancelPayment(CTPayment); + + expect(getPaymentById).toBeCalledTimes(1); + expect(getPaymentById).toBeCalledWith(CTPayment.transactions[0].interactionId); + expect(releaseAuthorizationPayment).toBeCalledTimes(1); + expect(releaseAuthorizationPayment).toBeCalledWith(molliePayment.id); + + expect(actual).toEqual({ + statusCode: 200, + actions: [], + }); + }); }); describe('Test handleGetApplePaySession', () => { @@ -3017,13 +3067,13 @@ describe('Test handleGetApplePaySession', () => { interactionId: 'tr_7UhSN1zuXS', custom: { fields: { - sctm_should_capture: true, + [CustomFieldName.transactions.fields.shouldCapturePayment.name]: true, }, } as unknown as CustomFields, }, { id: '5c8b0375-305a-4f19-ae8e-07806b101299', - type: 'Athorization', + type: 'Authorization', amount: { type: 'centPrecision', currencyCode: 'EUR', @@ -3193,7 +3243,7 @@ describe('Test handleGetApplePaySession', () => { interactionId: 'tr_7UhSN1zuXS', custom: { fields: { - sctm_should_capture: true, + [CustomFieldName.transactions.fields.shouldCapturePayment.name]: true, }, } as unknown as CustomFields, }, @@ -3291,7 +3341,7 @@ describe('Test handleGetApplePaySession', () => { interactionId: 'tr_7UhSN2zuXS', custom: { fields: { - sctm_should_capture: true, + [CustomFieldName.transactions.fields.shouldCapturePayment.name]: true, }, } as unknown as CustomFields, }, @@ -3379,7 +3429,7 @@ describe('Test handleGetApplePaySession', () => { interactionId: 'tr_7UhSN2zuXS', custom: { fields: { - sctm_should_capture: true, + [CustomFieldName.transactions.fields.shouldCapturePayment.name]: true, }, } as unknown as CustomFields, }, @@ -3467,7 +3517,7 @@ describe('Test handleGetApplePaySession', () => { interactionId: 'tr_7UhSN2zuXS', custom: { fields: { - sctm_should_capture: true, + [CustomFieldName.transactions.fields.shouldCapturePayment.name]: true, }, } as unknown as CustomFields, }, @@ -3532,7 +3582,7 @@ describe('Test handleGetApplePaySession', () => { actions: [ { action: 'setTransactionCustomField', - name: 'sctm_capture_errors', + name: CustomFieldName.transactions.fields.capturePaymentErrors.name, value: '{"errorMessage":"Capture failed","submitData":{"paymentId":"tr_7UhSN2zuXS","amount":{"value":"10.00","currency":"EUR"},"description":""}}', transactionId: '5c8b0375-305a-4f19-ae8e-07806b101999', diff --git a/processor/tests/utils/config.utils.spec.ts b/processor/tests/utils/config.utils.spec.ts index 0ebfe24..5ea714c 100644 --- a/processor/tests/utils/config.utils.spec.ts +++ b/processor/tests/utils/config.utils.spec.ts @@ -16,6 +16,7 @@ describe('Test src/utils/config.utils.ts', () => { authMode: process.env.AUTHENTICATION_MODE, sessionAudience: process.env.CTP_SESSION_AUDIENCE, sessionIssuer: process.env.CTP_SESSION_ISSUER, + transactionCustomTypeKey: process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY, }, mollie: { liveApiKey: process.env.MOLLIE_API_LIVE_KEY, @@ -76,4 +77,25 @@ describe('Test src/utils/config.utils.ts', () => { process.env.AUTHENTICATION_MODE = 'dummy'; expect(() => readConfiguration()).toThrow(CustomError); }); + + test('should return CTP_TRANSACTION_CUSTOM_TYPE_KEY', () => { + process.env.CTP_CLIENT_ID = '123456789012345678901234'; + process.env.CTP_CLIENT_SECRET = '12345678901234567890123456789012'; + process.env.CTP_PROJECT_KEY = 'custom_type_key'; + process.env.CTP_SCOPE = 'custom_type_key'; + process.env.CTP_REGION = 'europe-west1.gcp'; + process.env.CTP_AUTH_URL = 'custom_type_key'; + process.env.AUTHENTICATION_MODE = '0'; + process.env.CTP_SESSION_AUDIENCE = 'custom_type_key'; + process.env.CTP_SESSION_ISSUER = 'custom_type_key'; + process.env.CTP_TRANSACTION_CUSTOM_TYPE_KEY = 'custom_type_key'; + process.env.MOLLIE_API_LIVE_KEY = 'custom_type_key'; + process.env.MOLLIE_API_TEST_KEY = 'custom_type_key'; + process.env.CONNECTOR_MODE = 'test'; + process.env.DEBUG = '0'; + process.env.MOLLIE_PROFILE_ID = 'custom_type_key'; + const config = readConfiguration(); + + expect(config.commerceTools.transactionCustomTypeKey).toBe('custom_type_key'); + }); }); diff --git a/processor/tests/utils/constant.utils.spec.ts b/processor/tests/utils/constant.utils.spec.ts index a9397f2..2ecde63 100644 --- a/processor/tests/utils/constant.utils.spec.ts +++ b/processor/tests/utils/constant.utils.spec.ts @@ -37,7 +37,16 @@ describe('Test constant.utils.ts', () => { expect(CustomFields?.createPayment?.request).toBeDefined(); expect(CustomFields?.createPayment?.interfaceInteraction).toBeDefined(); - expect(CustomFields?.paymentCancelReason).toBeDefined(); + expect(CustomFields?.transactions.defaultCustomTypeKey).toBeDefined(); + expect(CustomFields?.transactions.resourceTypeId).toBeDefined(); + expect(CustomFields?.transactions.name).toBeDefined(); + expect(CustomFields?.transactions.fields.cancelPaymentReasonText.name).toBeDefined(); + expect(CustomFields?.transactions.fields.cancelPaymentStatusText.name).toBeDefined(); + expect(CustomFields?.transactions.fields.molliePaymentIdToRefund.name).toBeDefined(); + expect(CustomFields?.transactions.fields.surchargeCost.name).toBeDefined(); + expect(CustomFields?.transactions.fields.shouldCapturePayment.name).toBeDefined(); + expect(CustomFields?.transactions.fields.capturePaymentDescription.name).toBeDefined(); + expect(CustomFields?.transactions.fields.capturePaymentErrors.name).toBeDefined(); expect(CustomFields?.applePay?.session?.request).toBeDefined(); expect(CustomFields?.applePay?.session?.response).toBeDefined(); From 1398abbfefb8fc5b53a49247d604094a58d0061c Mon Sep 17 00:00:00 2001 From: Win <84066239+tdang1-shopmacher@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:09:14 +0700 Subject: [PATCH 2/3] Release/v1.4.0 (#167) --- CHANGELOG.md | 18 +- .../cypress/e2e/method-details-icon.cy.ts | 19 +- application/cypress/e2e/method-details.cy.ts | 52 +- application/cypress/e2e/welcome.cy.ts | 21 +- application/cypress/fixtures/forward-to.json | 3835 +++++++------- .../cypress/fixtures/objects-paginated.json | 273 + application/cypress/support/constants.ts | 21 + application/package.json | 9 +- .../src/components/welcome/welcome.tsx | 13 +- application/src/constants.ts | 6 +- .../use-mollie-connector.ts | 12 - application/src/types/app.ts | 8 + application/yarn.lock | 4666 +++++++++-------- processor/bin/ngrok.sh | 3 +- processor/src/types/mollie.types.ts | 8 + .../src/validators/helpers.validators.ts | 25 - .../validators/payment.validators.spec.ts | 6 +- 17 files changed, 4918 insertions(+), 4077 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb29577..54d6aeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## v1.4.0 + +Added + +- Support for payment methods `trustly` `bancomatpay` `mbway` `multibanco` `satispay` `twint` `paybybank` `eps` + ## v1.3.2 Added @@ -96,8 +102,11 @@ Added Fixed [Create Refund](./docs/CreateRefund.md) + - Handling the Refund Creation for the case that the Payment has more than one Success Charge transaction + - Changing the way to determine the Create Refund action: + - Before ```Typescript @@ -167,7 +176,7 @@ Fixed custom: { type: { ... - }, + }, fields: { sctm_transaction_refund_for_mollie_payment: 'tr_123456' // Creating a Refund for the Mollie Payment tr_123456 } @@ -178,8 +187,11 @@ Fixed ``` [Cancel Refund](./docs/CancelPaymentRefund.md) + - Following the changes for creating refund, we also updated the handler for Refund Cancellation to match with the above changes + - Changing the way to determine the Cancel Refund action: + - Before ```Typescript @@ -248,7 +260,7 @@ Fixed // In this case, this will be considered as a Cancellation request for the Pending Refund with id: refund-transaction-2 ``` - __*Note:* The above solution is just for supporting the old versions and will be remove in the near future (in next versions). From this version, please follow the below solution.__ + **_Note:_ The above solution is just for supporting the old versions and will be remove in the near future (in next versions). From this version, please follow the below solution.** - However, to do it in a correct way, from this version, you should specify the Mollie Refund ID (which stored in the `interactionId` of the Pending Refund transaction) that you want to cancel by putting it in the `interactionId` of the Initial CancelAuthorization. For example: @@ -287,7 +299,7 @@ Fixed ] } - // In this case, this will be considered as a Cancellation request for the Pending Refund with id: refund-transaction-1 + // In this case, this will be considered as a Cancellation request for the Pending Refund with id: refund-transaction-1 ``` ## v1.1.2 diff --git a/application/cypress/e2e/method-details-icon.cy.ts b/application/cypress/e2e/method-details-icon.cy.ts index cb7f182..4c83780 100644 --- a/application/cypress/e2e/method-details-icon.cy.ts +++ b/application/cypress/e2e/method-details-icon.cy.ts @@ -5,6 +5,7 @@ import { entryPointUriPath, APPLICATION_BASE_ROUTE, + PAYMENT_METHODS, } from '../support/constants'; beforeEach(() => { @@ -23,14 +24,14 @@ beforeEach(() => { describe('Test method details - Icon tab', () => { it('should be fully functional', () => { - const paymentMethod = 'PayPal'; - - cy.findByText(paymentMethod).click(); - - cy.findByRole('tab', { name: 'Icon' }).click(); - cy.url().should('contain', 'icon'); - - cy.findByTestId('image-url-input').should('be.visible'); - cy.findByTestId('image-preview').should('be.visible'); + PAYMENT_METHODS.forEach((paymentMethod) => { + cy.findByTestId(`name-column-${paymentMethod}`).click(); + cy.url().should('contain', 'general'); + cy.findByRole('tab', { name: 'Icon' }).click(); + cy.url().should('contain', 'icon'); + cy.findByTestId('image-url-input').should('be.visible'); + cy.findByTestId('image-preview').should('be.visible'); + cy.get('body').type('{esc}'); + }); }); }); diff --git a/application/cypress/e2e/method-details.cy.ts b/application/cypress/e2e/method-details.cy.ts index a8469d1..75002cb 100644 --- a/application/cypress/e2e/method-details.cy.ts +++ b/application/cypress/e2e/method-details.cy.ts @@ -5,6 +5,7 @@ import { entryPointUriPath, APPLICATION_BASE_ROUTE, + PAYMENT_METHODS, } from '../support/constants'; beforeEach(() => { cy.loginToMerchantCenter({ @@ -23,56 +24,27 @@ beforeEach(() => { describe('Test welcome.cy.ts', () => { it('should render method details page', () => { const LOCALE = Cypress.env('LOCALE'); - const paymentMethods = [ - 'PayPal', - 'iDEAL Pay in 3 instalments, 0% interest', - 'iDEAL', - 'Bancontact', - 'Blik', - ]; - cy.findByText(paymentMethods[0]).click(); - cy.url().should('contain', 'general'); - - cy.findByTestId('status-select').should('exist'); - - cy.findByTestId(`name-input-${LOCALE}`).should('exist'); - cy.findByTestId(`description-input-${LOCALE}`).should('exist'); - cy.findByTestId(`display-order-input`).should('exist'); - }); - - it('should update display order successfully', () => { - const paymentMethodIds = ['paypal']; - - cy.findByTestId(`display-order-column-${paymentMethodIds[0]}`).click(); - cy.url().should('contain', 'general'); - - cy.findByTestId(`display-order-input`).should('exist'); - cy.findByTestId(`display-order-input`).clear(); - cy.findByTestId(`display-order-input`).type('20'); - cy.findByTestId(`save-button`).click(); - cy.findByLabelText('Go back').click(); - cy.findByTestId(`display-order-column-${paymentMethodIds[0]}`).should( - 'have.text', - 20 - ); + PAYMENT_METHODS.forEach((paymentMethod) => { + cy.findByTestId(`name-column-${paymentMethod}`).click(); + cy.url().should('contain', 'general'); + cy.findByTestId('status-select').should('exist'); + cy.findByTestId(`name-input-${LOCALE}`).should('exist'); + cy.findByTestId(`description-input-${LOCALE}`).should('exist'); + cy.findByTestId(`display-order-input`).should('exist'); + cy.get('body').type('{esc}'); + }); }); it('credit card component visibility config should exist', () => { - const paymentMethodIds = ['creditcard']; - - cy.findByTestId(`display-order-column-${paymentMethodIds[0]}`).click(); + cy.findByTestId(`display-order-column-creditcard`).click(); cy.url().should('contain', 'general'); - cy.findByTestId(`display-card-component`).should('exist'); }); it('banktransfer due date config should exist', () => { - const paymentMethodIds = ['banktransfer']; - - cy.findByTestId(`display-order-column-${paymentMethodIds[0]}`).click(); + cy.findByTestId(`display-order-column-banktransfer`).click(); cy.url().should('contain', 'general'); - cy.findByTestId(`banktransfer-due-date`).should('exist'); }); }); diff --git a/application/cypress/e2e/welcome.cy.ts b/application/cypress/e2e/welcome.cy.ts index 5fbb7e0..9c18e12 100644 --- a/application/cypress/e2e/welcome.cy.ts +++ b/application/cypress/e2e/welcome.cy.ts @@ -5,6 +5,7 @@ import { entryPointUriPath, APPLICATION_BASE_ROUTE, + PAYMENT_METHODS, } from '../support/constants'; describe('Test welcome.cy.ts', () => { @@ -14,6 +15,7 @@ describe('Test welcome.cy.ts', () => { initialRoute: APPLICATION_BASE_ROUTE, }); }); + it('should render payment methods list', () => { cy.fixture('forward-to').then((response) => { cy.intercept('GET', '/proxy/forward-to', { @@ -22,31 +24,22 @@ describe('Test welcome.cy.ts', () => { }); }); - const paymentMethods = [ - 'PayPal', - 'iDEAL', - 'Bancontact', - 'Blik', - 'Bank transfer', - 'Pay with Klarna', - ]; - - const headers = ['Payment method', 'Active', 'Icon', 'Display order']; + const headers = ['name', 'status', 'image', 'order']; cy.findByText('Mollie payment methods').should('exist'); cy.findByText('Content will follow...').should('not.exist'); headers.forEach((header) => { - cy.findByText(header).should('exist'); + cy.findByTestId(`header-${header}`).should('exist'); }); - paymentMethods.forEach((paymentMethod) => { - cy.findByText(paymentMethod).should('exist'); + PAYMENT_METHODS.forEach((paymentMethod) => { + cy.findByTestId(`name-column-${paymentMethod}`).should('exist'); }); }); it('should render no data notification', () => { - cy.fixture('forward-to').then((response) => { + cy.fixture('forward-to').then(() => { cy.intercept('GET', '/proxy/forward-to', { statusCode: 200, body: {}, diff --git a/application/cypress/fixtures/forward-to.json b/application/cypress/fixtures/forward-to.json index 8f540ca..48f5e76 100644 --- a/application/cypress/fixtures/forward-to.json +++ b/application/cypress/fixtures/forward-to.json @@ -1,1847 +1,2002 @@ { "_embedded": { - "methods": [ - { - "resource": "method", - "id": "applepay", - "description": "Apple Pay", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "10000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/applepay.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/applepay%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/applepay.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "American Express", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "amex" - }, - { - "description": "American Express Intra-EEA", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "amex-intra-eea" - }, - { - "description": "Credit Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "3.25", - "feeRegion": null - }, - { - "description": "Domestic Consumer Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.8", - "feeRegion": "domestic" - }, - { - "description": "European Commercial Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "intra-eu-corporate" - }, - { - "description": "European Consumer Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.8", - "feeRegion": "eu-cards" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/applepay", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "googlepay", - "description": "Google Pay", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "10000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/googlepay.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/googlepay%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/googlepay.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "American Express", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "amex" - }, - { - "description": "American Express Intra-EEA", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "amex-intra-eea" - }, - { - "description": "Credit Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "3.25", - "feeRegion": null - }, - { - "description": "Domestic Consumer Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.8", - "feeRegion": "domestic" - }, - { - "description": "European Commercial Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "intra-eu-corporate" - }, - { - "description": "European Consumer Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.8", - "feeRegion": "eu-cards" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/googlepay", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "ideal", - "description": "iDEAL", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/ideal.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/ideal%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/ideal.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "iDEAL", - "fixed": { - "value": "0.39", - "currency": "EUR" - }, - "variable": "0" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/ideal", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "creditcard", - "description": "Card", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "10000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/creditcard.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/creditcard.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "American Express", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "amex" - }, - { - "description": "American Express Intra-EEA", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "amex-intra-eea" - }, - { - "description": "Credit Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "3.25", - "feeRegion": null - }, - { - "description": "Domestic Consumer Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.8", - "feeRegion": "domestic" - }, - { - "description": "European Commercial Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.9", - "feeRegion": "intra-eu-corporate" - }, - { - "description": "European Consumer Card", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.8", - "feeRegion": "eu-cards" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/creditcard", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "in3", - "description": "iDEAL Pay in 3 instalments, 0% interest", - "minimumAmount": { - "value": "0.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "30000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/in3.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/in3%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/in3.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "in3", - "fixed": { - "value": "0.95", - "currency": "EUR" - }, - "variable": "3.99" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/in3", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "klarnapaylater", - "description": "Pay later.", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "4000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/klarnapaylater.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/klarnapaylater%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/klarnapaylater.svg" - }, - "status": null, - "pricing": [ - { - "description": "Klarna Pay in 3 (France)", - "fixed": { - "value": "0.20", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Austria)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Belgium)", - "fixed": { - "value": "1.00", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Denmark)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Finland)", - "fixed": { - "value": "0.59", - "currency": "EUR" - }, - "variable": "2.79" - }, - { - "description": "Klarna Pay Later (Germany)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Italy)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Netherlands)", - "fixed": { - "value": "1.00", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Norway)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Portugal)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Spain)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Sweden)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/klarnapaylater", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "klarnapaynow", - "description": "Pay now.", - "minimumAmount": { - "value": "0.10", - "currency": "EUR" - }, - "maximumAmount": { - "value": "10000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/klarnapaynow.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/klarnapaynow%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/klarnapaynow.svg" - }, - "status": null, - "pricing": [ - { - "description": "Klarna Pay Now (Austria)", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.45" - }, - { - "description": "Klarna Pay Now (Belgium)", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.45" - }, - { - "description": "Klarna Pay Now (Finland)", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.45" - }, - { - "description": "Klarna Pay Now (Germany)", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.45" - }, - { - "description": "Klarna Pay Now (Italy)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Netherlands)", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.45" - }, - { - "description": "Klarna Pay Now (Spain)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Sweden)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/klarnapaynow", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "klarnasliceit", - "description": "Slice it.", - "minimumAmount": { - "value": "45.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "5000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/klarnasliceit.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/klarnasliceit%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/klarnasliceit.svg" - }, - "status": null, - "pricing": [ - { - "description": "Klarna Pay in 3 (Italy)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay in 3 (Netherlands)", - "fixed": { - "value": "0.95", - "currency": "EUR" - }, - "variable": "3.99" - }, - { - "description": "Klarna Pay in 3 (Portugal)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay in 3 (Spain)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Slice It (Austria)", - "fixed": { - "value": "0.00", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Slice It (Denmark)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Slice It (Finland)", - "fixed": { - "value": "0.59", - "currency": "EUR" - }, - "variable": "0.99" - }, - { - "description": "Klarna Slice It (Germany)", - "fixed": { - "value": "0.00", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Slice It (Norway)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Slice It (Sweden)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/klarnasliceit", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "paypal", - "description": "PayPal", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": null, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/paypal.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/paypal%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/paypal.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "PayPal", - "fixed": { - "value": "0.10", - "currency": "EUR" - }, - "variable": "0" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/paypal", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "banktransfer", - "description": "Bank transfer", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "1000000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/banktransfer.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/banktransfer.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Bank Transfer", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/banktransfer", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "giftcard", - "description": "Gift cards", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": null, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/giftcard.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/giftcard%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/giftcard.svg" - }, - "status": "pending-boarding", - "pricing": [ - { - "description": "Giftcard", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/giftcard", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "bancontact", - "description": "Bancontact", - "minimumAmount": { - "value": "0.02", - "currency": "EUR" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/bancontact.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/bancontact%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/bancontact.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Bancontact", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.4" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/bancontact", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "eps", - "description": "eps", - "minimumAmount": { - "value": "1.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/eps.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/eps%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/eps.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "EPS", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/eps", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "giropay", - "description": "giropay", - "minimumAmount": { - "value": "1.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "10000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/giropay.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/giropay%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/giropay.svg" - }, - "status": "pending-boarding", - "pricing": [ - { - "description": "Giropay", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/giropay", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "przelewy24", - "description": "Przelewy24", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "12815.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/przelewy24.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/przelewy24%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/przelewy24.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Przelewy24", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.2" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/przelewy24", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "kbc", - "description": "KBC/CBC Payment Button", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/kbc.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/kbc%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/kbc.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "KBC/CBC Payment Button", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0.9" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/kbc", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "belfius", - "description": "Belfius Pay Button", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/belfius.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/belfius%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/belfius.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Belfius Pay Button ", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0.9" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/belfius", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "voucher", - "description": "Vouchers", - "minimumAmount": { - "value": "1.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "100000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/voucher.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/voucher%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/voucher.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Vouchers", - "fixed": { - "value": "0.50", - "currency": "EUR" - }, - "variable": "0.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/voucher", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "directdebit", - "description": "SEPA Direct Debit", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "1000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/directdebit.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/directdebit%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/directdebit.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "SEPA Direct Debit", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0.9" - }, - { - "description": "SEPA Direct: Debit Batch", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/directdebit", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "billie", - "description": "Pay by Invoice for Businesses - Billie", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "25000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/billie.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/billie%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/billie.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Billie (Austria)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "3.49" - }, - { - "description": "Billie (France)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "3.49" - }, - { - "description": "Billie (Germany)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "3.49" - }, - { - "description": "Billie (Netherlands)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "3.49" - }, - { - "description": "Billie (Sweden)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "3.49" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/billie", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "klarna", - "description": "Pay with Klarna", - "minimumAmount": { - "value": "1.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "14000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/klarna.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/klarna%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/klarna.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Klarna Financing (Austria)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Belgium)", - "fixed": { - "value": "0.45", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Denmark)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Finland)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (France)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.5" - }, - { - "description": "Klarna Financing (Germany)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Ireland)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Financing (Italy)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Financing (Netherlands)", - "fixed": { - "value": "0.45", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Norway)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Portugal)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Financing (Spain)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Financing (Sweden)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (Switzerland)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Financing (United Kingdom)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Austria)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Belgium)", - "fixed": { - "value": "0.45", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Denmark)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Finland)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (France)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.5" - }, - { - "description": "Klarna Pay Later (Germany)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Ireland)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Italy)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Netherlands)", - "fixed": { - "value": "0.45", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Norway)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Portugal)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Spain)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Later (Sweden)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (Switzerland)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Later (United Kingdom)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Austria)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Belgium)", - "fixed": { - "value": "0.45", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Denmark)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Finland)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (France)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.5" - }, - { - "description": "Klarna Pay Now (Germany)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Ireland)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Italy)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Netherlands)", - "fixed": { - "value": "0.45", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Norway)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Portugal)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Spain)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "4.99" - }, - { - "description": "Klarna Pay Now (Sweden)", - "fixed": { - "value": "0.40", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (Switzerland)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Klarna Pay Now (United Kingdom)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.99" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/klarna", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "twint", - "description": "TWINT", - "minimumAmount": { - "value": "0.01", - "currency": "CHF" - }, - "maximumAmount": { - "value": "5000.00", - "currency": "CHF" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/twint.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/twint%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/twint.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "TWINT", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "2.3" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/twint", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "blik", - "description": "Blik", - "minimumAmount": { - "value": "0.01", - "currency": "PLN" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "PLN" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/blik.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/blik%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/blik.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "BLIK", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.6" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/blik", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "bancomatpay", - "description": "Bancomat Pay", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "1000000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/bancomatpay.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/bancomatpay%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/bancomatpay.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "BANCOMAT Pay", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/bancomatpay", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "alma", - "description": "Pay in 3 or 4 installments free of charge", - "minimumAmount": { - "value": "50.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "2000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/alma.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/alma%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/alma.svg" - }, - "status": null, - "pricing": [ - { - "description": "Alma Pay In 3 (Belgium)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.29" - }, - { - "description": "Alma Pay In 3 (France)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "4.5" - }, - { - "description": "Alma Pay In 4 (France)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "5.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/alma", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "riverty", - "description": "Buy now, pay later with Riverty", - "minimumAmount": { - "value": "5.00", - "currency": "EUR" - }, - "maximumAmount": { - "value": "1500.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/riverty.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/riverty%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/riverty.svg" - }, - "status": null, - "pricing": [ - { - "description": "Riverty (Austria)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Riverty (Belgium)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Riverty (Germany)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - }, - { - "description": "Riverty (Netherlands)", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.99" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/riverty", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "satispay", - "description": "Satispay", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "99999.99", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/satispay.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/satispay%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/satispay.svg" - }, - "status": null, - "pricing": [ - { - "description": "Satispay", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/satispay", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "trustly", - "description": "Pay By Bank", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "50000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/external/icons/payment-methods/trustly.png", - "size2x": "https://www.mollie.com/external/icons/payment-methods/trustly%402x.png", - "svg": "https://www.mollie.com/external/icons/payment-methods/trustly.svg" - }, - "status": "activated", - "pricing": [ - { - "description": "Trustly", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "0.9" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/trustly", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "mbway", - "description": "MB Way", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "5000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/checkout/files/019391fe-8247-73d1-ba37-69510f022a87", - "size2x": "https://www.mollie.com/checkout/files/019391fe-82b1-7390-8c95-770fc3cbf4b6", - "svg": "https://www.mollie.com/checkout/files/019391fe-8391-715b-a3ac-0736cfe6410f" - }, - "status": null, - "pricing": [ - { - "description": "MB Way", - "fixed": { - "value": "0.25", - "currency": "EUR" - }, - "variable": "1.5" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/mbway", - "type": "application/hal+json" - } - } - }, - { - "resource": "method", - "id": "multibanco", - "description": "Multibanco", - "minimumAmount": { - "value": "0.01", - "currency": "EUR" - }, - "maximumAmount": { - "value": "5000.00", - "currency": "EUR" - }, - "image": { - "size1x": "https://www.mollie.com/checkout/files/01939207-9094-7296-bdff-88e37d33d0bb", - "size2x": "https://www.mollie.com/checkout/files/01939207-90fb-7297-a128-34276983e9ab", - "svg": "https://www.mollie.com/checkout/files/01939207-91f2-72a6-bb0c-833a7d0a79ab" - }, - "status": null, - "pricing": [ - { - "description": "Multibanco", - "fixed": { - "value": "0.35", - "currency": "EUR" - }, - "variable": "2.1" - } - ], - "_links": { - "self": { - "href": "https://api.mollie.com/v2/methods/multibanco", - "type": "application/hal+json" - } - } + "methods": [ + { + "resource": "method", + "id": "applepay", + "description": "Apple Pay", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "10000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/applepay.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/applepay%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/applepay.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "American Express", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "amex" + }, + { + "description": "American Express Intra-EEA", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "amex-intra-eea" + }, + { + "description": "Credit Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "3.25", + "feeRegion": null + }, + { + "description": "Domestic Consumer Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.8", + "feeRegion": "domestic" + }, + { + "description": "European Commercial Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "intra-eu-corporate" + }, + { + "description": "European Consumer Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.8", + "feeRegion": "eu-cards" } - ] - }, - "count": 30, - "_links": { - "documentation": { - "href": "https://docs.mollie.com/reference/v2/methods-api/list-all-methods", - "type": "text/html" + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/applepay", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "googlepay", + "description": "Google Pay", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "10000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/googlepay.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/googlepay%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/googlepay.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "American Express", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "amex" + }, + { + "description": "American Express Intra-EEA", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "amex-intra-eea" + }, + { + "description": "Credit Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "3.25", + "feeRegion": null + }, + { + "description": "Domestic Consumer Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.8", + "feeRegion": "domestic" + }, + { + "description": "European Commercial Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "intra-eu-corporate" + }, + { + "description": "European Consumer Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.8", + "feeRegion": "eu-cards" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/googlepay", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "ideal", + "description": "iDEAL", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/ideal.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/ideal%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/ideal.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "iDEAL", + "fixed": { + "value": "0.39", + "currency": "EUR" + }, + "variable": "0" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/ideal", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "paybybank", + "description": "Pay By Bank", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/paybybank.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/paybybank%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/paybybank.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Pay By Bank", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0.9" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/paybybank", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "creditcard", + "description": "Card", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "10000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/creditcard.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/creditcard.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "American Express", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "amex" + }, + { + "description": "American Express Intra-EEA", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "amex-intra-eea" + }, + { + "description": "Credit Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "3.25", + "feeRegion": null + }, + { + "description": "Domestic Consumer Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.8", + "feeRegion": "domestic" + }, + { + "description": "European Commercial Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.9", + "feeRegion": "intra-eu-corporate" + }, + { + "description": "European Consumer Card", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.8", + "feeRegion": "eu-cards" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/creditcard", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "in3", + "description": "iDEAL Pay in 3 instalments, 0% interest", + "minimumAmount": { + "value": "0.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "30000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/in3.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/in3%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/in3.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "in3", + "fixed": { + "value": "0.95", + "currency": "EUR" + }, + "variable": "3.99" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/in3", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "klarnapaylater", + "description": "Pay later.", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "4000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/klarnapaylater.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/klarnapaylater%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/klarnapaylater.svg" + }, + "status": null, + "pricing": [ + { + "description": "Klarna Pay in 3 (France)", + "fixed": { + "value": "0.20", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Belgium)", + "fixed": { + "value": "1.00", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Denmark)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Finland)", + "fixed": { + "value": "0.59", + "currency": "EUR" + }, + "variable": "2.79" + }, + { + "description": "Klarna Pay Later (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Italy)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Netherlands)", + "fixed": { + "value": "1.00", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Norway)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Portugal)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Spain)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Sweden)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/klarnapaylater", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "klarnapaynow", + "description": "Pay now.", + "minimumAmount": { + "value": "0.10", + "currency": "EUR" + }, + "maximumAmount": { + "value": "10000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/klarnapaynow.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/klarnapaynow%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/klarnapaynow.svg" + }, + "status": null, + "pricing": [ + { + "description": "Klarna Pay Now (Austria)", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.45" + }, + { + "description": "Klarna Pay Now (Belgium)", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.45" + }, + { + "description": "Klarna Pay Now (Finland)", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.45" + }, + { + "description": "Klarna Pay Now (Germany)", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.45" + }, + { + "description": "Klarna Pay Now (Italy)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Netherlands)", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.45" + }, + { + "description": "Klarna Pay Now (Spain)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Sweden)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/klarnapaynow", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "klarnasliceit", + "description": "Slice it.", + "minimumAmount": { + "value": "45.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "5000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/klarnasliceit.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/klarnasliceit%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/klarnasliceit.svg" + }, + "status": null, + "pricing": [ + { + "description": "Klarna Pay in 3 (Italy)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay in 3 (Netherlands)", + "fixed": { + "value": "0.95", + "currency": "EUR" + }, + "variable": "3.99" + }, + { + "description": "Klarna Pay in 3 (Portugal)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay in 3 (Spain)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Slice It (Austria)", + "fixed": { + "value": "0.00", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Slice It (Denmark)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Slice It (Finland)", + "fixed": { + "value": "0.59", + "currency": "EUR" + }, + "variable": "0.99" + }, + { + "description": "Klarna Slice It (Germany)", + "fixed": { + "value": "0.00", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Slice It (Norway)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Slice It (Sweden)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/klarnasliceit", + "type": "application/hal+json" + } + } }, - "self": { - "href": "https://api.mollie.com/v2/methods/all?locale=en_US&include=pricing", - "type": "application/hal+json" + { + "resource": "method", + "id": "paypal", + "description": "PayPal", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": null, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/paypal.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/paypal%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/paypal.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "PayPal", + "fixed": { + "value": "0.10", + "currency": "EUR" + }, + "variable": "0" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/paypal", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "banktransfer", + "description": "Bank transfer", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "1000000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/banktransfer.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/banktransfer.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Bank Transfer", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/banktransfer", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "giftcard", + "description": "Gift cards", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": null, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/giftcard.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/giftcard%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/giftcard.svg" + }, + "status": "pending-boarding", + "pricing": [ + { + "description": "Giftcard", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/giftcard", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "bancontact", + "description": "Bancontact", + "minimumAmount": { + "value": "0.02", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/bancontact.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/bancontact%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/bancontact.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Bancontact", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.4" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/bancontact", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "eps", + "description": "eps", + "minimumAmount": { + "value": "1.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/eps.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/eps%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/eps.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "EPS", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/eps", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "giropay", + "description": "giropay", + "minimumAmount": { + "value": "1.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "10000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/giropay.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/giropay%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/giropay.svg" + }, + "status": "pending-boarding", + "pricing": [ + { + "description": "Giropay", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/giropay", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "przelewy24", + "description": "Przelewy24", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "12815.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/przelewy24.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/przelewy24%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/przelewy24.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Przelewy24", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.2" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/przelewy24", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "kbc", + "description": "KBC/CBC Payment Button", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/kbc.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/kbc%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/kbc.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "KBC/CBC Payment Button", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0.9" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/kbc", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "belfius", + "description": "Belfius Pay Button", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/belfius.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/belfius%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/belfius.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Belfius Pay Button ", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0.9" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/belfius", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "voucher", + "description": "Vouchers", + "minimumAmount": { + "value": "1.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "100000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/voucher.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/voucher%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/voucher.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Vouchers", + "fixed": { + "value": "0.50", + "currency": "EUR" + }, + "variable": "0.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/voucher", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "directdebit", + "description": "SEPA Direct Debit", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "1000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/directdebit.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/directdebit%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/directdebit.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "SEPA Direct Debit", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0.9" + }, + { + "description": "SEPA Direct: Debit Batch", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/directdebit", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "billie", + "description": "Pay by Invoice for Businesses - Billie", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "25000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/billie.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/billie%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/billie.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Billie (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "3.49" + }, + { + "description": "Billie (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "3.49" + }, + { + "description": "Billie (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "3.49" + }, + { + "description": "Billie (Netherlands)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "3.49" + }, + { + "description": "Billie (Sweden)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "3.49" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/billie", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "klarna", + "description": "Pay with Klarna", + "minimumAmount": { + "value": "1.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "14000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/klarna.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/klarna%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/klarna.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Klarna Financing (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Belgium)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Denmark)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Finland)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.5" + }, + { + "description": "Klarna Financing (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Ireland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Financing (Italy)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Financing (Netherlands)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Norway)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Portugal)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Financing (Spain)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Financing (Sweden)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (Switzerland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Financing (United Kingdom)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay In 3 (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Belgium)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Denmark)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Finland)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.5" + }, + { + "description": "Klarna Pay In 3 (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Ireland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay In 3 (Italy)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay In 3 (Netherlands)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Norway)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Portugal)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay In 3 (Spain)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay In 3 (Sweden)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (Switzerland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay In 3 (United Kingdom)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Belgium)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Denmark)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Finland)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.5" + }, + { + "description": "Klarna Pay Later (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Ireland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Italy)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Netherlands)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Norway)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Portugal)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Spain)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Later (Sweden)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (Switzerland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Later (United Kingdom)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Belgium)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Denmark)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Finland)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.5" + }, + { + "description": "Klarna Pay Now (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Ireland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Italy)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Netherlands)", + "fixed": { + "value": "0.45", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Norway)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Portugal)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Spain)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "4.99" + }, + { + "description": "Klarna Pay Now (Sweden)", + "fixed": { + "value": "0.40", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (Switzerland)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Klarna Pay Now (United Kingdom)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.99" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/klarna", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "twint", + "description": "TWINT", + "minimumAmount": { + "value": "0.01", + "currency": "CHF" + }, + "maximumAmount": { + "value": "5000.00", + "currency": "CHF" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/twint.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/twint%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/twint.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "TWINT", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "2.3" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/twint", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "blik", + "description": "Blik", + "minimumAmount": { + "value": "0.01", + "currency": "PLN" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "PLN" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/blik.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/blik%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/blik.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "BLIK", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.6" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/blik", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "bancomatpay", + "description": "Bancomat Pay", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "1000000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/bancomatpay.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/bancomatpay%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/bancomatpay.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "BANCOMAT Pay", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/bancomatpay", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "alma", + "description": "Pay in 3 or 4 installments free of charge", + "minimumAmount": { + "value": "50.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "2000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/alma.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/alma%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/alma.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Alma Pay In 3 (Belgium)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.29" + }, + { + "description": "Alma Pay In 3 (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "4.5" + }, + { + "description": "Alma Pay In 4 (France)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "5.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/alma", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "riverty", + "description": "Buy now, pay later with Riverty", + "minimumAmount": { + "value": "5.00", + "currency": "EUR" + }, + "maximumAmount": { + "value": "1500.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/riverty.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/riverty%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/riverty.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Riverty (Austria)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Riverty (Belgium)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Riverty (Germany)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + }, + { + "description": "Riverty (Netherlands)", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.99" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/riverty", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "satispay", + "description": "Satispay", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "99999.99", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/satispay.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/satispay%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/satispay.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Satispay", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/satispay", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "trustly", + "description": "Pay By Bank", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "50000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/external/icons/payment-methods/trustly.png", + "size2x": "https://www.mollie.com/external/icons/payment-methods/trustly%402x.png", + "svg": "https://www.mollie.com/external/icons/payment-methods/trustly.svg" + }, + "status": "activated", + "pricing": [ + { + "description": "Trustly", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "0.9" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/trustly", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "mbway", + "description": "MB Way", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "5000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/checkout/files/019391fe-8247-73d1-ba37-69510f022a87", + "size2x": "https://www.mollie.com/checkout/files/019391fe-82b1-7390-8c95-770fc3cbf4b6", + "svg": "https://www.mollie.com/checkout/files/019391fe-8391-715b-a3ac-0736cfe6410f" + }, + "status": "activated", + "pricing": [ + { + "description": "MB Way", + "fixed": { + "value": "0.25", + "currency": "EUR" + }, + "variable": "1.5" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/mbway", + "type": "application/hal+json" + } + } + }, + { + "resource": "method", + "id": "multibanco", + "description": "Multibanco", + "minimumAmount": { + "value": "0.01", + "currency": "EUR" + }, + "maximumAmount": { + "value": "5000.00", + "currency": "EUR" + }, + "image": { + "size1x": "https://www.mollie.com/checkout/files/01939207-9094-7296-bdff-88e37d33d0bb", + "size2x": "https://www.mollie.com/checkout/files/01939207-90fb-7297-a128-34276983e9ab", + "svg": "https://www.mollie.com/checkout/files/01939207-91f2-72a6-bb0c-833a7d0a79ab" + }, + "status": "activated", + "pricing": [ + { + "description": "Multibanco", + "fixed": { + "value": "0.35", + "currency": "EUR" + }, + "variable": "2.1" + } + ], + "_links": { + "self": { + "href": "https://api.mollie.com/v2/methods/multibanco", + "type": "application/hal+json" + } + } } + ] + }, + "count": 31, + "_links": { + "documentation": { + "href": "https://docs.mollie.com/reference/v2/methods-api/list-all-methods", + "type": "text/html" + }, + "self": { + "href": "https://api.mollie.com/v2/methods/all?locale=en_US&include=pricing", + "type": "application/hal+json" + } } } \ No newline at end of file diff --git a/application/cypress/fixtures/objects-paginated.json b/application/cypress/fixtures/objects-paginated.json index 5357429..4692b66 100644 --- a/application/cypress/fixtures/objects-paginated.json +++ b/application/cypress/fixtures/objects-paginated.json @@ -469,6 +469,279 @@ "status": "Inactive", "displayOrder": 0 } + }, + { + "id": "957065da-62d6-404b-863f-33146427c9ad", + "container": "sctm-app-methods", + "key": "trustly", + "value": { + "id": "trustly", + "technicalName": "Pay By Bank", + "name": { + "en-GB": "Pay By Bank", + "de-DE": "Pay By Bank", + "pl-PL": "Pay By Bank", + "fr-FR": "Pay By Bank", + "de-CH": "Pay By Bank", + "nl-NL": "Pay By Bank", + "de-BE": "Pay By Bank", + "es-ES": "Pay By Bank", + "de-AT": "Pay By Bank", + "pt-PT": "Pay By Bank", + "it-IT": "Pay By Bank" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/external/icons/payment-methods/trustly.svg", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" + }, + { + "id": "82237504-b4d2-491d-b18c-880179747c56", + "container": "sctm-app-methods", + "key": "bancomatpay", + "value": { + "id": "bancomatpay", + "technicalName": "Bancomat Pay", + "name": { + "en-GB": "Bancomat Pay", + "de-DE": "Bancomat Pay", + "pl-PL": "Bancomat Pay", + "fr-FR": "Bancomat Pay", + "de-CH": "Bancomat Pay", + "nl-NL": "Bancomat Pay", + "de-BE": "Bancomat Pay", + "es-ES": "Bancomat Pay", + "de-AT": "Bancomat Pay", + "pt-PT": "Bancomat Pay", + "it-IT": "Bancomat Pay" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/external/icons/payment-methods/bancomatpay.svg", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" + }, + { + "id": "ffd2330d-30e7-4082-93cb-a3d6ec23bc85", + "container": "sctm-app-methods", + "key": "mbway", + "value": { + "id": "mbway", + "technicalName": "MB Way", + "name": { + "en-GB": "MB Way", + "de-DE": "MB Way", + "pl-PL": "MB Way", + "fr-FR": "MB Way", + "de-CH": "MB Way", + "nl-NL": "MB Way", + "de-BE": "MB Way", + "es-ES": "MB Way", + "de-AT": "MB Way", + "pt-PT": "MB Way", + "it-IT": "MB Way" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/checkout/files/019391fe-8391-715b-a3ac-0736cfe6410f", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" + }, + { + "id": "e5abb8ad-38f8-41a5-ad19-2d9d974eea37", + "container": "sctm-app-methods", + "key": "multibanco", + "value": { + "id": "multibanco", + "technicalName": "Multibanco", + "name": { + "en-GB": "Multibanco", + "de-DE": "Multibanco", + "pl-PL": "Multibanco", + "fr-FR": "Multibanco", + "de-CH": "Multibanco", + "nl-NL": "Multibanco", + "de-BE": "Multibanco", + "es-ES": "Multibanco", + "de-AT": "Multibanco", + "pt-PT": "Multibanco", + "it-IT": "Multibanco" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/checkout/files/01939207-91f2-72a6-bb0c-833a7d0a79ab", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" + }, + { + "id": "dda2e7a0-0773-4e5b-a5e1-8f050e75b717", + "container": "sctm-app-methods", + "key": "satispay", + "value": { + "id": "satispay", + "technicalName": "Satispay", + "name": { + "en-GB": "Satispay", + "de-DE": "Satispay", + "pl-PL": "Satispay", + "fr-FR": "Satispay", + "de-CH": "Satispay", + "nl-NL": "Satispay", + "de-BE": "Satispay", + "es-ES": "Satispay", + "de-AT": "Satispay", + "pt-PT": "Satispay", + "it-IT": "Satispay" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/external/icons/payment-methods/satispay.svg", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" + }, + { + "id": "227431cd-f80e-4bad-bd8b-ec22d25a336a", + "container": "sctm-app-methods", + "key": "twint", + "value": { + "id": "twint", + "technicalName": "TWINT", + "name": { + "en-GB": "TWINT", + "de-DE": "TWINT", + "pl-PL": "TWINT", + "fr-FR": "TWINT", + "de-CH": "TWINT", + "nl-NL": "TWINT", + "de-BE": "TWINT", + "es-ES": "TWINT", + "de-AT": "TWINT", + "pt-PT": "TWINT", + "it-IT": "TWINT" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/external/icons/payment-methods/twint.svg", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" + }, + { + "id": "f4d82f49-3c90-4ee8-9ab9-e27a4671c275", + "container": "sctm-app-methods", + "key": "eps", + "value": { + "id": "eps", + "technicalName": "eps", + "name": { + "en-GB": "eps", + "de-DE": "eps", + "pl-PL": "eps", + "fr-FR": "eps", + "de-CH": "eps", + "nl-NL": "eps", + "de-BE": "eps", + "es-ES": "eps", + "de-AT": "eps", + "pt-PT": "eps", + "it-IT": "eps" + }, + "description": { + "en-GB": "", + "de-DE": "", + "pl-PL": "", + "fr-FR": "", + "de-CH": "", + "nl-NL": "", + "de-BE": "", + "es-ES": "", + "de-AT": "", + "pt-PT": "", + "it-IT": "" + }, + "imageUrl": "https://www.mollie.com/external/icons/payment-methods/eps.svg", + "status": "Active", + "displayOrder": 0 + }, + "__typename": "CustomObject" } ] } diff --git a/application/cypress/support/constants.ts b/application/cypress/support/constants.ts index da9eab6..770dbe6 100644 --- a/application/cypress/support/constants.ts +++ b/application/cypress/support/constants.ts @@ -3,3 +3,24 @@ export const projectKey = Cypress.env('PROJECT_KEY'); export const entryPointUriPath = 'mollie'; export const APPLICATION_BASE_ROUTE = `/${projectKey}/${entryPointUriPath}`; + +export const PAYMENT_METHODS = [ + 'paypal', + 'creditcard', + 'ideal', + 'banktransfer', + 'bancontact', + 'przelewy24', + 'kbc', + 'applepay', + 'blik', + 'klarna', + 'trustly', + 'bancomatpay', + 'mbway', + 'multibanco', + 'satispay', + 'twint', + 'paybybank', + 'eps', +]; diff --git a/application/package.json b/application/package.json index f75ff79..82b8f1d 100644 --- a/application/package.json +++ b/application/package.json @@ -1,6 +1,6 @@ { "name": "shopmacher-mollie-application", - "version": "1.3.2", + "version": "1.4.0", "description": "Integration application between commercetools and mollie payment service provider", "private": true, "scripts": { @@ -71,7 +71,8 @@ "@commercetools-uikit/text-input": "^19.9.0", "@commercetools-uikit/toggle-input": "^19.11.0", "@commercetools/sync-actions": "^5.14.0", - "@emotion/react": "^11.11.4", + "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", "@formatjs/cli": "6.2.12", "@jest/types": "29.6.3", "@manypkg/cli": "0.21.4", @@ -80,8 +81,8 @@ "@testing-library/react": "12.1.5", "@testing-library/react-hooks": "8.0.1", "@types/jest": "^29.5.4", - "@types/react": "^17.0.80", - "@types/react-dom": "^17.0.19", + "@types/react": "<18", + "@types/react-dom": "<18", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "@types/testing-library__jest-dom": "^5.14.9", diff --git a/application/src/components/welcome/welcome.tsx b/application/src/components/welcome/welcome.tsx index 9ebabfe..57e2990 100644 --- a/application/src/components/welcome/welcome.tsx +++ b/application/src/components/welcome/welcome.tsx @@ -176,10 +176,14 @@ const Welcome = () => { itemRenderer={(item, column) => { switch (column.key) { case 'status': - return item.status === 'Active' ? ( - - ) : ( - + return ( +
+ {item.status === 'Active' ? ( + + ) : ( + + )} +
); case 'name': return ( @@ -190,6 +194,7 @@ const Welcome = () => { case 'image': return ( = 1.43.0 < 2" compression@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.5.tgz#fdd256c0a642e39e314c478f6c2cd654edd74c93" - integrity sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q== + version "1.8.0" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.0.tgz#09420efc96e11a0f44f3a558de59e321364180f7" + integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA== dependencies: bytes "3.1.2" compressible "~2.0.18" @@ -7209,22 +7376,22 @@ cookie@^0.4.2: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -core-js-compat@^3.38.0, core-js-compat@^3.38.1: - version "3.39.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.39.0.tgz#b12dccb495f2601dc860bdbe7b4e3ffa8ba63f61" - integrity sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw== +core-js-compat@^3.40.0: + version "3.41.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.41.0.tgz#4cdfce95f39a8f27759b667cf693d96e5dda3d17" + integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== dependencies: - browserslist "^4.24.2" + browserslist "^4.24.4" core-js-pure@^3.23.3, core-js-pure@^3.30.2: - version "3.39.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.39.0.tgz#aa0d54d70a15bdc13e7c853db87c10abc30d68f3" - integrity sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg== + version "3.41.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.41.0.tgz#349fecad168d60807a31e83c99d73d786fe80811" + integrity sha512-71Gzp96T9YPk63aUvE5Q5qP+DryB4ZloUZPSOebGM88VNw8VNfvdA7z6kGA8iGOTEzAomsRidp4jXSmUIJsL+Q== core-js@^3.32.2: - version "3.39.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.39.0.tgz#57f7647f4d2d030c32a72ea23a0555b2eaa30f83" - integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g== + version "3.41.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.41.0.tgz#57714dafb8c751a6095d028a7428f1fb5834a776" + integrity sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA== core-util-is@1.0.2: version "1.0.2" @@ -7243,6 +7410,13 @@ cosmiconfig-toml-loader@1.0.0: dependencies: "@iarna/toml" "^2.2.5" +cosmiconfig-typescript-loader@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.1.0.tgz#7f644503e1c2bff90aed2d29a637008f279646bb" + integrity sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g== + dependencies: + jiti "^2.4.1" + cosmiconfig@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" @@ -7265,6 +7439,16 @@ cosmiconfig@7.1.0, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +cosmiconfig@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + cosmiconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" @@ -7311,11 +7495,11 @@ cross-fetch@3.1.4: node-fetch "2.6.1" cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3" + integrity sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q== dependencies: - node-fetch "^2.6.12" + node-fetch "^2.7.0" cross-spawn@^5.1.0: version "5.1.0" @@ -7327,9 +7511,9 @@ cross-spawn@^5.1.0: which "^1.2.9" cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -7500,9 +7684,9 @@ currently-unhandled@^0.4.1: array-find-index "^1.0.1" cypress@^13.14.2: - version "13.15.2" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.15.2.tgz#ef19554c274bc4ff23802aeb5c52951677fa67f1" - integrity sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A== + version "13.17.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.17.0.tgz#34c3d68080c4497eace0f353bd1629587a5f600d" + integrity sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA== dependencies: "@cypress/request" "^3.0.6" "@cypress/xvfb" "^1.2.4" @@ -7578,30 +7762,30 @@ data-urls@^4.0.0: whatwg-mimetype "^3.0.0" whatwg-url "^12.0.0" -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" is-data-view "^1.0.1" @@ -7644,10 +7828,10 @@ debug@2.6.9, debug@^2.6.0: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" @@ -7658,10 +7842,10 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -decimal.js@^10.4.2, decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== +decimal.js@10, decimal.js@^10.4.2, decimal.js@^10.4.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.5.0.tgz#0f371c7cf6c4898ce0afb09836db73cd82010f22" + integrity sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw== decompress-response@^6.0.0: version "6.0.0" @@ -7757,7 +7941,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -7806,6 +7990,11 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -7910,12 +8099,7 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -dompurify@2.5.7, dompurify@^2.4.7: - version "2.5.7" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.7.tgz#6e0d36b9177db5a99f18ade1f28579db5ab839d7" - integrity sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q== - -dompurify@2.5.8: +dompurify@2.5.8, dompurify@^2.4.7: version "2.5.8" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.8.tgz#2809d89d7e528dc7a071dea440d7376df676f824" integrity sha512-o1vSNgrmYMQObbSSvF/1brBYEQPHhV1+gsmrusO7/GXtp1T9rCS8cXFqVxK/9crT1jA6Ccv+5MTSjBNqr7Sovw== @@ -7965,6 +8149,15 @@ downshift@6.1.12: react-is "^17.0.2" tslib "^2.3.0" +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -7983,10 +8176,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.5.41: - version "1.5.52" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz#2bed832c95a56a195504f918150e548474687da8" - integrity sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ== +electron-to-chromium@^1.5.73: + version "1.5.122" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.122.tgz#4fabd37b30b71dc041f6c6c4bab309b3f8348fcb" + integrity sha512-EML1wnwkY5MFh/xUnCvY8FrhUuKzdYhowuZExZOfwJo+Zu9OsNCI23Cgl5y7awy7HrUHSwB1Z8pZX5TI34lsUg== emittery@^0.13.1: version "0.13.1" @@ -8025,10 +8218,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.15.0, enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== +enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -8051,6 +8244,11 @@ entities@^4.4.0, entities@^4.5.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -8065,66 +8263,69 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== +es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9: + version "1.23.9" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606" + integrity sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA== dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.7" + get-proto "^1.0.0" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" + has-proto "^1.2.0" + has-symbols "^1.1.0" hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" + object-inspect "^1.13.3" object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== @@ -8144,63 +8345,65 @@ es-get-iterator@^1.1.3: isarray "^2.0.5" stop-iteration-iterator "^1.0.0" -es-iterator-helpers@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz#2f1a3ab998b30cb2d10b195b587c6d9ebdebf152" - integrity sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q== +es-iterator-helpers@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.3" + es-abstract "^1.23.6" es-errors "^1.3.0" es-set-tostringtag "^2.0.3" function-bind "^1.1.2" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" globalthis "^1.0.4" - gopd "^1.0.1" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.3" - safe-array-concat "^1.1.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" es-module-lexer@^1.2.1: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + version "1.6.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" + integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== +es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: - get-intrinsic "^1.2.4" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" has-tostringtag "^1.0.2" - hasown "^2.0.1" + hasown "^2.0.2" -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== +es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" esbuild@^0.18.10: version "0.18.20" @@ -8295,20 +8498,19 @@ eslint-import-resolver-node@^0.3.9: resolve "^1.22.4" eslint-import-resolver-typescript@^3.6.0: - version "3.6.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz#bb8e388f6afc0f940ce5d2c5fd4a3d147f038d9e" - integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== + version "3.9.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.9.1.tgz#0ab8d0ed911e875684a96976a118adee5d1c9daa" + integrity sha512-euxa5rTGqHeqVxmOHT25hpk58PxkQ4mNoX6Yun4ooGaCHAxOCojJYNvjmyeOQxj/LyW+3fulH0+xtk+p2kPPTw== dependencies: "@nolyfill/is-core-module" "1.0.39" - debug "^4.3.5" - enhanced-resolve "^5.15.0" - eslint-module-utils "^2.8.1" - fast-glob "^3.3.2" - get-tsconfig "^4.7.5" - is-bun-module "^1.0.2" - is-glob "^4.0.3" - -eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: + debug "^4.4.0" + get-tsconfig "^4.10.0" + is-bun-module "^1.3.0" + rspack-resolver "^1.1.0" + stable-hash "^0.0.5" + tinyglobby "^0.2.12" + +eslint-module-utils@^2.12.0: version "2.12.0" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== @@ -8407,27 +8609,27 @@ eslint-plugin-react-hooks@^4.6.0: integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react@^7.33.2: - version "7.37.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz#cd0935987876ba2900df2f58339f6d92305acc7a" - integrity sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w== + version "7.37.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz#1b6c80b6175b6ae4b26055ae4d55d04c414c7181" + integrity sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ== dependencies: array-includes "^3.1.8" array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.2" + array.prototype.flatmap "^1.3.3" array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.1.0" + es-iterator-helpers "^1.2.1" estraverse "^5.3.0" hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" object.entries "^1.1.8" object.fromentries "^2.0.8" - object.values "^1.2.0" + object.values "^1.2.1" prop-types "^15.8.1" resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.11" + string.prototype.matchall "^4.0.12" string.prototype.repeat "^1.0.0" eslint-plugin-testing-library@^5.11.1: @@ -8649,9 +8851,9 @@ expect@^29.0.0, expect@^29.7.0: jest-util "^29.7.0" express@^4.17.3: - version "4.21.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" - integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" @@ -8672,7 +8874,7 @@ express@^4.17.3: methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.10" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" qs "6.13.0" range-parser "~1.2.1" @@ -8746,15 +8948,15 @@ fast-equals@2.0.4, fast-equals@^2.0.0: integrity sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w== fast-glob@3, fast-glob@^3.1.1, fast-glob@^3.2.9, fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" @@ -8767,9 +8969,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" - integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== fast-url-parser@1.1.3: version "1.1.3" @@ -8779,9 +8981,9 @@ fast-url-parser@1.1.3: punycode "^1.3.2" fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" @@ -8806,6 +9008,11 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" +fdir@^6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72" + integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== + figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -8909,21 +9116,21 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== follow-redirects@^1.0.0: version "1.15.9" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: - is-callable "^1.1.3" + is-callable "^1.2.7" forever-agent@~0.6.1: version "0.6.1" @@ -8964,21 +9171,23 @@ form-data@4.0.0: mime-types "^2.1.12" form-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.2.tgz#83ad9ced7c03feaad97e293d6f6091011e1659c8" - integrity sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.3.tgz#349c8f2c9d8f8f0c879ee0eb7cc0d300018d6b09" + integrity sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" - mime-types "^2.1.12" + es-set-tostringtag "^2.1.0" + mime-types "^2.1.35" form-data@^4.0.0, form-data@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" - integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" mime-types "^2.1.12" formik@2.4.6, formik@^2.2.9: @@ -9020,9 +9229,9 @@ fs-extra@10.1.0: universalify "^2.0.0" "fs-extra@9 || 10 || 11": - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -9067,15 +9276,17 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functions-have-names@^1.2.3: version "1.2.3" @@ -9097,22 +9308,40 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -9125,19 +9354,19 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.5" + call-bound "^1.0.3" es-errors "^1.3.0" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" -get-tsconfig@^4.7.5: - version "4.8.1" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" - integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== +get-tsconfig@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.10.0.tgz#403a682b373a823612475a4c2928c7326fc0f6bb" + integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A== dependencies: resolve-pkg-maps "^1.0.0" @@ -9221,7 +9450,7 @@ globals@^13.19.0, globals@^13.20.0: dependencies: type-fest "^0.20.2" -globalthis@1.0.4, globalthis@^1.0.3, globalthis@^1.0.4: +globalthis@1.0.4, globalthis@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== @@ -9253,12 +9482,10 @@ globby@^11.0.0, globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^12.1.0: version "12.6.1" @@ -9337,9 +9564,9 @@ graphql@16.8.2: integrity sha512-cvVIBILwuoSyD54U4cF/UXDh5yAobhNV/tPygI4lZhgOIJQE/WLWC4waBRb4I6bDVYb3OVx3lfHbaQOEoUD5sg== "graphql@^15.0.0 || ^16.0.0", graphql@^16.8.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.9.0.tgz#1c310e63f16a49ce1fbb230bd0a000e99f6f115f" - integrity sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw== + version "16.10.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.10.0.tgz#24c01ae0af6b11ea87bf55694429198aaa8e220c" + integrity sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ== gzip-size@^6.0.0: version "6.0.0" @@ -9358,10 +9585,10 @@ harmony-reflect@^1.4.6: resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^3.0.0: version "3.0.0" @@ -9380,24 +9607,26 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: +has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== @@ -9531,9 +9760,9 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + version "0.5.9" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.9.tgz#b817b3ca0edea6236225000d795378707c169cec" + integrity sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw== http-proxy-agent@^5.0.0: version "5.0.0" @@ -9645,10 +9874,10 @@ immer@^9.0.21, immer@^9.0.7: resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== -import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -9727,28 +9956,28 @@ inquirer@^8.2.0: through "^2.3.6" wrap-ansi "^6.0.1" -internal-slot@^1.0.4, internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -intl-messageformat@10.7.6: - version "10.7.6" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.6.tgz#d486c780508a2fb8c383e95462951276cf0bcdf4" - integrity sha512-IsMU/hqyy3FJwNJ0hxDfY2heJ7MteSuFvcnCebxRp67di4Fhx1gKKE+qS0bBwUF8yXkX9SsPUhLeX/B6h5SKUA== +intl-messageformat@10.7.7: + version "10.7.7" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.7.tgz#42085e1664729d02240a03346e31a2540b1112a0" + integrity sha512-F134jIoeYMro/3I0h08D0Yt4N9o9pjddU/4IIxMMURqbAtI2wu70X8hvG1V48W49zXHXv3RKSF/po+0fDfsGjA== dependencies: - "@formatjs/ecma402-abstract" "2.2.3" + "@formatjs/ecma402-abstract" "2.2.4" "@formatjs/fast-memoize" "2.2.3" - "@formatjs/icu-messageformat-parser" "2.9.3" + "@formatjs/icu-messageformat-parser" "2.9.4" tslib "2" intl@1.2.5: @@ -9772,20 +10001,21 @@ irregular-plurals@^3.2.0: integrity sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ== is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" -is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-arrayish@^0.2.1: version "0.2.1" @@ -9793,18 +10023,22 @@ is-arrayish@^0.2.1: integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== dependencies: - has-tostringtag "^1.0.0" + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== dependencies: - has-bigints "^1.0.1" + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" @@ -9813,22 +10047,22 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-bun-module@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-1.2.1.tgz#495e706f42e29f086fd5fe1ac3c51f106062b9fc" - integrity sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q== +is-bun-module@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-1.3.0.tgz#ea4d24fdebfcecc98e81bcbcb506827fee288760" + integrity sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA== dependencies: semver "^7.6.3" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -9840,26 +10074,29 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.13.0, is-core-module@^2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" is-typed-array "^1.1.13" -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -9871,12 +10108,12 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -9889,11 +10126,14 @@ is-generator-fn@^2.0.0: integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" is-glob@4.0.1: version "4.0.1" @@ -9927,22 +10167,18 @@ is-map@^2.0.2, is-map@^2.0.3: resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - is-node-process@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" @@ -9981,13 +10217,15 @@ is-promise@4.0.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.1.4, is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-retina@1.0.3: version "1.0.3" @@ -10004,38 +10242,41 @@ is-set@^2.0.2, is-set@^2.0.3: resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - has-symbols "^1.0.2" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" -is-typed-array@^1.1.13, is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - which-typed-array "^1.1.14" + which-typed-array "^1.1.16" is-typedarray@~1.0.0: version "1.0.0" @@ -10052,20 +10293,20 @@ is-weakmap@^2.0.2: resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-wsl@^2.2.0: version "2.2.0" @@ -10167,16 +10408,17 @@ iterall@^1.2.1: resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== -iterator.prototype@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" - integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== +iterator.prototype@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" jest-changed-files@^29.7.0: version "29.7.0" @@ -10616,6 +10858,11 @@ jest@29.7.0: import-local "^3.0.2" jest-cli "^29.7.0" +jiti@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560" + integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== + jju@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" @@ -10715,7 +10962,12 @@ jsdom@^21.1.2: ws "^8.13.0" xml-name-validator "^4.0.0" -jsesc@^3.0.2, jsesc@~3.0.2: +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +jsesc@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== @@ -10760,12 +11012,13 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stable-stringify@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== +json-stable-stringify@*, json-stable-stringify@1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz#addb683c2b78014d0b78d704c2fcbdf0695a60e2" + integrity sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" isarray "^2.0.5" jsonify "^0.0.1" object-keys "^1.1.1" @@ -10876,9 +11129,9 @@ language-tags@^1.0.9: language-subtag-registry "^0.3.20" launch-editor@^2.6.0: - version "2.9.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" - integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== + version "2.10.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" @@ -11186,6 +11439,11 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" @@ -11238,7 +11496,7 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -11252,9 +11510,9 @@ mime-db@1.52.0: integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== "mime-db@>= 1.43.0 < 2": - version "1.53.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" - integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== mime-db@~1.33.0: version "1.33.0" @@ -11268,7 +11526,7 @@ mime-types@2.1.18: dependencies: mime-db "~1.33.0" -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -11350,9 +11608,9 @@ moment-locales-webpack-plugin@1.2.0: lodash.difference "^4.5.0" moment-timezone@^0.5.40: - version "0.5.46" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.46.tgz#a21aa6392b3c6b3ed916cd5e95858a28d893704a" - integrity sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw== + version "0.5.47" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.47.tgz#d4d1a21b78372d914d6d69ae285454732a429749" + integrity sha512-UbNt/JAWS0m/NJOebR0QMRHBk0hu03r5dx9GK8Cs0AS3I81yDcOc9k+DytPItgVvBP7J6Mf6U2n3BPAacAV9oA== dependencies: moment "^2.29.4" @@ -11362,9 +11620,9 @@ moment@^2.29.4: integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== ms@2.0.0: version "2.0.0" @@ -11414,10 +11672,10 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.7, nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== natural-compare-lite@^1.4.0: version "1.4.0" @@ -11457,7 +11715,7 @@ node-fetch@2.6.1: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-fetch@2.7.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@2.7.0, node-fetch@^2.6.1, node-fetch@^2.6.7, node-fetch@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -11474,10 +11732,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== normalize-path@^2.1.1: version "2.1.1" @@ -11530,10 +11788,10 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-is@^1.1.5: version "1.1.6" @@ -11548,24 +11806,27 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" object.entries@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" - integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + version "1.1.9" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" define-properties "^1.2.1" - es-object-atoms "^1.0.0" + es-object-atoms "^1.1.1" object.fromentries@^2.0.8: version "2.0.8" @@ -11586,12 +11847,13 @@ object.groupby@^1.0.3: define-properties "^1.2.1" es-abstract "^1.23.2" -object.values@^1.1.6, object.values@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== +object.values@^1.1.6, object.values@^1.2.0, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -11698,6 +11960,15 @@ outvariant@^1.2.1, outvariant@^1.3.0: resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.3.tgz#221c1bfc093e8fec7075497e7799fdbf43d14873" integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + p-cancelable@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" @@ -11848,10 +12119,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" - integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-to-regexp@2.2.1: version "2.2.1" @@ -11885,7 +12156,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0: +picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -11949,9 +12220,9 @@ popper.js@1.15.0: integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== postcss-calc@^8.2.3: version "8.2.4" @@ -12087,20 +12358,20 @@ postcss-modules-extract-imports@^3.1.0: integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== postcss-modules-local-by-default@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" - integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.1.0" postcss-modules-scope@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" - integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^7.0.0" postcss-modules-values@^4.0.0: version "4.0.0" @@ -12203,7 +12474,7 @@ postcss-reporter@7.1.0: picocolors "^1.0.0" thenby "^1.3.4" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: version "6.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== @@ -12211,6 +12482,14 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-selector-parser@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262" + integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-svgo@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" @@ -12241,12 +12520,12 @@ postcss@8.4.38: source-map-js "^1.2.0" postcss@^8.3.5, postcss@^8.4.27, postcss@^8.4.33: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" + nanoid "^3.3.8" + picocolors "^1.1.1" source-map-js "^1.2.1" prelude-ls@^1.2.1: @@ -12353,9 +12632,11 @@ pseudomap@^1.0.2: integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" pump@^3.0.0: version "3.0.2" @@ -12370,7 +12651,7 @@ punycode@^1.3.2, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== -punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -12380,13 +12661,20 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== -qs@6.13.0, qs@^6.12.3: +qs@6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: side-channel "^1.0.6" +qs@6.14.0, qs@^6.12.3: + version "6.14.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + qss@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/qss/-/qss-2.0.3.tgz#630b38b120931b52d04704f3abfb0f861604a9ec" @@ -12521,9 +12809,9 @@ react-error-boundary@^3.1.0: "@babel/runtime" "^7.12.5" react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.1.0.tgz#22b86256beb1c5856f08a9a228adb8121dd985f2" + integrity sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ== react-fast-compare@^2.0.1: version "2.0.4" @@ -12536,19 +12824,19 @@ react-from-dom@0.6.2: integrity sha512-qvWWTL/4xw4k/Dywd41RBpLQUSq97csuv15qrxN+izNeLYlD9wn5W8LspbfYe5CWbaSdkZ72BsaYBPQf2x4VbQ== react-intl@^6.3.2, react-intl@^6.4.7: - version "6.8.7" - resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.8.7.tgz#e6f08f365810a366031358ff1c7dd8cf7e649bdd" - integrity sha512-Ocv8Tg6fXqBdVdkkYohQ79T9rJls3G1lmDSjhqHdK9873BdQFLSeITGgwuGWTRBd6Mg5FL33TBen4FtujCTP0g== - dependencies: - "@formatjs/ecma402-abstract" "2.2.3" - "@formatjs/icu-messageformat-parser" "2.9.3" - "@formatjs/intl" "2.10.14" - "@formatjs/intl-displaynames" "6.8.4" - "@formatjs/intl-listformat" "7.7.4" + version "6.8.9" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.8.9.tgz#ef36b2a19a0eb97afbeaeab9679273fcbf2ea261" + integrity sha512-TUfj5E7lyUDvz/GtovC9OMh441kBr08rtIbgh3p0R8iF3hVY+V2W9Am7rb8BpJ/29BH1utJOqOOhmvEVh3GfZg== + dependencies: + "@formatjs/ecma402-abstract" "2.2.4" + "@formatjs/icu-messageformat-parser" "2.9.4" + "@formatjs/intl" "2.10.15" + "@formatjs/intl-displaynames" "6.8.5" + "@formatjs/intl-listformat" "7.7.5" "@types/hoist-non-react-statics" "3" "@types/react" "16 || 17 || 18" hoist-non-react-statics "3" - intl-messageformat "10.7.6" + intl-messageformat "10.7.7" tslib "2" react-is@17.0.2, react-is@^17.0.1, react-is@^17.0.2: @@ -12598,6 +12886,25 @@ react-refresh@0.14.2, react-refresh@^0.14.2: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== +react-remove-scroll-bar@^2.3.7: + version "2.3.8" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223" + integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q== + dependencies: + react-style-singleton "^2.2.2" + tslib "^2.0.0" + +react-remove-scroll@^2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz#df02cde56d5f2731e058531f8ffd7f9adec91ac2" + integrity sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ== + dependencies: + react-remove-scroll-bar "^2.3.7" + react-style-singleton "^2.2.3" + tslib "^2.1.0" + use-callback-ref "^1.3.3" + use-sidecar "^1.1.3" + react-required-if@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/react-required-if/-/react-required-if-1.0.3.tgz#6a40a761b1d54815c1d4e6610910cbf92b5aa987" @@ -12646,10 +12953,10 @@ react-select@5.8.0: react-transition-group "^4.3.0" use-isomorphic-layout-effect "^1.1.2" -react-select@5.8.1: - version "5.8.1" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.8.1.tgz#3284a93b7633b5e893306b2a8007ea0f793e62b9" - integrity sha512-RT1CJmuc+ejqm5MPgzyZujqDskdvB9a9ZqrdnVLsvAHjJ3Tj0hELnLeVPQlmYdVKCdCpxanepl6z7R5KhXhWzg== +react-select@5.9.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.9.0.tgz#41325b7bfe8452a8d401b82fc4fb7d44a03e29c5" + integrity sha512-nwRKGanVHGjdccsnzhFte/PULziueZxGD8LL2WojON78Mvnq7LdAMEtu2frrwld1fr3geixg3iiMBIc/LLAZpw== dependencies: "@babel/runtime" "^7.12.0" "@emotion/cache" "^11.4.0" @@ -12659,7 +12966,15 @@ react-select@5.8.1: memoize-one "^6.0.0" prop-types "^15.6.0" react-transition-group "^4.3.0" - use-isomorphic-layout-effect "^1.1.2" + use-isomorphic-layout-effect "^1.2.0" + +react-style-singleton@^2.2.2, react-style-singleton@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388" + integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ== + dependencies: + get-nonce "^1.0.0" + tslib "^2.0.0" react-textarea-autosize@8.4.0: version "8.4.0" @@ -12780,18 +13095,19 @@ redux@^5.0.0: resolved "https://registry.yarnpkg.com/redux/-/redux-5.0.1.tgz#97fa26881ce5746500125585d5642c77b6e9447b" integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== -reflect.getprototypeof@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" - integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.23.1" + es-abstract "^1.23.9" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" regenerate-unicode-properties@^10.2.0: version "10.2.0" @@ -12817,32 +13133,34 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" - integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" define-properties "^1.2.1" es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" set-function-name "^2.0.2" -regexpu-core@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" - integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.2.0" regjsgen "^0.8.0" - regjsparser "^0.11.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.1.0.tgz#3c659047ecd4caebd25bc1570a3aa979ae490eca" + integrity sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw== dependencies: "@pnpm/npm-conf" "^2.1.0" @@ -12858,10 +13176,10 @@ regjsgen@^0.8.0: resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== -regjsparser@^0.11.0: - version "0.11.2" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.2.tgz#7404ad42be00226d72bcf1f003f1f441861913d8" - integrity sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA== +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: jsesc "~3.0.2" @@ -12956,16 +13274,16 @@ resolve-pkg-maps@^1.0.0: integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== resolve@^1.1.6, resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.4: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -12979,9 +13297,9 @@ resolve@^2.0.0-next.5: supports-preserve-symlinks-flag "^1.0.0" response-iterator@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" - integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== + version "0.2.20" + resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.20.tgz#9a8259d7f6fe35fb81ab2d8f2b938e5e6c892821" + integrity sha512-RfNi9saiJ9VKznrRZEGZtlfeiQI7NWMUlXvmkvO60xaHfW1y+36EOibZkV59LuKNak8VIqL6IyxYxhMOGTurIQ== responselike@^3.0.0: version "3.0.0" @@ -13004,9 +13322,9 @@ retry@^0.13.1: integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rfdc@^1.3.0: version "1.4.1" @@ -13032,6 +13350,23 @@ rrweb-cssom@^0.6.0: resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== +rspack-resolver@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/rspack-resolver/-/rspack-resolver-1.2.2.tgz#f4f8f740246c59bc83525f830aca628b71843e8a" + integrity sha512-Fwc19jMBA3g+fxDJH2B4WxwZjE0VaaOL7OX/A4Wn5Zv7bOD/vyPZhzXfaO73Xc2GAlfi96g5fGUa378WbIGfFw== + optionalDependencies: + "@unrs/rspack-resolver-binding-darwin-arm64" "1.2.2" + "@unrs/rspack-resolver-binding-darwin-x64" "1.2.2" + "@unrs/rspack-resolver-binding-freebsd-x64" "1.2.2" + "@unrs/rspack-resolver-binding-linux-arm-gnueabihf" "1.2.2" + "@unrs/rspack-resolver-binding-linux-arm64-gnu" "1.2.2" + "@unrs/rspack-resolver-binding-linux-arm64-musl" "1.2.2" + "@unrs/rspack-resolver-binding-linux-x64-gnu" "1.2.2" + "@unrs/rspack-resolver-binding-linux-x64-musl" "1.2.2" + "@unrs/rspack-resolver-binding-wasm32-wasi" "1.2.2" + "@unrs/rspack-resolver-binding-win32-arm64-msvc" "1.2.2" + "@unrs/rspack-resolver-binding-win32-x64-msvc" "1.2.2" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -13045,20 +13380,21 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" rxjs@^7.5.1, rxjs@^7.5.5: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: tslib "^2.1.0" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: @@ -13071,14 +13407,22 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== dependencies: - call-bind "^1.0.6" es-errors "^1.3.0" - is-regex "^1.1.4" + isarray "^2.0.5" + +safe-regex-test@^1.0.3, safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" @@ -13127,10 +13471,10 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== +schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" + integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== dependencies: "@types/json-schema" "^7.0.9" ajv "^8.9.0" @@ -13174,9 +13518,9 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + version "7.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== send@0.19.0: version "0.19.0" @@ -13197,7 +13541,7 @@ send@0.19.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-javascript@6.0.2, serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: +serialize-javascript@6.0.2, serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -13246,7 +13590,7 @@ set-cookie-parser@^2.4.6: resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz#3016f150072202dfbe90fadee053573cc89d2943" integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -13258,7 +13602,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1, set-function-name@^2.0.2: +set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -13268,6 +13612,15 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + setimmediate@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -13315,9 +13668,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + version "1.8.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== shelljs@0.8.5: version "0.8.5" @@ -13328,15 +13681,45 @@ shelljs@0.8.5: interpret "^1.0.0" rechoir "^0.6.2" -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.4, side-channel@^1.0.6, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -13481,6 +13864,11 @@ sshpk@^1.18.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +stable-hash@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.5.tgz#94e8837aaeac5b4d0f631d2972adef2924b40269" + integrity sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA== + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -13509,16 +13897,17 @@ statuses@2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== std-env@^3.0.1: - version "3.7.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + version "3.8.1" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.1.tgz#2b81c631c62e3d0b964b87f099b8dcab6c9a5346" + integrity sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA== stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== dependencies: - internal-slot "^1.0.4" + es-errors "^1.3.0" + internal-slot "^1.1.0" strict-event-emitter@^0.2.4: version "0.2.8" @@ -13571,23 +13960,24 @@ string.prototype.includes@^2.0.1: define-properties "^1.2.1" es-abstract "^1.23.3" -string.prototype.matchall@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== +string.prototype.matchall@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.2" + es-abstract "^1.23.6" es-errors "^1.3.0" es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" set-function-name "^2.0.2" - side-channel "^1.0.6" + side-channel "^1.1.0" string.prototype.repeat@^1.0.0: version "1.0.0" @@ -13597,22 +13987,26 @@ string.prototype.repeat@^1.0.0: define-properties "^1.1.3" es-abstract "^1.17.5" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.5" es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -13807,7 +14201,7 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@5.3.10, terser-webpack-plugin@^5.3.10: +terser-webpack-plugin@5.3.10: version "5.3.10" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== @@ -13818,10 +14212,21 @@ terser-webpack-plugin@5.3.10, terser-webpack-plugin@^5.3.10: serialize-javascript "^6.0.1" terser "^5.26.0" -terser@^5.10.0, terser@^5.26.0: - version "5.36.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" - integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== +terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.11: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.25" + jest-worker "^27.4.5" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" + +terser@^5.10.0, terser@^5.26.0, terser@^5.31.1: + version "5.39.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.0.tgz#0e82033ed57b3ddf1f96708d123cca717d86ca3a" + integrity sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -13888,17 +14293,25 @@ tiny-warning@1.0.3, tiny-warning@^1.0.0, tiny-warning@^1.0.2: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -tldts-core@^6.1.58: - version "6.1.58" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.58.tgz#f0b5c1fcb2e214f558c7cb380fb1e6f4b2459d8b" - integrity sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg== +tinyglobby@^0.2.12: + version "0.2.12" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.12.tgz#ac941a42e0c5773bd0b5d08f32de82e74a1a61b5" + integrity sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww== + dependencies: + fdir "^6.4.3" + picomatch "^4.0.2" + +tldts-core@^6.1.84: + version "6.1.84" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.84.tgz#f8ac2af9969bf9c2f7a99fa05d9c667b5e5b768c" + integrity sha512-NaQa1W76W2aCGjXybvnMYzGSM4x8fvG2AN/pla7qxcg0ZHbooOPhA8kctmOZUDfZyhDL27OGNbwAeig8P4p1vg== tldts@^6.1.32: - version "6.1.58" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.58.tgz#63d211f46f2c17d69d4cedf0c4c19423a608874f" - integrity sha512-MQJrJhjHOYGYb8DobR6Y4AdDbd4TYkyQ+KBDVc5ODzs1cbrvPpfN1IemYi9jfipJ/vR1YWvrDli0hg1y19VRoA== + version "6.1.84" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.84.tgz#fb58b1ceb70972a1ecd683606cea3d06c78f7238" + integrity sha512-aRGIbCIF3teodtUFAYSdQONVmDRy21REM3o6JnqWn5ZkQBJJ4gHxhw6OfwQ+WkSAi3ASamrS4N4nyazWx6uTYg== dependencies: - tldts-core "^6.1.58" + tldts-core "^6.1.84" tmp@^0.0.33: version "0.0.33" @@ -13945,9 +14358,9 @@ tough-cookie@^4.1.2: url-parse "^1.5.3" tough-cookie@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" - integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.1.2.tgz#66d774b4a1d9e12dc75089725af3ac75ec31bed7" + integrity sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A== dependencies: tldts "^6.1.32" @@ -14093,54 +14506,55 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-typed-array "^1.1.13" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-proto "^1.0.3" is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" typescript@5, typescript@^5.2.2: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + version "5.8.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.2.tgz#8170b3702f74b79db2e5a96207c15e65807999e4" + integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== typescript@5.0.4: version "5.0.4" @@ -14157,20 +14571,20 @@ uglifycss@0.0.29: resolved "https://registry.yarnpkg.com/uglifycss/-/uglifycss-0.0.29.tgz#abe49531155d146e75dd2fdf933d371bc1180054" integrity sha512-J2SQ2QLjiknNGbNdScaNZsXgmMGI0kYNrXaDlr4obnPW9ni1jljb1NeEVWAiTgZ8z+EBWP2ozfT9vpy03rjlMQ== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" -undici-types@~6.19.8: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== unfetch@4.2.0: version "4.2.0" @@ -14233,12 +14647,12 @@ untildify@^4.0.0: integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: escalade "^3.2.0" - picocolors "^1.1.0" + picocolors "^1.1.1" uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" @@ -14263,10 +14677,17 @@ url@^0.11.0: punycode "^1.4.1" qs "^6.12.3" +use-callback-ref@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.3.tgz#98d9fab067075841c5b2c6852090d5d0feabe2bf" + integrity sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg== + dependencies: + tslib "^2.0.0" + use-composed-ref@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" - integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.4.0.tgz#09e023bf798d005286ad85cd20674bdf5770653b" + integrity sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w== use-deep-compare@0.1.0: version "0.1.0" @@ -14275,15 +14696,15 @@ use-deep-compare@0.1.0: dependencies: dequal "1.0.0" -use-isomorphic-layout-effect@^1.1.1, use-isomorphic-layout-effect@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== +use-isomorphic-layout-effect@^1.1.1, use-isomorphic-layout-effect@^1.1.2, use-isomorphic-layout-effect@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz#afb292eb284c39219e8cb8d3d62d71999361a21d" + integrity sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w== use-latest@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" - integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.3.0.tgz#549b9b0d4c1761862072f0899c6f096eb379137a" + integrity sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ== dependencies: use-isomorphic-layout-effect "^1.1.1" @@ -14300,6 +14721,14 @@ use-popper@1.1.6: popper.js "1.15.0" use-deep-compare "0.1.0" +use-sidecar@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb" + integrity sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + use-sync-external-store@1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9" @@ -14392,9 +14821,9 @@ verror@1.10.0: extsprintf "^1.2.0" vite@~4.5.3: - version "4.5.5" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.5.tgz#639b9feca5c0a3bfe3c60cb630ef28bf219d742e" - integrity sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ== + version "4.5.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.9.tgz#f4dfd4c4295743b50c3e3f90df798d70de699e4f" + integrity sha512-qK9W4xjgD3gXbC0NmdNFFnVFLMWSNiR3swj957yutwzzN16xF/E7nmtAyp1rT9hviDroQANjE4HK3H4WqWdFtw== dependencies: esbuild "^0.18.10" postcss "^8.4.27" @@ -14571,15 +15000,15 @@ webpack@5.94.0: webpack-sources "^3.2.3" webpack@^5: - version "5.96.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" - integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== + version "5.98.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.98.0.tgz#44ae19a8f2ba97537978246072fb89d10d1fbd17" + integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.6" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" acorn "^8.14.0" browserslist "^4.24.0" chrome-trace-event "^1.0.2" @@ -14593,9 +15022,9 @@ webpack@^5: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.2.0" + schema-utils "^4.3.0" tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" + terser-webpack-plugin "^5.3.11" watchpack "^2.4.1" webpack-sources "^3.2.3" @@ -14659,34 +15088,35 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +which-boxed-primitive@^1.0.2, which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" -which-builtin-type@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" - integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== dependencies: + call-bound "^1.0.2" function.prototype.name "^1.1.6" has-tostringtag "^1.0.2" is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" is-generator-function "^1.0.10" - is-regex "^1.1.4" + is-regex "^1.2.1" is-weakref "^1.0.2" isarray "^2.0.5" - which-boxed-primitive "^1.0.2" + which-boxed-primitive "^1.1.0" which-collection "^1.0.2" - which-typed-array "^1.1.15" + which-typed-array "^1.1.16" which-collection@^1.0.1, which-collection@^1.0.2: version "1.0.2" @@ -14698,15 +15128,17 @@ which-collection@^1.0.1, which-collection@^1.0.2: is-weakmap "^2.0.2" is-weakset "^2.0.3" -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== +which-typed-array@^1.1.13, which-typed-array@^1.1.16, which-typed-array@^1.1.18, which-typed-array@^1.1.2: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" has-tostringtag "^1.0.2" which@^1.2.9, which@^1.3.1: @@ -14770,9 +15202,9 @@ ws@7.4.5: integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.11.0, ws@^8.13.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + version "8.18.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.1.tgz#ea131d3784e1dfdff91adb0a4a116b127515e3cb" + integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w== xml-name-validator@^4.0.0: version "4.0.0" diff --git a/processor/bin/ngrok.sh b/processor/bin/ngrok.sh index 2ac842c..ddfeef1 100755 --- a/processor/bin/ngrok.sh +++ b/processor/bin/ngrok.sh @@ -2,14 +2,13 @@ PARENT_PATH=$( cd "$(dirname "${BASH_SOURCE[0]}")" || exit ; pwd -P ) # GET AUTH TOKEN FROM ENV. -CONNECTOR_EXTENSION_TOKEN=$(grep CONNECTOR_EXTENSION_TOKEN ${PARENT_PATH}/../.env | cut -d '=' -f2) +CONNECTOR_EXTENSION_TOKEN=$(grep '^CONNECTOR_EXTENSION_TOKEN=' ${PARENT_PATH}/../.env | head -n 1 | cut -d '=' -f2 | tr -d '[:space:]') if test -z "${CONNECTOR_EXTENSION_TOKEN}" then echo "❌ ERROR: I haven't been able to recover CONNECTOR_EXTENSION_TOKEN from your local .env variables file." exit 1 fi - # Start NGROK in background echo "⚡️ Starting ngrok" ngrok authtoken ${CONNECTOR_EXTENSION_TOKEN} & diff --git a/processor/src/types/mollie.types.ts b/processor/src/types/mollie.types.ts index 7b272e1..51be8d8 100644 --- a/processor/src/types/mollie.types.ts +++ b/processor/src/types/mollie.types.ts @@ -36,4 +36,12 @@ export enum SupportedPaymentMethods { paypal = 'paypal', giftcard = 'giftcard', klarna = 'klarna', + trustly = 'trustly', + bancomatpay = 'bancomatpay', + mbway = 'mbway', + multibanco = 'multibanco', + satispay = 'satispay', + twint = 'twint', + paybybank = 'paybybank', + eps = 'eps', } diff --git a/processor/src/validators/helpers.validators.ts b/processor/src/validators/helpers.validators.ts index efb25f8..528f2c0 100644 --- a/processor/src/validators/helpers.validators.ts +++ b/processor/src/validators/helpers.validators.ts @@ -3,7 +3,6 @@ import validator from 'validator'; import { ValidatorCreator, Wrapper } from '../types/index.types'; -import { DUE_DATE_PATTERN } from '../utils/constant.utils'; /** * File used to create helpers to validate the fields @@ -21,30 +20,6 @@ export const standardString: ValidatorCreator = (path, message, overrideConfig = export const standardEmail: ValidatorCreator = (path, message) => [path, [[required(validator.isEmail), message]]]; -export const standardDueDate = (path, message) => [ - path, - [ - [ - required((value) => { - if (!value) { - return true; - } - - const match = value.match(DUE_DATE_PATTERN); - - if (match) { - const days = parseInt(match[1]); - - return days >= 1 && days <= 100; - } - - return false; - }), - message, - ], - ], -]; - export const standardNaturalNumber = (path, message) => [ path, [[required((value) => validator.isNumeric(String(value), { no_symbols: true })), message]], diff --git a/processor/tests/validators/payment.validators.spec.ts b/processor/tests/validators/payment.validators.spec.ts index cc26157..f25b328 100644 --- a/processor/tests/validators/payment.validators.spec.ts +++ b/processor/tests/validators/payment.validators.spec.ts @@ -217,10 +217,8 @@ describe('hasValidPaymentMethod', () => { it('should return false if the payment method is defined and is not supported by Mollie', () => { expect(hasValidPaymentMethod('test')).toBe(false); expect(hasValidPaymentMethod('dummy')).toBe(false); - expect(hasValidPaymentMethod('eps')).toBe(false); - expect(hasValidPaymentMethod('twint')).toBe(false); - expect(hasValidPaymentMethod('bancomat')).toBe(false); - expect(hasValidPaymentMethod('trustly')).toBe(false); + expect(hasValidPaymentMethod('vorkasse')).toBe(false); + expect(hasValidPaymentMethod('installment')).toBe(false); }); }); From b9ab0e6cafe848448f4f24aee3846c73925ae71a Mon Sep 17 00:00:00 2001 From: Win <84066239+tdang1-shopmacher@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:14:46 +0700 Subject: [PATCH 3/3] Release/v1.4.0 (#168) --- processor/package-lock.json | 4 ++-- processor/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/processor/package-lock.json b/processor/package-lock.json index 3dcd142..b978a7a 100644 --- a/processor/package-lock.json +++ b/processor/package-lock.json @@ -1,12 +1,12 @@ { "name": "shopmacher-mollie-processor", - "version": "1.3.2", + "version": "1.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "shopmacher-mollie-processor", - "version": "1.3.2", + "version": "1.4.0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/processor/package.json b/processor/package.json index d9b9bf3..b3cd340 100644 --- a/processor/package.json +++ b/processor/package.json @@ -1,7 +1,7 @@ { "name": "shopmacher-mollie-processor", "description": "Integration between commercetools and mollie payment service provider", - "version": "1.3.2", + "version": "1.4.0", "main": "index.js", "private": true, "scripts": {