medusa-plugin-braintree 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/providers/payment-braintree/index.d.ts +3 -0
- package/.medusa/server/src/providers/payment-braintree/index.js +16 -1
- package/.medusa/server/src/providers/payment-braintree/provider.d.ts +55 -0
- package/.medusa/server/src/providers/payment-braintree/provider.js +2 -2
- package/.medusa/server/src/providers/payment-braintree/types.d.ts +71 -0
- package/.medusa/server/src/providers/payment-braintree/utils.d.ts +9 -0
- package/LICENSE +21 -0
- package/package.json +46 -36
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
const utils_1 = require("@medusajs/framework/utils");
|
|
4
18
|
const provider_1 = require("./provider");
|
|
5
19
|
exports.default = (0, utils_1.ModuleProvider)(utils_1.Modules.PAYMENT, {
|
|
6
20
|
services: [provider_1.BraintreeProvider]
|
|
7
21
|
});
|
|
8
|
-
|
|
22
|
+
__exportStar(require("./provider"), exports);
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheW1lbnQtYnJhaW50cmVlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUU7QUFDbkUseUNBQThDO0FBRTlDLGtCQUFlLElBQUEsc0JBQWMsRUFBQyxlQUFPLENBQUMsT0FBTyxFQUFFO0lBQzlDLFFBQVEsRUFBRSxDQUFDLDRCQUFpQixDQUFDO0NBQzdCLENBQUMsQ0FBQTtBQUVGLDZDQUEwQiJ9
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AbstractPaymentProvider, MedusaError } from '@medusajs/framework/utils';
|
|
2
|
+
import type { AuthorizePaymentInput, AuthorizePaymentOutput, CancelPaymentInput, CancelPaymentOutput, CapturePaymentInput, CapturePaymentOutput, CreateAccountHolderInput, CreateAccountHolderOutput, DeleteAccountHolderInput, DeleteAccountHolderOutput, DeletePaymentInput, DeletePaymentOutput, GetPaymentStatusInput, GetPaymentStatusOutput, ICachingModuleService, InitiatePaymentInput, InitiatePaymentOutput, Logger, PaymentAccountHolderDTO, PaymentProviderContext, ProviderWebhookPayload, RefundPaymentInput, RefundPaymentOutput, RetrievePaymentInput, RetrievePaymentOutput, SavePaymentMethodInput, SavePaymentMethodOutput, UpdateAccountHolderInput, UpdateAccountHolderOutput, UpdatePaymentInput, UpdatePaymentOutput, WebhookActionResult } from '@medusajs/types';
|
|
3
|
+
import type { Transaction } from 'braintree';
|
|
4
|
+
import Braintree from 'braintree';
|
|
5
|
+
import type { BraintreeOptions } from './types';
|
|
6
|
+
export type BraintreeTransactionContext = PaymentProviderContext & Pick<Braintree.TransactionRequest, 'billing' | 'shipping' | 'customFields' | 'orderId' | 'lineItems' | 'shippingAmount' | 'taxAmount' | 'shippingTaxAmount' | 'discountAmount' | 'customer' | 'deviceData'>;
|
|
7
|
+
export interface BraintreePaymentSessionData {
|
|
8
|
+
client_token: string;
|
|
9
|
+
transaction: Transaction;
|
|
10
|
+
amount: number;
|
|
11
|
+
currency_code: string;
|
|
12
|
+
payment_method_nonce?: string;
|
|
13
|
+
account_holder?: PaymentAccountHolderDTO;
|
|
14
|
+
context?: BraintreeTransactionContext;
|
|
15
|
+
}
|
|
16
|
+
export interface BraintreeInitiatePaymentData {
|
|
17
|
+
payment_method_nonce?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const buildBraintreeError: (error: unknown, operation: string, logger: Logger, context?: Record<string, unknown>) => MedusaError;
|
|
20
|
+
export declare class BraintreeProvider extends AbstractPaymentProvider<BraintreeOptions> {
|
|
21
|
+
static identifier: string;
|
|
22
|
+
protected readonly options_: BraintreeOptions;
|
|
23
|
+
protected gateway: Braintree.BraintreeGateway;
|
|
24
|
+
logger: Logger;
|
|
25
|
+
caching: ICachingModuleService;
|
|
26
|
+
constructor(container: {
|
|
27
|
+
logger: Logger;
|
|
28
|
+
caching: ICachingModuleService;
|
|
29
|
+
}, options: BraintreeOptions);
|
|
30
|
+
saveClientTokenToCache(clientToken: string, customerId: string, expiresOnEpochSeconds: number): Promise<void>;
|
|
31
|
+
getClientTokenFromCache(customerId: string): Promise<string | null>;
|
|
32
|
+
getValidClientToken(medusaCustomerId: string | undefined, accountHolder: PaymentAccountHolderDTO | undefined): Promise<string | null>;
|
|
33
|
+
private parsePaymentSessionData;
|
|
34
|
+
init(): void;
|
|
35
|
+
static validateOptions(options: BraintreeOptions): void;
|
|
36
|
+
capturePayment(input: CapturePaymentInput): Promise<CapturePaymentOutput>;
|
|
37
|
+
authorizePayment(input: AuthorizePaymentInput): Promise<AuthorizePaymentOutput>;
|
|
38
|
+
cancelPayment(input: CancelPaymentInput): Promise<CancelPaymentOutput>;
|
|
39
|
+
private retrieveTransaction;
|
|
40
|
+
private mapTransactionStatusToPaymentStatus;
|
|
41
|
+
private validateInitiatePaymentData;
|
|
42
|
+
initiatePayment(input: InitiatePaymentInput): Promise<InitiatePaymentOutput>;
|
|
43
|
+
private createTransaction;
|
|
44
|
+
deletePayment(input: DeletePaymentInput): Promise<DeletePaymentOutput>;
|
|
45
|
+
getPaymentStatus(input: GetPaymentStatusInput): Promise<GetPaymentStatusOutput>;
|
|
46
|
+
savePaymentMethod(input: SavePaymentMethodInput): Promise<SavePaymentMethodOutput>;
|
|
47
|
+
refundPayment(input: RefundPaymentInput): Promise<RefundPaymentOutput>;
|
|
48
|
+
retrievePayment(input: RetrievePaymentInput): Promise<RetrievePaymentOutput>;
|
|
49
|
+
updatePayment(input: UpdatePaymentInput): Promise<UpdatePaymentOutput>;
|
|
50
|
+
createAccountHolder(input: CreateAccountHolderInput): Promise<CreateAccountHolderOutput>;
|
|
51
|
+
updateAccountHolder(input: UpdateAccountHolderInput): Promise<UpdateAccountHolderOutput>;
|
|
52
|
+
deleteAccountHolder(input: DeleteAccountHolderInput): Promise<DeleteAccountHolderOutput>;
|
|
53
|
+
getWebhookActionAndData(webhookData: ProviderWebhookPayload['payload']): Promise<WebhookActionResult>;
|
|
54
|
+
private createBraintreeCustomer;
|
|
55
|
+
}
|
|
@@ -81,7 +81,7 @@ class BraintreeProvider extends utils_1.AbstractPaymentProvider {
|
|
|
81
81
|
.object({
|
|
82
82
|
firstName: zod_1.z.string(),
|
|
83
83
|
lastName: zod_1.z.string(),
|
|
84
|
-
email: zod_1.z.
|
|
84
|
+
email: zod_1.z.email(),
|
|
85
85
|
phone: zod_1.z.string().optional()
|
|
86
86
|
})
|
|
87
87
|
.optional(),
|
|
@@ -651,4 +651,4 @@ class BraintreeProvider extends utils_1.AbstractPaymentProvider {
|
|
|
651
651
|
}
|
|
652
652
|
exports.BraintreeProvider = BraintreeProvider;
|
|
653
653
|
BraintreeProvider.identifier = 'braintree';
|
|
654
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheW1lbnQtYnJhaW50cmVlL3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQVNrQztBQXFDbEMsMERBQWlDO0FBQ2pDLDZCQUF1QjtBQUN2QixtQ0FBa0Q7QUFpQ2xELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsVUFBVSxFQUFFLENBQUE7QUFFeEYsZ0RBQWdEO0FBQ2hELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUFFLFNBQWlCLEVBQVUsRUFBRTtJQUNwRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxtQkFBVyxDQUNwQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsR0FBRyxTQUFTLDZCQUE2QixDQUN6QyxDQUFBO0lBQ0YsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2IsQ0FBQyxDQUFBO0FBRUQsMkRBQTJEO0FBQ3BELE1BQU0sbUJBQW1CLEdBQUcsQ0FDbEMsS0FBYyxFQUNkLFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxPQUFpQyxFQUNuQixFQUFFO0lBQ2hCLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUUzRSx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLEtBQUssQ0FDWCxhQUFhLFNBQVMsWUFBWSxZQUFZLEVBQUUsRUFDaEQsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzFDLENBQUE7SUFFRCxPQUFPLElBQUksbUJBQVcs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
|
|
654
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BheW1lbnQtYnJhaW50cmVlL3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQVNrQztBQXFDbEMsMERBQWlDO0FBQ2pDLDZCQUF1QjtBQUN2QixtQ0FBa0Q7QUFpQ2xELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsVUFBVSxFQUFFLENBQUE7QUFFeEYsZ0RBQWdEO0FBQ2hELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUFFLFNBQWlCLEVBQVUsRUFBRTtJQUNwRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxtQkFBVyxDQUNwQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsR0FBRyxTQUFTLDZCQUE2QixDQUN6QyxDQUFBO0lBQ0YsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFBO0FBQ2IsQ0FBQyxDQUFBO0FBRUQsMkRBQTJEO0FBQ3BELE1BQU0sbUJBQW1CLEdBQUcsQ0FDbEMsS0FBYyxFQUNkLFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxPQUFpQyxFQUNuQixFQUFFO0lBQ2hCLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUUzRSx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLEtBQUssQ0FDWCxhQUFhLFNBQVMsWUFBWSxZQUFZLEVBQUUsRUFDaEQsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzFDLENBQUE7SUFFRCxPQUFPLElBQUksbUJBQVcs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
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type Braintree from 'braintree';
|
|
2
|
+
export interface BraintreeOptions extends Braintree.ClientGatewayConfig {
|
|
3
|
+
defaultCurrencyCode?: string;
|
|
4
|
+
environment: 'production' | 'sandbox' | 'development' | 'qa';
|
|
5
|
+
merchantId: string;
|
|
6
|
+
publicKey: string;
|
|
7
|
+
privateKey: string;
|
|
8
|
+
enable3DSecure: boolean;
|
|
9
|
+
savePaymentMethod: boolean;
|
|
10
|
+
webhookSecret: string;
|
|
11
|
+
autoCapture: boolean;
|
|
12
|
+
allowRefundOnRefunded?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type CustomFields = Record<string, string>;
|
|
15
|
+
export interface DecodedClientToken {
|
|
16
|
+
version: number;
|
|
17
|
+
authorizationFingerprint: string;
|
|
18
|
+
configUrl: string;
|
|
19
|
+
graphQL: GraphQl;
|
|
20
|
+
clientApiUrl: string;
|
|
21
|
+
environment: string;
|
|
22
|
+
merchantId: string;
|
|
23
|
+
assetsUrl: string;
|
|
24
|
+
authUrl: string;
|
|
25
|
+
venmo: string;
|
|
26
|
+
challenges: string[];
|
|
27
|
+
threeDSecureEnabled: boolean;
|
|
28
|
+
analytics: Analytics;
|
|
29
|
+
paypalEnabled: boolean;
|
|
30
|
+
paypal: Paypal;
|
|
31
|
+
}
|
|
32
|
+
export interface GraphQl {
|
|
33
|
+
url: string;
|
|
34
|
+
date: string;
|
|
35
|
+
features: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface Analytics {
|
|
38
|
+
url: string;
|
|
39
|
+
}
|
|
40
|
+
export interface Paypal {
|
|
41
|
+
billingAgreementsEnabled: boolean;
|
|
42
|
+
environmentNoNetwork: boolean;
|
|
43
|
+
unvettedMerchant: boolean;
|
|
44
|
+
allowHttp: boolean;
|
|
45
|
+
displayName: string;
|
|
46
|
+
clientId: string;
|
|
47
|
+
baseUrl: string;
|
|
48
|
+
assetsUrl: string;
|
|
49
|
+
directBaseUrl: string;
|
|
50
|
+
environment: string;
|
|
51
|
+
braintreeClientId: string;
|
|
52
|
+
merchantAccountId: string;
|
|
53
|
+
currencyIsoCode: string;
|
|
54
|
+
}
|
|
55
|
+
export interface DecodedClientTokenAuthorization {
|
|
56
|
+
exp: number;
|
|
57
|
+
jti: string;
|
|
58
|
+
sub: string;
|
|
59
|
+
iss: string;
|
|
60
|
+
merchant: Merchant;
|
|
61
|
+
rights: string[];
|
|
62
|
+
scope: string[];
|
|
63
|
+
options: Options;
|
|
64
|
+
}
|
|
65
|
+
export interface Merchant {
|
|
66
|
+
public_id: string;
|
|
67
|
+
verify_card_by_default: boolean;
|
|
68
|
+
verify_wallet_by_default: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface Options {
|
|
71
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a number or string to a two-decimal string representation.
|
|
3
|
+
* Validates the input is parseable to a number and throws MedusaError on NaN.
|
|
4
|
+
*
|
|
5
|
+
* @param amount - The amount to format (number or string)
|
|
6
|
+
* @returns A string representation with exactly 2 decimal places
|
|
7
|
+
* @throws MedusaError if the amount is not a valid number
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatToTwoDecimalString(amount: number | string): string;
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lacey Pevey
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "medusa-plugin-braintree",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Braintree payment provider plugin for Medusa v2",
|
|
5
5
|
"author": "Lacey Pevey",
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,11 +14,26 @@
|
|
|
14
14
|
],
|
|
15
15
|
"exports": {
|
|
16
16
|
"./package.json": "./package.json",
|
|
17
|
-
"./.medusa/server/src/modules/*":
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
17
|
+
"./.medusa/server/src/modules/*": {
|
|
18
|
+
"types": "./.medusa/server/src/modules/*/index.d.ts",
|
|
19
|
+
"default": "./.medusa/server/src/modules/*/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./modules/*": {
|
|
22
|
+
"types": "./.medusa/server/src/modules/*/index.d.ts",
|
|
23
|
+
"default": "./.medusa/server/src/modules/*/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./providers/*": {
|
|
26
|
+
"types": "./.medusa/server/src/providers/*/index.d.ts",
|
|
27
|
+
"default": "./.medusa/server/src/providers/*/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./*": {
|
|
30
|
+
"types": "./.medusa/server/src/*.d.ts",
|
|
31
|
+
"default": "./.medusa/server/src/*.js"
|
|
32
|
+
},
|
|
33
|
+
".": {
|
|
34
|
+
"types": "./.medusa/server/src/providers/payment-braintree/index.d.ts",
|
|
35
|
+
"default": "./.medusa/server/src/providers/payment-braintree/index.js"
|
|
36
|
+
}
|
|
22
37
|
},
|
|
23
38
|
"keywords": [
|
|
24
39
|
"medusa-plugin-payment",
|
|
@@ -38,40 +53,35 @@
|
|
|
38
53
|
"braintree": "3.36.0"
|
|
39
54
|
},
|
|
40
55
|
"devDependencies": {
|
|
41
|
-
"@medusajs/admin-sdk": "2.
|
|
42
|
-
"@medusajs/cli": "2.
|
|
43
|
-
"@medusajs/framework": "2.
|
|
44
|
-
"@medusajs/icons": "2.
|
|
45
|
-
"@medusajs/
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
48
|
-
"@swc/core": "^1.7.28",
|
|
49
|
-
"@swc/jest": "^0.2.39",
|
|
56
|
+
"@medusajs/admin-sdk": "2.14.2",
|
|
57
|
+
"@medusajs/cli": "2.14.2",
|
|
58
|
+
"@medusajs/framework": "2.14.2",
|
|
59
|
+
"@medusajs/icons": "2.14.2",
|
|
60
|
+
"@medusajs/ui": "4.1.9",
|
|
61
|
+
"@swc/core": "1.7.28",
|
|
62
|
+
"@swc/jest": "0.2.39",
|
|
50
63
|
"@types/braintree": "3.4.4",
|
|
51
|
-
"@types/jest": "
|
|
52
|
-
"@types/node": "
|
|
53
|
-
"@types/react": "
|
|
54
|
-
"@types/react-dom": "
|
|
55
|
-
"jest": "
|
|
56
|
-
"prop-types": "
|
|
57
|
-
"react": "
|
|
58
|
-
"react-dom": "
|
|
59
|
-
"ts-node": "
|
|
60
|
-
"typescript": "
|
|
61
|
-
"vite": "
|
|
62
|
-
"yalc": "
|
|
64
|
+
"@types/jest": "30.0.0",
|
|
65
|
+
"@types/node": "20.0.0",
|
|
66
|
+
"@types/react": "18.3.2",
|
|
67
|
+
"@types/react-dom": "18.2.25",
|
|
68
|
+
"jest": "29.7.0",
|
|
69
|
+
"prop-types": "15.8.1",
|
|
70
|
+
"react": "18.3.1",
|
|
71
|
+
"react-dom": "18.3.1",
|
|
72
|
+
"ts-node": "10.9.2",
|
|
73
|
+
"typescript": "5.6.2",
|
|
74
|
+
"vite": "5.4.14",
|
|
75
|
+
"yalc": "1.0.0-pre.53"
|
|
63
76
|
},
|
|
64
77
|
"peerDependencies": {
|
|
65
|
-
"@medusajs/
|
|
66
|
-
"@medusajs/
|
|
67
|
-
"@medusajs/
|
|
68
|
-
"@medusajs/icons": "2.13.6",
|
|
69
|
-
"@medusajs/medusa": "2.13.6",
|
|
70
|
-
"@medusajs/test-utils": "2.13.6",
|
|
71
|
-
"@medusajs/ui": "4.0.25"
|
|
78
|
+
"@medusajs/framework": "2.14.2",
|
|
79
|
+
"@medusajs/js-sdk": "2.14.2",
|
|
80
|
+
"@medusajs/medusa": "2.14.2"
|
|
72
81
|
},
|
|
73
82
|
"engines": {
|
|
74
83
|
"node": ">=20"
|
|
75
84
|
},
|
|
76
|
-
"packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7"
|
|
77
|
-
|
|
85
|
+
"packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7",
|
|
86
|
+
"gitHead": "35f16164d0d17e6281b2801a9f1eb355b5035571"
|
|
87
|
+
}
|