medusa-storefront-data 1.0.0 → 2.0.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/dist/cookies.d.ts +2 -2
- package/dist/cookies.d.ts.map +1 -1
- package/dist/edge.d.ts +3 -0
- package/dist/edge.d.ts.map +1 -0
- package/dist/edge.js +1 -0
- package/dist/middleware.d.ts +3 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +1 -0
- package/dist/server/cart.d.ts +9 -5
- package/dist/server/cart.d.ts.map +1 -1
- package/dist/server/cart.js +164 -194
- package/dist/server/categories.d.ts +3 -2
- package/dist/server/categories.d.ts.map +1 -1
- package/dist/server/categories.js +14 -51
- package/dist/server/collections.d.ts.map +1 -1
- package/dist/server/collections.js +16 -61
- package/dist/server/contact.d.ts +34 -0
- package/dist/server/contact.d.ts.map +1 -0
- package/dist/server/contact.js +57 -0
- package/dist/server/customer.d.ts +7 -7
- package/dist/server/customer.d.ts.map +1 -1
- package/dist/server/customer.js +95 -145
- package/dist/server/dynamic-config.d.ts.map +1 -1
- package/dist/server/dynamic-config.js +5 -2
- package/dist/server/fulfillment.d.ts +4 -3
- package/dist/server/fulfillment.d.ts.map +1 -1
- package/dist/server/fulfillment.js +16 -41
- package/dist/server/guest.d.ts +35 -63
- package/dist/server/guest.d.ts.map +1 -1
- package/dist/server/guest.js +81 -202
- package/dist/server/home.d.ts +15 -0
- package/dist/server/home.d.ts.map +1 -0
- package/dist/server/home.js +45 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/locale-actions.d.ts +1 -1
- package/dist/server/locale-actions.d.ts.map +1 -1
- package/dist/server/locale-actions.js +8 -13
- package/dist/server/locales.d.ts +2 -4
- package/dist/server/locales.d.ts.map +1 -1
- package/dist/server/locales.js +5 -13
- package/dist/server/orders.d.ts +5 -11
- package/dist/server/orders.d.ts.map +1 -1
- package/dist/server/orders.js +126 -267
- package/dist/server/payment-details.d.ts +4 -4
- package/dist/server/payment-details.d.ts.map +1 -1
- package/dist/server/payment-details.js +17 -42
- package/dist/server/payment.d.ts +2 -1
- package/dist/server/payment.d.ts.map +1 -1
- package/dist/server/payment.js +9 -21
- package/dist/server/pincode.d.ts +7 -0
- package/dist/server/pincode.d.ts.map +1 -0
- package/dist/server/pincode.js +30 -0
- package/dist/server/products.d.ts +15 -19
- package/dist/server/products.d.ts.map +1 -1
- package/dist/server/products.js +47 -178
- package/dist/server/regions.d.ts +1 -1
- package/dist/server/regions.d.ts.map +1 -1
- package/dist/server/regions.js +6 -3
- package/dist/server/returns.d.ts +4 -4
- package/dist/server/returns.d.ts.map +1 -1
- package/dist/server/returns.js +50 -154
- package/dist/server/swaps.d.ts +3 -3
- package/dist/server/swaps.d.ts.map +1 -1
- package/dist/server/swaps.js +22 -56
- package/dist/server/variants.d.ts.map +1 -1
- package/dist/server/variants.js +11 -22
- package/dist/server/wishlist.d.ts +11 -0
- package/dist/server/wishlist.d.ts.map +1 -0
- package/dist/server/wishlist.js +49 -0
- package/dist/util/get-locale-header.d.ts +1 -1
- package/dist/util/revalidate-cart.d.ts +2 -0
- package/dist/util/revalidate-cart.d.ts.map +1 -0
- package/dist/util/revalidate-cart.js +8 -0
- package/dist/util/sort-products.d.ts +3 -0
- package/dist/util/sort-products.d.ts.map +1 -0
- package/dist/util/sort-products.js +1 -0
- package/dist/util/store-client.d.ts +13 -0
- package/dist/util/store-client.d.ts.map +1 -0
- package/dist/util/store-client.js +77 -0
- package/package.json +95 -37
- package/src/edge.ts +2 -0
- package/src/middleware.ts +2 -2
- package/src/server/cart.ts +214 -267
- package/src/server/categories.ts +19 -72
- package/src/server/collections.ts +25 -82
- package/src/server/contact.ts +92 -0
- package/src/server/customer.ts +140 -189
- package/src/server/dynamic-config.ts +6 -2
- package/src/server/fulfillment.ts +27 -53
- package/src/server/guest.ts +159 -276
- package/src/server/home.ts +68 -0
- package/src/server/index.ts +1 -0
- package/src/server/locale-actions.ts +8 -15
- package/src/server/locales.ts +6 -18
- package/src/server/orders.ts +167 -337
- package/src/server/payment-details.ts +24 -52
- package/src/server/payment.ts +8 -28
- package/src/server/pincode.ts +49 -0
- package/src/server/products.ts +72 -235
- package/src/server/regions.ts +10 -6
- package/src/server/returns.ts +75 -189
- package/src/server/swaps.ts +90 -121
- package/src/server/variants.ts +9 -28
- package/src/util/revalidate-cart.ts +10 -0
- package/src/util/sort-products.ts +2 -47
- package/src/util/store-client.ts +93 -0
- package/src/services/middleware.ts +0 -54
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { getStoreAuthOptions } from "medusa-services/auth";
|
|
2
|
+
import { getAuthHeaders, getGuestAuthHeaders } from "../cookies";
|
|
3
|
+
import { getLocaleHeader } from "./get-locale-header";
|
|
4
|
+
import { cookies as nextCookies } from "next/headers";
|
|
5
|
+
function getBackendUrl() {
|
|
6
|
+
return (process.env.MEDUSA_BACKEND_URL?.replace(/\/$/, "") ||
|
|
7
|
+
process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL?.replace(/\/$/, "") ||
|
|
8
|
+
"http://localhost:9000");
|
|
9
|
+
}
|
|
10
|
+
function getPublishableApiKey() {
|
|
11
|
+
const key = process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY;
|
|
12
|
+
if (!key) {
|
|
13
|
+
throw new Error("NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY is not configured");
|
|
14
|
+
}
|
|
15
|
+
return key;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Builds portable Medusa store client options from Next.js cookies and env.
|
|
19
|
+
*/
|
|
20
|
+
export async function getStoreClientOptions() {
|
|
21
|
+
const auth = await getAuthHeaders();
|
|
22
|
+
const localeHeader = await getLocaleHeader().catch(() => ({}));
|
|
23
|
+
return {
|
|
24
|
+
backendUrl: getBackendUrl(),
|
|
25
|
+
publishableApiKey: getPublishableApiKey(),
|
|
26
|
+
authorization: "authorization" in auth ? auth.authorization : undefined,
|
|
27
|
+
headers: localeHeader["x-medusa-locale"]
|
|
28
|
+
? { "x-medusa-locale": localeHeader["x-medusa-locale"] }
|
|
29
|
+
: undefined,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** @deprecated Use getStoreClientOptions */
|
|
33
|
+
export const getStoreCartClientOptions = getStoreClientOptions;
|
|
34
|
+
export function getMedusaBackendUrl() {
|
|
35
|
+
return getBackendUrl();
|
|
36
|
+
}
|
|
37
|
+
export async function getGuestStoreClientOptions() {
|
|
38
|
+
const guestAuth = await getGuestAuthHeaders();
|
|
39
|
+
let authorization = "authorization" in guestAuth ? guestAuth.authorization : undefined;
|
|
40
|
+
if (!authorization) {
|
|
41
|
+
try {
|
|
42
|
+
const cookieStore = await nextCookies();
|
|
43
|
+
const legacyToken = cookieStore.get("_medusa_guest_token")?.value;
|
|
44
|
+
if (legacyToken) {
|
|
45
|
+
authorization = `Bearer ${legacyToken}`;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (!authorization)
|
|
53
|
+
return null;
|
|
54
|
+
return {
|
|
55
|
+
backendUrl: getBackendUrl(),
|
|
56
|
+
publishableApiKey: getPublishableApiKey(),
|
|
57
|
+
authorization,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export async function getStoreClientOptionsWithToken(token) {
|
|
61
|
+
return {
|
|
62
|
+
backendUrl: getBackendUrl(),
|
|
63
|
+
publishableApiKey: getPublishableApiKey(),
|
|
64
|
+
authorization: token.startsWith("Bearer ") ? token : `Bearer ${token}`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export async function getAuthClientOptions(authorization) {
|
|
68
|
+
if (authorization) {
|
|
69
|
+
return getStoreAuthOptions({
|
|
70
|
+
backendUrl: getBackendUrl(),
|
|
71
|
+
publishableApiKey: getPublishableApiKey(),
|
|
72
|
+
authorization,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
const storeOptions = await getStoreClientOptions();
|
|
76
|
+
return getStoreAuthOptions(storeOptions);
|
|
77
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "medusa-storefront-data",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Medusa storefront server data layer extracted from Next.js storefront",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,7 +21,13 @@
|
|
|
21
21
|
"@medusajs/js-sdk": ">=2",
|
|
22
22
|
"@medusajs/types": ">=2",
|
|
23
23
|
"medusa-reviews-logic": "*",
|
|
24
|
-
"medusa-wishlist-logic": "*"
|
|
24
|
+
"medusa-wishlist-logic": "*",
|
|
25
|
+
"medusa-services": "^1.1.0"
|
|
26
|
+
},
|
|
27
|
+
"peerDependenciesMeta": {
|
|
28
|
+
"medusa-reviews-logic": {
|
|
29
|
+
"optional": true
|
|
30
|
+
}
|
|
25
31
|
},
|
|
26
32
|
"dependencies": {
|
|
27
33
|
"color": "^5.0.3",
|
|
@@ -33,120 +39,172 @@
|
|
|
33
39
|
"next": "^15.0.0",
|
|
34
40
|
"@medusajs/js-sdk": "^2.0.0",
|
|
35
41
|
"@medusajs/types": "^2.0.0",
|
|
36
|
-
"@types/node": "^22.0.0"
|
|
42
|
+
"@types/node": "^22.0.0",
|
|
43
|
+
"medusa-services": "workspace:*"
|
|
37
44
|
},
|
|
38
45
|
"exports": {
|
|
46
|
+
"./package.json": "./package.json",
|
|
39
47
|
".": {
|
|
40
|
-
"types": "./
|
|
41
|
-
"import": "./src/server/index.ts"
|
|
48
|
+
"types": "./dist/server/index.d.ts",
|
|
49
|
+
"import": "./src/server/index.ts",
|
|
50
|
+
"default": "./src/server/index.ts"
|
|
42
51
|
},
|
|
43
52
|
"./cookies": {
|
|
44
53
|
"types": "./dist/cookies.d.ts",
|
|
45
|
-
"import": "./src/cookies.ts"
|
|
54
|
+
"import": "./src/cookies.ts",
|
|
55
|
+
"default": "./src/cookies.ts"
|
|
46
56
|
},
|
|
47
57
|
"./config": {
|
|
48
58
|
"types": "./dist/config.d.ts",
|
|
49
|
-
"import": "./src/config.ts"
|
|
59
|
+
"import": "./src/config.ts",
|
|
60
|
+
"default": "./src/config.ts"
|
|
50
61
|
},
|
|
51
62
|
"./locale-header": {
|
|
52
63
|
"types": "./dist/util/get-locale-header.d.ts",
|
|
53
|
-
"import": "./src/util/get-locale-header.ts"
|
|
64
|
+
"import": "./src/util/get-locale-header.ts",
|
|
65
|
+
"default": "./src/util/get-locale-header.ts"
|
|
54
66
|
},
|
|
55
67
|
"./medusa-error": {
|
|
56
68
|
"types": "./dist/util/medusa-error.d.ts",
|
|
57
|
-
"import": "./src/util/medusa-error.ts"
|
|
69
|
+
"import": "./src/util/medusa-error.ts",
|
|
70
|
+
"default": "./src/util/medusa-error.ts"
|
|
58
71
|
},
|
|
59
72
|
"./sort-products": {
|
|
60
73
|
"types": "./dist/util/sort-products.d.ts",
|
|
61
|
-
"import": "./src/util/sort-products.ts"
|
|
74
|
+
"import": "./src/util/sort-products.ts",
|
|
75
|
+
"default": "./src/util/sort-products.ts"
|
|
76
|
+
},
|
|
77
|
+
"./middleware": {
|
|
78
|
+
"types": "./dist/middleware.d.ts",
|
|
79
|
+
"import": "./src/middleware.ts",
|
|
80
|
+
"default": "./src/middleware.ts"
|
|
81
|
+
},
|
|
82
|
+
"./edge": {
|
|
83
|
+
"types": "./dist/edge.d.ts",
|
|
84
|
+
"import": "./src/edge.ts",
|
|
85
|
+
"default": "./src/edge.ts"
|
|
62
86
|
},
|
|
63
87
|
"./cart": {
|
|
64
88
|
"types": "./dist/server/cart.d.ts",
|
|
65
|
-
"import": "./src/server/cart.ts"
|
|
89
|
+
"import": "./src/server/cart.ts",
|
|
90
|
+
"default": "./src/server/cart.ts"
|
|
66
91
|
},
|
|
67
92
|
"./categories": {
|
|
68
93
|
"types": "./dist/server/categories.d.ts",
|
|
69
|
-
"import": "./src/server/categories.ts"
|
|
94
|
+
"import": "./src/server/categories.ts",
|
|
95
|
+
"default": "./src/server/categories.ts"
|
|
70
96
|
},
|
|
71
97
|
"./collections": {
|
|
72
98
|
"types": "./dist/server/collections.d.ts",
|
|
73
|
-
"import": "./src/server/collections.ts"
|
|
99
|
+
"import": "./src/server/collections.ts",
|
|
100
|
+
"default": "./src/server/collections.ts"
|
|
101
|
+
},
|
|
102
|
+
"./contact": {
|
|
103
|
+
"types": "./dist/server/contact.d.ts",
|
|
104
|
+
"import": "./src/server/contact.ts",
|
|
105
|
+
"default": "./src/server/contact.ts"
|
|
74
106
|
},
|
|
75
107
|
"./customer": {
|
|
76
108
|
"types": "./dist/server/customer.d.ts",
|
|
77
|
-
"import": "./src/server/customer.ts"
|
|
109
|
+
"import": "./src/server/customer.ts",
|
|
110
|
+
"default": "./src/server/customer.ts"
|
|
78
111
|
},
|
|
79
112
|
"./customer-registration": {
|
|
80
113
|
"types": "./dist/server/customer-registration.d.ts",
|
|
81
|
-
"import": "./src/server/customer-registration.ts"
|
|
114
|
+
"import": "./src/server/customer-registration.ts",
|
|
115
|
+
"default": "./src/server/customer-registration.ts"
|
|
82
116
|
},
|
|
83
117
|
"./dynamic-config": {
|
|
84
118
|
"types": "./dist/server/dynamic-config.d.ts",
|
|
85
|
-
"import": "./src/server/dynamic-config.ts"
|
|
119
|
+
"import": "./src/server/dynamic-config.ts",
|
|
120
|
+
"default": "./src/server/dynamic-config.ts"
|
|
86
121
|
},
|
|
87
122
|
"./fulfillment": {
|
|
88
123
|
"types": "./dist/server/fulfillment.d.ts",
|
|
89
|
-
"import": "./src/server/fulfillment.ts"
|
|
124
|
+
"import": "./src/server/fulfillment.ts",
|
|
125
|
+
"default": "./src/server/fulfillment.ts"
|
|
90
126
|
},
|
|
91
127
|
"./guest": {
|
|
92
128
|
"types": "./dist/server/guest.d.ts",
|
|
93
|
-
"import": "./src/server/guest.ts"
|
|
129
|
+
"import": "./src/server/guest.ts",
|
|
130
|
+
"default": "./src/server/guest.ts"
|
|
131
|
+
},
|
|
132
|
+
"./home": {
|
|
133
|
+
"types": "./dist/server/home.d.ts",
|
|
134
|
+
"import": "./src/server/home.ts",
|
|
135
|
+
"default": "./src/server/home.ts"
|
|
94
136
|
},
|
|
95
137
|
"./locale-actions": {
|
|
96
138
|
"types": "./dist/server/locale-actions.d.ts",
|
|
97
|
-
"import": "./src/server/locale-actions.ts"
|
|
139
|
+
"import": "./src/server/locale-actions.ts",
|
|
140
|
+
"default": "./src/server/locale-actions.ts"
|
|
98
141
|
},
|
|
99
142
|
"./locales": {
|
|
100
143
|
"types": "./dist/server/locales.d.ts",
|
|
101
|
-
"import": "./src/server/locales.ts"
|
|
144
|
+
"import": "./src/server/locales.ts",
|
|
145
|
+
"default": "./src/server/locales.ts"
|
|
102
146
|
},
|
|
103
147
|
"./notifications": {
|
|
104
148
|
"types": "./dist/server/notifications.d.ts",
|
|
105
|
-
"import": "./src/server/notifications.ts"
|
|
149
|
+
"import": "./src/server/notifications.ts",
|
|
150
|
+
"default": "./src/server/notifications.ts"
|
|
106
151
|
},
|
|
107
152
|
"./onboarding": {
|
|
108
153
|
"types": "./dist/server/onboarding.d.ts",
|
|
109
|
-
"import": "./src/server/onboarding.ts"
|
|
154
|
+
"import": "./src/server/onboarding.ts",
|
|
155
|
+
"default": "./src/server/onboarding.ts"
|
|
110
156
|
},
|
|
111
157
|
"./orders": {
|
|
112
158
|
"types": "./dist/server/orders.d.ts",
|
|
113
|
-
"import": "./src/server/orders.ts"
|
|
159
|
+
"import": "./src/server/orders.ts",
|
|
160
|
+
"default": "./src/server/orders.ts"
|
|
114
161
|
},
|
|
115
162
|
"./payment": {
|
|
116
163
|
"types": "./dist/server/payment.d.ts",
|
|
117
|
-
"import": "./src/server/payment.ts"
|
|
164
|
+
"import": "./src/server/payment.ts",
|
|
165
|
+
"default": "./src/server/payment.ts"
|
|
118
166
|
},
|
|
119
167
|
"./payment-details": {
|
|
120
168
|
"types": "./dist/server/payment-details.d.ts",
|
|
121
|
-
"import": "./src/server/payment-details.ts"
|
|
169
|
+
"import": "./src/server/payment-details.ts",
|
|
170
|
+
"default": "./src/server/payment-details.ts"
|
|
171
|
+
},
|
|
172
|
+
"./pincode": {
|
|
173
|
+
"types": "./dist/server/pincode.d.ts",
|
|
174
|
+
"import": "./src/server/pincode.ts",
|
|
175
|
+
"default": "./src/server/pincode.ts"
|
|
122
176
|
},
|
|
123
177
|
"./products": {
|
|
124
178
|
"types": "./dist/server/products.d.ts",
|
|
125
|
-
"import": "./src/server/products.ts"
|
|
179
|
+
"import": "./src/server/products.ts",
|
|
180
|
+
"default": "./src/server/products.ts"
|
|
126
181
|
},
|
|
127
182
|
"./regions": {
|
|
128
183
|
"types": "./dist/server/regions.d.ts",
|
|
129
|
-
"import": "./src/server/regions.ts"
|
|
184
|
+
"import": "./src/server/regions.ts",
|
|
185
|
+
"default": "./src/server/regions.ts"
|
|
130
186
|
},
|
|
131
187
|
"./returns": {
|
|
132
188
|
"types": "./dist/server/returns.d.ts",
|
|
133
|
-
"import": "./src/server/returns.ts"
|
|
189
|
+
"import": "./src/server/returns.ts",
|
|
190
|
+
"default": "./src/server/returns.ts"
|
|
134
191
|
},
|
|
135
192
|
"./swaps": {
|
|
136
193
|
"types": "./dist/server/swaps.d.ts",
|
|
137
|
-
"import": "./src/server/swaps.ts"
|
|
194
|
+
"import": "./src/server/swaps.ts",
|
|
195
|
+
"default": "./src/server/swaps.ts"
|
|
138
196
|
},
|
|
139
197
|
"./variants": {
|
|
140
198
|
"types": "./dist/server/variants.d.ts",
|
|
141
|
-
"import": "./src/server/variants.ts"
|
|
199
|
+
"import": "./src/server/variants.ts",
|
|
200
|
+
"default": "./src/server/variants.ts"
|
|
142
201
|
},
|
|
143
202
|
"./wishlist": {
|
|
144
|
-
"types": "./
|
|
145
|
-
"import": "./src/server/wishlist.ts"
|
|
146
|
-
|
|
147
|
-
"./middleware": {
|
|
148
|
-
"types": "./src/middleware.ts",
|
|
149
|
-
"import": "./src/middleware.ts"
|
|
203
|
+
"types": "./dist/server/wishlist.d.ts",
|
|
204
|
+
"import": "./src/server/wishlist.ts",
|
|
205
|
+
"default": "./src/server/wishlist.ts"
|
|
150
206
|
}
|
|
151
|
-
}
|
|
207
|
+
},
|
|
208
|
+
"main": "./dist/server/index.js",
|
|
209
|
+
"types": "./dist/server/index.d.ts"
|
|
152
210
|
}
|
package/src/edge.ts
ADDED
package/src/middleware.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { medusaListRegions, medusaMergeCarts } from "
|
|
2
|
-
export type { MedusaMiddlewareClientOptions } from "
|
|
1
|
+
export { medusaListRegions, medusaMergeCarts } from "medusa-services/middleware";
|
|
2
|
+
export type { MedusaMiddlewareClientOptions } from "medusa-services/middleware";
|