@lodashventure/medusa-login-provider 0.4.1 → 0.4.3
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.
|
@@ -5,6 +5,51 @@ exports.extractCustomerData = extractCustomerData;
|
|
|
5
5
|
exports.shouldCreateCustomer = shouldCreateCustomer;
|
|
6
6
|
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
7
|
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const CUSTOMER_ID_CONFLICT_TOKEN = "customer_id already exists";
|
|
9
|
+
function findCustomerIdConflictMessage(error) {
|
|
10
|
+
if (error === null || error === undefined) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const stack = [error];
|
|
14
|
+
const visited = new Set();
|
|
15
|
+
while (stack.length) {
|
|
16
|
+
const current = stack.pop();
|
|
17
|
+
if (current === null || current === undefined) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (typeof current === "string") {
|
|
21
|
+
if (current.includes(CUSTOMER_ID_CONFLICT_TOKEN)) {
|
|
22
|
+
return current;
|
|
23
|
+
}
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (typeof current === "object") {
|
|
27
|
+
if (visited.has(current)) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
visited.add(current);
|
|
31
|
+
const message = current.message;
|
|
32
|
+
if (typeof message === "string" && message.includes(CUSTOMER_ID_CONFLICT_TOKEN)) {
|
|
33
|
+
return message;
|
|
34
|
+
}
|
|
35
|
+
const cause = current.cause;
|
|
36
|
+
if (cause) {
|
|
37
|
+
stack.push(cause);
|
|
38
|
+
}
|
|
39
|
+
const nestedError = current.error;
|
|
40
|
+
if (nestedError) {
|
|
41
|
+
stack.push(nestedError);
|
|
42
|
+
}
|
|
43
|
+
const nestedErrors = current.errors;
|
|
44
|
+
if (Array.isArray(nestedErrors)) {
|
|
45
|
+
for (const nested of nestedErrors) {
|
|
46
|
+
stack.push(nested);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
8
53
|
/**
|
|
9
54
|
* Creates or updates a customer account for a LINE authenticated user
|
|
10
55
|
* Uses Medusa's createCustomerAccountWorkflow for proper integration
|
|
@@ -70,6 +115,46 @@ async function createOrUpdateLineCustomer(options) {
|
|
|
70
115
|
return { customer: result, created: true };
|
|
71
116
|
}
|
|
72
117
|
catch (error) {
|
|
118
|
+
const conflictMessage = findCustomerIdConflictMessage(error);
|
|
119
|
+
if (conflictMessage) {
|
|
120
|
+
if (logger) {
|
|
121
|
+
logger.info(`customer_id already set in app_metadata, returning existing customer for LINE user ${userMetadata.line_user_id}`);
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const authIdentities = await authService.listAuthIdentities({
|
|
125
|
+
id: [authIdentityId],
|
|
126
|
+
});
|
|
127
|
+
const linkedCustomerId = authIdentities?.[0]?.app_metadata
|
|
128
|
+
?.customer_id;
|
|
129
|
+
if (linkedCustomerId) {
|
|
130
|
+
try {
|
|
131
|
+
const customer = await customerService.retrieveCustomer(linkedCustomerId);
|
|
132
|
+
return { customer, created: false };
|
|
133
|
+
}
|
|
134
|
+
catch (retrieveError) {
|
|
135
|
+
if (logger) {
|
|
136
|
+
const reason = retrieveError instanceof Error
|
|
137
|
+
? retrieveError.message
|
|
138
|
+
: String(retrieveError);
|
|
139
|
+
logger.warn(`Failed to retrieve customer ${linkedCustomerId} after metadata conflict: ${reason}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch (authLookupError) {
|
|
145
|
+
if (logger) {
|
|
146
|
+
const reason = authLookupError instanceof Error
|
|
147
|
+
? authLookupError.message
|
|
148
|
+
: String(authLookupError);
|
|
149
|
+
logger.warn(`Unable to verify auth identity metadata after conflict: ${reason}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const existingCustomers = await customerService.listCustomers({ email });
|
|
153
|
+
if (existingCustomers?.length > 0) {
|
|
154
|
+
return { customer: existingCustomers[0], created: false };
|
|
155
|
+
}
|
|
156
|
+
throw new Error(`Auth identity ${authIdentityId} is already linked to a customer, but the customer record could not be retrieved`);
|
|
157
|
+
}
|
|
73
158
|
if (logger) {
|
|
74
159
|
logger.error(`Failed to create/update customer for LINE user ${userMetadata.line_user_id}:`, error);
|
|
75
160
|
}
|
|
@@ -149,4 +234,4 @@ async function shouldCreateCustomer(authIdentity, container) {
|
|
|
149
234
|
}
|
|
150
235
|
return true;
|
|
151
236
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9saW5lL2N1c3RvbWVyLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFGQSxnRUE2S0M7QUFLRCxrREFnQkM7QUFLRCxvREFzQkM7QUFsVEQsNERBQTRFO0FBRTVFLHFEQUFvRDtBQUVwRCxNQUFNLDBCQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBRWhFLFNBQVMsNkJBQTZCLENBQUMsS0FBYztJQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFXLENBQUM7SUFFbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRTVCLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUMsU0FBUztRQUNYLENBQUM7UUFFRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLFNBQVM7WUFDWCxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FB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
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = lineAuthCustomerSubscriber;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const CUSTOMER_ID_CONFLICT_TOKEN = "customer_id already exists";
|
|
8
|
+
function findCustomerIdConflictMessage(error) {
|
|
9
|
+
if (error === null || error === undefined) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
const stack = [error];
|
|
13
|
+
const visited = new Set();
|
|
14
|
+
while (stack.length) {
|
|
15
|
+
const current = stack.pop();
|
|
16
|
+
if (current === null || current === undefined) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if (typeof current === "string") {
|
|
20
|
+
if (current.includes(CUSTOMER_ID_CONFLICT_TOKEN)) {
|
|
21
|
+
return current;
|
|
22
|
+
}
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (typeof current === "object") {
|
|
26
|
+
if (visited.has(current)) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
visited.add(current);
|
|
30
|
+
const message = current.message;
|
|
31
|
+
if (typeof message === "string" && message.includes(CUSTOMER_ID_CONFLICT_TOKEN)) {
|
|
32
|
+
return message;
|
|
33
|
+
}
|
|
34
|
+
const cause = current.cause;
|
|
35
|
+
if (cause) {
|
|
36
|
+
stack.push(cause);
|
|
37
|
+
}
|
|
38
|
+
const nestedError = current.error;
|
|
39
|
+
if (nestedError) {
|
|
40
|
+
stack.push(nestedError);
|
|
41
|
+
}
|
|
42
|
+
const nestedErrors = current.errors;
|
|
43
|
+
if (Array.isArray(nestedErrors)) {
|
|
44
|
+
for (const nested of nestedErrors) {
|
|
45
|
+
stack.push(nested);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
async function lineAuthCustomerSubscriber({ event, container, }) {
|
|
53
|
+
// Check if this is a LINE provider authentication that needs customer creation
|
|
54
|
+
const isLineProvider = event.data.provider === "line" ||
|
|
55
|
+
event.data.provider_identities?.[0]?.provider === "line";
|
|
56
|
+
const needsCustomerCreation = event.data.user_metadata?.needs_customer_creation;
|
|
57
|
+
// Also check if customer_id already exists in app_metadata to avoid conflicts
|
|
58
|
+
const customerIdAlreadySet = event.data.app_metadata?.customer_id;
|
|
59
|
+
if (!isLineProvider || !needsCustomerCreation || customerIdAlreadySet) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
63
|
+
const customerService = container.resolve(utils_1.Modules.CUSTOMER);
|
|
64
|
+
try {
|
|
65
|
+
const { entity_id, user_metadata, id: authIdentityId } = event.data;
|
|
66
|
+
if (!user_metadata) {
|
|
67
|
+
logger.info("No user metadata found for LINE auth identity");
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Check if customer already exists
|
|
71
|
+
let existingCustomers;
|
|
72
|
+
try {
|
|
73
|
+
existingCustomers = await customerService.listCustomers({
|
|
74
|
+
email: user_metadata.email || `line_${entity_id}@line.me`,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
logger.error("Error checking for existing customer:", error);
|
|
79
|
+
existingCustomers = [];
|
|
80
|
+
}
|
|
81
|
+
if (existingCustomers?.length > 0) {
|
|
82
|
+
// Update existing customer with LINE profile data
|
|
83
|
+
const customer = existingCustomers[0];
|
|
84
|
+
await customerService.updateCustomers(customer.id, {
|
|
85
|
+
first_name: user_metadata.first_name || user_metadata.display_name,
|
|
86
|
+
last_name: user_metadata.last_name || "",
|
|
87
|
+
metadata: {
|
|
88
|
+
...customer.metadata,
|
|
89
|
+
line_user_id: user_metadata.line_user_id,
|
|
90
|
+
line_display_name: user_metadata.display_name,
|
|
91
|
+
line_picture_url: user_metadata.picture_url,
|
|
92
|
+
line_linked_at: new Date().toISOString(),
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
logger.info(`Updated existing customer ${customer.id} with LINE profile`);
|
|
96
|
+
// Update auth identity app metadata with customer ID
|
|
97
|
+
const authService = container.resolve(utils_1.Modules.AUTH);
|
|
98
|
+
await authService.updateAuthIdentities({
|
|
99
|
+
id: authIdentityId,
|
|
100
|
+
app_metadata: {
|
|
101
|
+
customer_id: customer.id,
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
// Create new customer for LINE user
|
|
107
|
+
logger.info(`Creating new customer for LINE user ${entity_id}`);
|
|
108
|
+
try {
|
|
109
|
+
// First check if auth identity already has a customer_id set
|
|
110
|
+
const authService = container.resolve(utils_1.Modules.AUTH);
|
|
111
|
+
const authIdentities = await authService.listAuthIdentities({
|
|
112
|
+
id: [authIdentityId],
|
|
113
|
+
});
|
|
114
|
+
if (authIdentities?.[0]?.app_metadata?.customer_id) {
|
|
115
|
+
logger.info(`Auth identity ${authIdentityId} already has customer_id: ${authIdentities[0].app_metadata.customer_id}`);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// Try using the workflow first, but handle the metadata conflict error specifically
|
|
119
|
+
const { result } = await (0, core_flows_1.createCustomerAccountWorkflow)(container).run({
|
|
120
|
+
input: {
|
|
121
|
+
authIdentityId: authIdentityId,
|
|
122
|
+
customerData: {
|
|
123
|
+
email: user_metadata.email || `line_${entity_id}@line.me`,
|
|
124
|
+
first_name: user_metadata.first_name ||
|
|
125
|
+
user_metadata.display_name ||
|
|
126
|
+
"LINE User",
|
|
127
|
+
last_name: user_metadata.last_name || "",
|
|
128
|
+
metadata: {
|
|
129
|
+
line_user_id: user_metadata.line_user_id,
|
|
130
|
+
line_display_name: user_metadata.display_name,
|
|
131
|
+
line_picture_url: user_metadata.picture_url,
|
|
132
|
+
line_linked_at: new Date().toISOString(),
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
logger.info(`Successfully created customer ${result.id} using workflow for auth identity ${authIdentityId}`);
|
|
138
|
+
}
|
|
139
|
+
catch (workflowError) {
|
|
140
|
+
// Check if the error is due to customer_id already existing
|
|
141
|
+
const conflictMessage = findCustomerIdConflictMessage(workflowError);
|
|
142
|
+
if (conflictMessage) {
|
|
143
|
+
logger.info(`customer_id already set in app_metadata, skipping customer creation for auth identity ${authIdentityId}`);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
logger.error("Failed to create customer using workflow:", workflowError);
|
|
147
|
+
// Fallback to direct customer creation if workflow fails
|
|
148
|
+
const customer = await customerService.createCustomers({
|
|
149
|
+
email: user_metadata.email || `line_${entity_id}@line.me`,
|
|
150
|
+
first_name: user_metadata.first_name ||
|
|
151
|
+
user_metadata.display_name ||
|
|
152
|
+
"LINE User",
|
|
153
|
+
last_name: user_metadata.last_name || "",
|
|
154
|
+
metadata: {
|
|
155
|
+
line_user_id: user_metadata.line_user_id,
|
|
156
|
+
line_display_name: user_metadata.display_name,
|
|
157
|
+
line_picture_url: user_metadata.picture_url,
|
|
158
|
+
line_linked_at: new Date().toISOString(),
|
|
159
|
+
auth_identity_id: authIdentityId,
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
logger.info(`Created customer ${customer.id} via fallback method`);
|
|
163
|
+
// Update auth identity with customer ID
|
|
164
|
+
try {
|
|
165
|
+
const authService = container.resolve(utils_1.Modules.AUTH);
|
|
166
|
+
// Check again if customer_id was already set (race condition)
|
|
167
|
+
const checkAuth = await authService.listAuthIdentities({
|
|
168
|
+
id: [authIdentityId],
|
|
169
|
+
});
|
|
170
|
+
if (checkAuth?.[0]?.app_metadata?.customer_id) {
|
|
171
|
+
logger.info(`customer_id already set during fallback, skipping update`);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
await authService.updateAuthIdentities({
|
|
175
|
+
id: authIdentityId,
|
|
176
|
+
app_metadata: {
|
|
177
|
+
customer_id: customer.id,
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
logger.info(`Updated auth identity ${authIdentityId} with customer_id ${customer.id}`);
|
|
181
|
+
}
|
|
182
|
+
catch (updateError) {
|
|
183
|
+
logger.error(`Failed to update auth identity with customer_id:`, updateError);
|
|
184
|
+
// Don't throw - customer was created successfully
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// Note: We can't update user_metadata through updateAuthIdentities
|
|
189
|
+
// The customer creation flag remains but customer is now created
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
logger.error("Error in LINE auth customer subscriber:", error);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
exports.config = {
|
|
196
|
+
event: ["auth-identity.created", "auth-identity.updated"],
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hdXRoLWN1c3RvbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL2xpbmUtYXV0aC1jdXN0b21lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4REEsNkNBOExDO0FBM1BELHFEQUErRTtBQUMvRSw0REFBNEU7QUFFNUUsTUFBTSwwQkFBMEIsR0FBRyw0QkFBNEIsQ0FBQztBQUVoRSxTQUFTLDZCQUE2QixDQUFDLEtBQWM7SUFDbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVyxDQUFDO0lBRW5DLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU1QixJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlDLFNBQVM7UUFDWCxDQUFDO1FBRUQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDO1lBQ0QsU0FBUztRQUNYLENBQUM7UUFFRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN6QixTQUFTO1lBQ1gsQ0FBQztZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFckIsTUFBTSxPQUFPLEdBQUks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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodashventure/medusa-login-provider",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "A starter for Medusa plugins.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,18 +38,13 @@
|
|
|
38
38
|
"type-check": "tsc --noEmit"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@medusajs/admin-sdk": "2.
|
|
42
|
-
"@medusajs/cli": "2.
|
|
43
|
-
"@medusajs/framework": "2.
|
|
44
|
-
"@medusajs/icons": "^2.
|
|
45
|
-
"@medusajs/medusa": "2.
|
|
46
|
-
"@medusajs/test-utils": "2.
|
|
41
|
+
"@medusajs/admin-sdk": "2.11.1",
|
|
42
|
+
"@medusajs/cli": "2.11.1",
|
|
43
|
+
"@medusajs/framework": "2.11.1",
|
|
44
|
+
"@medusajs/icons": "^2.11.1",
|
|
45
|
+
"@medusajs/medusa": "2.11.1",
|
|
46
|
+
"@medusajs/test-utils": "2.11.1",
|
|
47
47
|
"@medusajs/ui": "4.0.4",
|
|
48
|
-
"@mikro-orm/cli": "6.4.3",
|
|
49
|
-
"@mikro-orm/core": "6.4.3",
|
|
50
|
-
"@mikro-orm/knex": "6.4.3",
|
|
51
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
52
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
53
48
|
"@swc/core": "1.5.7",
|
|
54
49
|
"@types/jest": "^29.5.0",
|
|
55
50
|
"@types/jsonwebtoken": "^9",
|
|
@@ -58,13 +53,11 @@
|
|
|
58
53
|
"@types/react-dom": "^18.2.25",
|
|
59
54
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
60
55
|
"@typescript-eslint/parser": "^6.0.0",
|
|
61
|
-
"awilix": "^8.0.1",
|
|
62
56
|
"eslint": "^8.40.0",
|
|
63
57
|
"jest": "^29.5.0",
|
|
64
58
|
"jest-junit": "^16.0.0",
|
|
65
59
|
"jest-watch-typeahead": "^2.2.2",
|
|
66
60
|
"node-fetch": "^3.3.1",
|
|
67
|
-
"pg": "^8.13.0",
|
|
68
61
|
"prop-types": "^15.8.1",
|
|
69
62
|
"react": "^18.2.0",
|
|
70
63
|
"react-dom": "^18.2.0",
|
|
@@ -76,20 +69,13 @@
|
|
|
76
69
|
"yalc": "^1.0.0-pre.53"
|
|
77
70
|
},
|
|
78
71
|
"peerDependencies": {
|
|
79
|
-
"@medusajs/admin-sdk": "2.
|
|
80
|
-
"@medusajs/cli": "2.
|
|
81
|
-
"@medusajs/framework": "2.
|
|
82
|
-
"@medusajs/icons": "^2.
|
|
83
|
-
"@medusajs/medusa": "2.
|
|
84
|
-
"@medusajs/test-utils": "2.
|
|
85
|
-
"@medusajs/ui": "4.0.3"
|
|
86
|
-
"@mikro-orm/cli": "6.4.3",
|
|
87
|
-
"@mikro-orm/core": "6.4.3",
|
|
88
|
-
"@mikro-orm/knex": "6.4.3",
|
|
89
|
-
"@mikro-orm/migrations": "6.4.3",
|
|
90
|
-
"@mikro-orm/postgresql": "6.4.3",
|
|
91
|
-
"awilix": "^8.0.1",
|
|
92
|
-
"pg": "^8.13.0"
|
|
72
|
+
"@medusajs/admin-sdk": "2.11.1",
|
|
73
|
+
"@medusajs/cli": "2.11.1",
|
|
74
|
+
"@medusajs/framework": "2.11.1",
|
|
75
|
+
"@medusajs/icons": "^2.11.1",
|
|
76
|
+
"@medusajs/medusa": "2.11.1",
|
|
77
|
+
"@medusajs/test-utils": "2.11.1",
|
|
78
|
+
"@medusajs/ui": "4.0.3"
|
|
93
79
|
},
|
|
94
80
|
"engines": {
|
|
95
81
|
"node": ">=20"
|