@graphcommerce/magento-graphql 9.0.0-canary.98 → 9.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/CHANGELOG.md +27 -956
- package/graphqlErrorByCategory.ts +6 -6
- package/mesh/attributeValueResolver.ts +31 -0
- package/mesh/customAttributeMetadataV2.ts +68 -0
- package/mesh/customAttributeV2Resolver.ts +48 -0
- package/package.json +6 -5
- package/plugins/magentoGraphqlConfig.ts +3 -3
- package/plugins/meshConfigAttrValue.ts +24 -0
- package/schema/AttributeValueInterface-attribute.graphqls +9 -0
- package/schema/ProductInterface-custom_attribute.graphqls +49 -0
- package/schema-247/Mutation-confirmEmail.graphqls +1 -1
- package/schema-247/Query-customAttributeMetadataV2.graphqls +7 -0
- package/typePolicies.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,136 +1,58 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
## 9.0.0
|
|
3
|
+
## 9.0.0
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## 9.0.0-canary.96
|
|
8
|
-
|
|
9
|
-
## 9.0.0-canary.95
|
|
10
|
-
|
|
11
|
-
## 9.0.0-canary.94
|
|
12
|
-
|
|
13
|
-
## 9.0.0-canary.93
|
|
14
|
-
|
|
15
|
-
## 9.0.0-canary.92
|
|
16
|
-
|
|
17
|
-
## 9.0.0-canary.91
|
|
18
|
-
|
|
19
|
-
## 9.0.0-canary.90
|
|
20
|
-
|
|
21
|
-
## 9.0.0-canary.89
|
|
22
|
-
|
|
23
|
-
## 9.0.0-canary.88
|
|
24
|
-
|
|
25
|
-
## 9.0.0-canary.87
|
|
26
|
-
|
|
27
|
-
## 9.0.0-canary.86
|
|
28
|
-
|
|
29
|
-
## 9.0.0-canary.85
|
|
30
|
-
|
|
31
|
-
## 9.0.0-canary.84
|
|
32
|
-
|
|
33
|
-
## 9.0.0-canary.83
|
|
34
|
-
|
|
35
|
-
## 9.0.0-canary.82
|
|
36
|
-
|
|
37
|
-
## 9.0.0-canary.81
|
|
38
|
-
|
|
39
|
-
## 9.0.0-canary.80
|
|
40
|
-
|
|
41
|
-
## 9.0.0-canary.79
|
|
42
|
-
|
|
43
|
-
## 9.0.0-canary.78
|
|
44
|
-
|
|
45
|
-
## 9.0.0-canary.77
|
|
46
|
-
|
|
47
|
-
## 9.0.0-canary.76
|
|
48
|
-
|
|
49
|
-
## 9.0.0-canary.75
|
|
50
|
-
|
|
51
|
-
## 9.0.0-canary.74
|
|
52
|
-
|
|
53
|
-
## 9.0.0-canary.73
|
|
54
|
-
|
|
55
|
-
## 9.0.0-canary.72
|
|
56
|
-
|
|
57
|
-
## 9.0.0-canary.71
|
|
58
|
-
|
|
59
|
-
## 9.0.0-canary.70
|
|
60
|
-
|
|
61
|
-
## 9.0.0-canary.69
|
|
62
|
-
|
|
63
|
-
## 9.0.0-canary.68
|
|
64
|
-
|
|
65
|
-
## 9.0.0-canary.67
|
|
66
|
-
|
|
67
|
-
## 9.0.0-canary.66
|
|
68
|
-
|
|
69
|
-
## 9.0.0-canary.65
|
|
70
|
-
|
|
71
|
-
## 9.0.0-canary.64
|
|
72
|
-
|
|
73
|
-
## 9.0.0-canary.63
|
|
74
|
-
|
|
75
|
-
## 9.0.0-canary.62
|
|
76
|
-
|
|
77
|
-
## 9.0.0-canary.61
|
|
78
|
-
|
|
79
|
-
## 9.0.0-canary.60
|
|
80
|
-
|
|
81
|
-
## 9.0.0-canary.59
|
|
82
|
-
|
|
83
|
-
## 9.0.0-canary.58
|
|
5
|
+
### Minor Changes
|
|
84
6
|
|
|
85
|
-
|
|
7
|
+
- [#2416](https://github.com/graphcommerce-org/graphcommerce/pull/2416) [`651eea0`](https://github.com/graphcommerce-org/graphcommerce/commit/651eea0bdda1ed0f46f4c73d7edf52c8c1da5b54) - Created a new field for products: `custom_attribute(attribute_code: "attribute_code")` to retrieve attribute option value labels. This field is only available in Magento 2.4.7 and up. ([@paales](https://github.com/paales))
|
|
86
8
|
|
|
87
|
-
|
|
9
|
+
- [#2204](https://github.com/graphcommerce-org/graphcommerce/pull/2204) [`42843eb`](https://github.com/graphcommerce-org/graphcommerce/commit/42843eb760f8301eb7901bb0d888c95792ff0b4b) - Add `X-Forwarded-For` header to mesh requests. ([@SumVur](https://github.com/SumVur))
|
|
88
10
|
|
|
89
|
-
|
|
11
|
+
- [#2416](https://github.com/graphcommerce-org/graphcommerce/pull/2416) [`53af256`](https://github.com/graphcommerce-org/graphcommerce/commit/53af25671d3aca7f3daa2dd45ccd2237697e9254) - Added an `attribute`-field to `AttributeValueInterface` to be able to retrieve attribute metadata from the value of an attribute. ([@paales](https://github.com/paales))
|
|
90
12
|
|
|
91
|
-
|
|
13
|
+
### Patch Changes
|
|
92
14
|
|
|
93
|
-
|
|
15
|
+
- [#2299](https://github.com/graphcommerce-org/graphcommerce/pull/2299) [`c6ac45b`](https://github.com/graphcommerce-org/graphcommerce/commit/c6ac45b8ff41dcaa47f1e5d40d04e120990870aa) - Added a `magentoVersion` configuration value to be able to differentiate features based on the Magento version. ([@paales](https://github.com/paales))
|
|
94
16
|
|
|
95
|
-
##
|
|
17
|
+
## 9.0.0-canary.118
|
|
96
18
|
|
|
97
|
-
##
|
|
19
|
+
## 9.0.0-canary.117
|
|
98
20
|
|
|
99
|
-
##
|
|
21
|
+
## 9.0.0-canary.116
|
|
100
22
|
|
|
101
|
-
##
|
|
23
|
+
## 9.0.0-canary.115
|
|
102
24
|
|
|
103
|
-
##
|
|
25
|
+
## 9.0.0-canary.114
|
|
104
26
|
|
|
105
|
-
##
|
|
27
|
+
## 9.0.0-canary.113
|
|
106
28
|
|
|
107
|
-
##
|
|
29
|
+
## 9.0.0-canary.112
|
|
108
30
|
|
|
109
|
-
##
|
|
31
|
+
## 9.0.0-canary.111
|
|
110
32
|
|
|
111
|
-
##
|
|
33
|
+
## 9.0.0-canary.110
|
|
112
34
|
|
|
113
|
-
##
|
|
35
|
+
## 9.0.0-canary.109
|
|
114
36
|
|
|
115
|
-
##
|
|
37
|
+
## 9.0.0-canary.108
|
|
116
38
|
|
|
117
|
-
##
|
|
39
|
+
## 9.0.0-canary.107
|
|
118
40
|
|
|
119
|
-
##
|
|
41
|
+
## 9.0.0-canary.106
|
|
120
42
|
|
|
121
|
-
##
|
|
43
|
+
## 9.0.0-canary.105
|
|
122
44
|
|
|
123
|
-
##
|
|
45
|
+
## 9.0.0-canary.104
|
|
124
46
|
|
|
125
|
-
##
|
|
47
|
+
## 9.0.0-canary.103
|
|
126
48
|
|
|
127
|
-
##
|
|
49
|
+
## 9.0.0-canary.99
|
|
128
50
|
|
|
129
|
-
|
|
51
|
+
### Minor Changes
|
|
130
52
|
|
|
131
|
-
|
|
53
|
+
- [#2416](https://github.com/graphcommerce-org/graphcommerce/pull/2416) [`651eea0`](https://github.com/graphcommerce-org/graphcommerce/commit/651eea0bdda1ed0f46f4c73d7edf52c8c1da5b54) - Created a new field for products: `custom_attribute(attribute_code: "attribute_code")` to retrieve attribute option value labels. This field is only available in Magento 2.4.7 and up. ([@paales](https://github.com/paales))
|
|
132
54
|
|
|
133
|
-
|
|
55
|
+
- [#2416](https://github.com/graphcommerce-org/graphcommerce/pull/2416) [`53af256`](https://github.com/graphcommerce-org/graphcommerce/commit/53af25671d3aca7f3daa2dd45ccd2237697e9254) - Added an `attribute`-field to `AttributeValueInterface` to be able to retrieve attribute metadata from the value of an attribute. ([@paales](https://github.com/paales))
|
|
134
56
|
|
|
135
57
|
## 8.1.0-canary.32
|
|
136
58
|
|
|
@@ -138,354 +60,6 @@
|
|
|
138
60
|
|
|
139
61
|
- [#2299](https://github.com/graphcommerce-org/graphcommerce/pull/2299) [`c6ac45b`](https://github.com/graphcommerce-org/graphcommerce/commit/c6ac45b8ff41dcaa47f1e5d40d04e120990870aa) - Added a magentoVersion configuration value to be able to differentiate features based on the Magento version ([@paales](https://github.com/paales))
|
|
140
62
|
|
|
141
|
-
## 8.1.0-canary.31
|
|
142
|
-
|
|
143
|
-
## 8.1.0-canary.30
|
|
144
|
-
|
|
145
|
-
## 8.1.0-canary.29
|
|
146
|
-
|
|
147
|
-
## 8.1.0-canary.28
|
|
148
|
-
|
|
149
|
-
## 8.1.0-canary.27
|
|
150
|
-
|
|
151
|
-
## 8.1.0-canary.26
|
|
152
|
-
|
|
153
|
-
## 8.1.0-canary.25
|
|
154
|
-
|
|
155
|
-
## 8.1.0-canary.24
|
|
156
|
-
|
|
157
|
-
## 8.1.0-canary.23
|
|
158
|
-
|
|
159
|
-
## 8.1.0-canary.22
|
|
160
|
-
|
|
161
|
-
## 8.1.0-canary.21
|
|
162
|
-
|
|
163
|
-
## 8.1.0-canary.20
|
|
164
|
-
|
|
165
|
-
## 8.1.0-canary.19
|
|
166
|
-
|
|
167
|
-
## 8.1.0-canary.18
|
|
168
|
-
|
|
169
|
-
## 8.1.0-canary.17
|
|
170
|
-
|
|
171
|
-
## 8.1.0-canary.16
|
|
172
|
-
|
|
173
|
-
## 8.1.0-canary.15
|
|
174
|
-
|
|
175
|
-
## 8.1.0-canary.14
|
|
176
|
-
|
|
177
|
-
## 8.1.0-canary.13
|
|
178
|
-
|
|
179
|
-
## 8.1.0-canary.12
|
|
180
|
-
|
|
181
|
-
## 8.1.0-canary.11
|
|
182
|
-
|
|
183
|
-
## 8.1.0-canary.10
|
|
184
|
-
|
|
185
|
-
## 8.1.0-canary.9
|
|
186
|
-
|
|
187
|
-
## 8.1.0-canary.8
|
|
188
|
-
|
|
189
|
-
## 8.1.0-canary.7
|
|
190
|
-
|
|
191
|
-
## 8.1.0-canary.6
|
|
192
|
-
|
|
193
|
-
## 8.1.0-canary.5
|
|
194
|
-
|
|
195
|
-
## 8.0.6-canary.4
|
|
196
|
-
|
|
197
|
-
## 8.0.6-canary.3
|
|
198
|
-
|
|
199
|
-
## 8.0.6-canary.2
|
|
200
|
-
|
|
201
|
-
## 8.0.6-canary.1
|
|
202
|
-
|
|
203
|
-
## 8.0.6-canary.0
|
|
204
|
-
|
|
205
|
-
## 8.0.5
|
|
206
|
-
|
|
207
|
-
## 8.0.5-canary.10
|
|
208
|
-
|
|
209
|
-
## 8.0.5-canary.9
|
|
210
|
-
|
|
211
|
-
## 8.0.5-canary.8
|
|
212
|
-
|
|
213
|
-
## 8.0.5-canary.7
|
|
214
|
-
|
|
215
|
-
## 8.0.5-canary.6
|
|
216
|
-
|
|
217
|
-
## 8.0.5-canary.5
|
|
218
|
-
|
|
219
|
-
## 8.0.5-canary.4
|
|
220
|
-
|
|
221
|
-
## 8.0.5-canary.3
|
|
222
|
-
|
|
223
|
-
## 8.0.5-canary.2
|
|
224
|
-
|
|
225
|
-
## 8.0.5-canary.1
|
|
226
|
-
|
|
227
|
-
## 8.0.5-canary.0
|
|
228
|
-
|
|
229
|
-
## 8.0.4
|
|
230
|
-
|
|
231
|
-
## 8.0.4-canary.1
|
|
232
|
-
|
|
233
|
-
## 8.0.4-canary.0
|
|
234
|
-
|
|
235
|
-
## 8.0.3
|
|
236
|
-
|
|
237
|
-
## 8.0.3-canary.6
|
|
238
|
-
|
|
239
|
-
## 8.0.3-canary.5
|
|
240
|
-
|
|
241
|
-
## 8.0.3-canary.4
|
|
242
|
-
|
|
243
|
-
## 8.0.3-canary.3
|
|
244
|
-
|
|
245
|
-
## 8.0.3-canary.2
|
|
246
|
-
|
|
247
|
-
## 8.0.3-canary.1
|
|
248
|
-
|
|
249
|
-
## 8.0.3-canary.0
|
|
250
|
-
|
|
251
|
-
## 8.0.2
|
|
252
|
-
|
|
253
|
-
## 8.0.2-canary.3
|
|
254
|
-
|
|
255
|
-
## 8.0.2-canary.2
|
|
256
|
-
|
|
257
|
-
## 8.0.2-canary.1
|
|
258
|
-
|
|
259
|
-
## 8.0.2-canary.0
|
|
260
|
-
|
|
261
|
-
## 8.0.1
|
|
262
|
-
|
|
263
|
-
## 8.0.1-canary.4
|
|
264
|
-
|
|
265
|
-
## 8.0.1-canary.3
|
|
266
|
-
|
|
267
|
-
## 8.0.1-canary.2
|
|
268
|
-
|
|
269
|
-
## 8.0.1-canary.1
|
|
270
|
-
|
|
271
|
-
## 8.0.1-canary.0
|
|
272
|
-
|
|
273
|
-
## 8.0.0
|
|
274
|
-
|
|
275
|
-
## 8.0.0-canary.100
|
|
276
|
-
|
|
277
|
-
## 8.0.0-canary.99
|
|
278
|
-
|
|
279
|
-
## 8.0.0-canary.98
|
|
280
|
-
|
|
281
|
-
## 8.0.0-canary.97
|
|
282
|
-
|
|
283
|
-
## 8.0.0-canary.96
|
|
284
|
-
|
|
285
|
-
## 8.0.0-canary.95
|
|
286
|
-
|
|
287
|
-
## 8.0.0-canary.94
|
|
288
|
-
|
|
289
|
-
## 8.0.0-canary.93
|
|
290
|
-
|
|
291
|
-
## 8.0.0-canary.92
|
|
292
|
-
|
|
293
|
-
## 8.0.0-canary.91
|
|
294
|
-
|
|
295
|
-
## 8.0.0-canary.90
|
|
296
|
-
|
|
297
|
-
## 8.0.0-canary.89
|
|
298
|
-
|
|
299
|
-
## 8.0.0-canary.88
|
|
300
|
-
|
|
301
|
-
## 8.0.0-canary.87
|
|
302
|
-
|
|
303
|
-
## 8.0.0-canary.86
|
|
304
|
-
|
|
305
|
-
## 8.0.0-canary.85
|
|
306
|
-
|
|
307
|
-
## 8.0.0-canary.84
|
|
308
|
-
|
|
309
|
-
## 8.0.0-canary.83
|
|
310
|
-
|
|
311
|
-
## 8.0.0-canary.82
|
|
312
|
-
|
|
313
|
-
## 8.0.0-canary.81
|
|
314
|
-
|
|
315
|
-
## 8.0.0-canary.80
|
|
316
|
-
|
|
317
|
-
## 8.0.0-canary.79
|
|
318
|
-
|
|
319
|
-
## 8.0.0-canary.78
|
|
320
|
-
|
|
321
|
-
## 8.0.0-canary.77
|
|
322
|
-
|
|
323
|
-
## 8.0.0-canary.76
|
|
324
|
-
|
|
325
|
-
## 8.0.0-canary.75
|
|
326
|
-
|
|
327
|
-
## 8.0.0-canary.74
|
|
328
|
-
|
|
329
|
-
## 8.0.0-canary.73
|
|
330
|
-
|
|
331
|
-
## 8.0.0-canary.72
|
|
332
|
-
|
|
333
|
-
## 8.0.0-canary.71
|
|
334
|
-
|
|
335
|
-
## 8.0.0-canary.70
|
|
336
|
-
|
|
337
|
-
## 8.0.0-canary.69
|
|
338
|
-
|
|
339
|
-
## 7.1.0-canary.68
|
|
340
|
-
|
|
341
|
-
## 7.1.0-canary.67
|
|
342
|
-
|
|
343
|
-
## 7.1.0-canary.66
|
|
344
|
-
|
|
345
|
-
## 7.1.0-canary.65
|
|
346
|
-
|
|
347
|
-
## 7.1.0-canary.64
|
|
348
|
-
|
|
349
|
-
## 7.1.0-canary.63
|
|
350
|
-
|
|
351
|
-
## 7.1.0-canary.62
|
|
352
|
-
|
|
353
|
-
## 7.1.0-canary.61
|
|
354
|
-
|
|
355
|
-
## 7.1.0-canary.60
|
|
356
|
-
|
|
357
|
-
## 7.1.0-canary.59
|
|
358
|
-
|
|
359
|
-
## 7.1.0-canary.58
|
|
360
|
-
|
|
361
|
-
## 7.1.0-canary.57
|
|
362
|
-
|
|
363
|
-
## 7.1.0-canary.56
|
|
364
|
-
|
|
365
|
-
## 7.1.0-canary.55
|
|
366
|
-
|
|
367
|
-
## 7.1.0-canary.54
|
|
368
|
-
|
|
369
|
-
## 7.1.0-canary.53
|
|
370
|
-
|
|
371
|
-
## 7.1.0-canary.52
|
|
372
|
-
|
|
373
|
-
## 7.1.0-canary.51
|
|
374
|
-
|
|
375
|
-
## 7.1.0-canary.50
|
|
376
|
-
|
|
377
|
-
## 7.1.0-canary.49
|
|
378
|
-
|
|
379
|
-
## 7.1.0-canary.48
|
|
380
|
-
|
|
381
|
-
## 7.1.0-canary.47
|
|
382
|
-
|
|
383
|
-
## 7.1.0-canary.46
|
|
384
|
-
|
|
385
|
-
## 7.1.0-canary.45
|
|
386
|
-
|
|
387
|
-
## 7.1.0-canary.38
|
|
388
|
-
|
|
389
|
-
## 7.1.0-canary.37
|
|
390
|
-
|
|
391
|
-
## 7.1.0-canary.36
|
|
392
|
-
|
|
393
|
-
## 7.1.0-canary.35
|
|
394
|
-
|
|
395
|
-
## 7.1.0-canary.34
|
|
396
|
-
|
|
397
|
-
## 7.1.0-canary.33
|
|
398
|
-
|
|
399
|
-
## 7.1.0-canary.32
|
|
400
|
-
|
|
401
|
-
## 7.1.0-canary.31
|
|
402
|
-
|
|
403
|
-
## 7.1.0-canary.30
|
|
404
|
-
|
|
405
|
-
## 7.1.0-canary.29
|
|
406
|
-
|
|
407
|
-
## 7.1.0-canary.28
|
|
408
|
-
|
|
409
|
-
## 7.1.0-canary.27
|
|
410
|
-
|
|
411
|
-
## 7.1.0-canary.26
|
|
412
|
-
|
|
413
|
-
## 7.1.0-canary.25
|
|
414
|
-
|
|
415
|
-
## 7.1.0-canary.24
|
|
416
|
-
|
|
417
|
-
## 7.1.0-canary.23
|
|
418
|
-
|
|
419
|
-
## 7.1.0-canary.22
|
|
420
|
-
|
|
421
|
-
## 7.1.0-canary.21
|
|
422
|
-
|
|
423
|
-
## 7.1.0-canary.20
|
|
424
|
-
|
|
425
|
-
## 7.1.0-canary.19
|
|
426
|
-
|
|
427
|
-
## 7.1.0-canary.18
|
|
428
|
-
|
|
429
|
-
## 7.1.0-canary.17
|
|
430
|
-
|
|
431
|
-
## 7.1.0-canary.16
|
|
432
|
-
|
|
433
|
-
## 7.1.0-canary.15
|
|
434
|
-
|
|
435
|
-
## 7.1.0-canary.14
|
|
436
|
-
|
|
437
|
-
## 7.1.0-canary.13
|
|
438
|
-
|
|
439
|
-
## 7.1.0-canary.12
|
|
440
|
-
|
|
441
|
-
## 7.1.0-canary.11
|
|
442
|
-
|
|
443
|
-
## 7.1.0-canary.10
|
|
444
|
-
|
|
445
|
-
## 7.1.0-canary.9
|
|
446
|
-
|
|
447
|
-
## 7.1.0-canary.8
|
|
448
|
-
|
|
449
|
-
## 7.0.2-canary.7
|
|
450
|
-
|
|
451
|
-
## 7.0.2-canary.6
|
|
452
|
-
|
|
453
|
-
## 7.0.2-canary.5
|
|
454
|
-
|
|
455
|
-
## 7.0.1
|
|
456
|
-
|
|
457
|
-
## 7.0.1-canary.15
|
|
458
|
-
|
|
459
|
-
## 7.0.1-canary.14
|
|
460
|
-
|
|
461
|
-
## 7.0.1-canary.13
|
|
462
|
-
|
|
463
|
-
## 7.0.1-canary.12
|
|
464
|
-
|
|
465
|
-
## 7.0.1-canary.11
|
|
466
|
-
|
|
467
|
-
## 7.0.1-canary.10
|
|
468
|
-
|
|
469
|
-
## 7.0.1-canary.9
|
|
470
|
-
|
|
471
|
-
## 7.0.1-canary.8
|
|
472
|
-
|
|
473
|
-
## 7.0.1-canary.7
|
|
474
|
-
|
|
475
|
-
## 7.0.1-canary.6
|
|
476
|
-
|
|
477
|
-
## 7.0.1-canary.5
|
|
478
|
-
|
|
479
|
-
## 7.0.1-canary.4
|
|
480
|
-
|
|
481
|
-
## 7.0.1-canary.3
|
|
482
|
-
|
|
483
|
-
## 7.0.1-canary.2
|
|
484
|
-
|
|
485
|
-
## 7.0.1-canary.1
|
|
486
|
-
|
|
487
|
-
## 7.0.1-canary.0
|
|
488
|
-
|
|
489
63
|
## 7.0.0
|
|
490
64
|
|
|
491
65
|
### Major Changes
|
|
@@ -498,404 +72,6 @@
|
|
|
498
72
|
|
|
499
73
|
- [#1968](https://github.com/graphcommerce-org/graphcommerce/pull/1968) [`1d0611abf`](https://github.com/graphcommerce-org/graphcommerce/commit/1d0611abfc002e68e0274713cda31d9e9550bf9c) - prevent ‘SelectedConfigurableOption’ and ‘Customizable’ from being cached. ([@carlocarels90](https://github.com/carlocarels90))
|
|
500
74
|
|
|
501
|
-
## 6.2.0-canary.98
|
|
502
|
-
|
|
503
|
-
## 6.2.0-canary.97
|
|
504
|
-
|
|
505
|
-
## 6.2.0-canary.96
|
|
506
|
-
|
|
507
|
-
## 6.2.0-canary.95
|
|
508
|
-
|
|
509
|
-
## 6.2.0-canary.94
|
|
510
|
-
|
|
511
|
-
## 6.2.0-canary.93
|
|
512
|
-
|
|
513
|
-
## 6.2.0-canary.92
|
|
514
|
-
|
|
515
|
-
## 6.2.0-canary.91
|
|
516
|
-
|
|
517
|
-
## 6.2.0-canary.90
|
|
518
|
-
|
|
519
|
-
## 6.2.0-canary.89
|
|
520
|
-
|
|
521
|
-
## 6.2.0-canary.88
|
|
522
|
-
|
|
523
|
-
## 6.2.0-canary.87
|
|
524
|
-
|
|
525
|
-
## 6.2.0-canary.86
|
|
526
|
-
|
|
527
|
-
## 6.2.0-canary.85
|
|
528
|
-
|
|
529
|
-
## 6.2.0-canary.84
|
|
530
|
-
|
|
531
|
-
## 6.2.0-canary.83
|
|
532
|
-
|
|
533
|
-
## 6.2.0-canary.82
|
|
534
|
-
|
|
535
|
-
## 6.2.0-canary.81
|
|
536
|
-
|
|
537
|
-
## 6.2.0-canary.80
|
|
538
|
-
|
|
539
|
-
## 6.2.0-canary.79
|
|
540
|
-
|
|
541
|
-
## 6.2.0-canary.78
|
|
542
|
-
|
|
543
|
-
## 6.2.0-canary.77
|
|
544
|
-
|
|
545
|
-
## 6.2.0-canary.76
|
|
546
|
-
|
|
547
|
-
## 6.2.0-canary.75
|
|
548
|
-
|
|
549
|
-
## 6.2.0-canary.74
|
|
550
|
-
|
|
551
|
-
## 6.2.0-canary.73
|
|
552
|
-
|
|
553
|
-
## 6.2.0-canary.72
|
|
554
|
-
|
|
555
|
-
## 6.2.0-canary.71
|
|
556
|
-
|
|
557
|
-
## 6.2.0-canary.70
|
|
558
|
-
|
|
559
|
-
## 6.2.0-canary.69
|
|
560
|
-
|
|
561
|
-
## 6.2.0-canary.68
|
|
562
|
-
|
|
563
|
-
## 6.2.0-canary.67
|
|
564
|
-
|
|
565
|
-
## 6.2.0-canary.66
|
|
566
|
-
|
|
567
|
-
## 6.2.0-canary.65
|
|
568
|
-
|
|
569
|
-
## 6.2.0-canary.64
|
|
570
|
-
|
|
571
|
-
## 6.2.0-canary.63
|
|
572
|
-
|
|
573
|
-
## 6.2.0-canary.62
|
|
574
|
-
|
|
575
|
-
## 6.2.0-canary.61
|
|
576
|
-
|
|
577
|
-
## 6.2.0-canary.60
|
|
578
|
-
|
|
579
|
-
## 6.2.0-canary.59
|
|
580
|
-
|
|
581
|
-
## 6.2.0-canary.58
|
|
582
|
-
|
|
583
|
-
## 6.2.0-canary.57
|
|
584
|
-
|
|
585
|
-
## 6.2.0-canary.56
|
|
586
|
-
|
|
587
|
-
## 6.2.0-canary.55
|
|
588
|
-
|
|
589
|
-
## 6.2.0-canary.54
|
|
590
|
-
|
|
591
|
-
## 6.2.0-canary.53
|
|
592
|
-
|
|
593
|
-
## 6.2.0-canary.52
|
|
594
|
-
|
|
595
|
-
## 6.2.0-canary.51
|
|
596
|
-
|
|
597
|
-
## 6.2.0-canary.50
|
|
598
|
-
|
|
599
|
-
### Minor Changes
|
|
600
|
-
|
|
601
|
-
- [`e55d8c390`](https://github.com/graphcommerce-org/graphcommerce/commit/e55d8c390d90b4bb7bab11c6a99027ac72bd7e3e) - Created a new sidebar layout system, can be configured with productFiltersLayout in the graphcommerce.config.js ([@paales](https://github.com/paales))
|
|
602
|
-
|
|
603
|
-
## 6.2.0-canary.49
|
|
604
|
-
|
|
605
|
-
## 6.2.0-canary.48
|
|
606
|
-
|
|
607
|
-
## 6.2.0-canary.47
|
|
608
|
-
|
|
609
|
-
## 6.2.0-canary.46
|
|
610
|
-
|
|
611
|
-
### Patch Changes
|
|
612
|
-
|
|
613
|
-
- [#1968](https://github.com/graphcommerce-org/graphcommerce/pull/1968) [`1d0611abf`](https://github.com/graphcommerce-org/graphcommerce/commit/1d0611abfc002e68e0274713cda31d9e9550bf9c) - prevent ‘SelectedConfigurableOption’ and ‘Customizable’ from being cached. ([@carlocarels90](https://github.com/carlocarels90))
|
|
614
|
-
|
|
615
|
-
## 6.2.0-canary.45
|
|
616
|
-
|
|
617
|
-
## 6.2.0-canary.44
|
|
618
|
-
|
|
619
|
-
## 6.2.0-canary.43
|
|
620
|
-
|
|
621
|
-
## 6.2.0-canary.42
|
|
622
|
-
|
|
623
|
-
## 6.2.0-canary.41
|
|
624
|
-
|
|
625
|
-
## 6.2.0-canary.40
|
|
626
|
-
|
|
627
|
-
## 6.2.0-canary.39
|
|
628
|
-
|
|
629
|
-
## 6.2.0-canary.38
|
|
630
|
-
|
|
631
|
-
## 6.2.0-canary.37
|
|
632
|
-
|
|
633
|
-
## 6.2.0-canary.36
|
|
634
|
-
|
|
635
|
-
## 6.2.0-canary.35
|
|
636
|
-
|
|
637
|
-
## 6.2.0-canary.34
|
|
638
|
-
|
|
639
|
-
## 6.2.0-canary.33
|
|
640
|
-
|
|
641
|
-
## 6.2.0-canary.32
|
|
642
|
-
|
|
643
|
-
## 6.2.0-canary.31
|
|
644
|
-
|
|
645
|
-
## 6.2.0-canary.30
|
|
646
|
-
|
|
647
|
-
## 6.2.0-canary.29
|
|
648
|
-
|
|
649
|
-
## 6.2.0-canary.28
|
|
650
|
-
|
|
651
|
-
## 6.2.0-canary.27
|
|
652
|
-
|
|
653
|
-
## 6.2.0-canary.26
|
|
654
|
-
|
|
655
|
-
## 6.2.0-canary.25
|
|
656
|
-
|
|
657
|
-
## 6.2.0-canary.24
|
|
658
|
-
|
|
659
|
-
## 6.2.0-canary.23
|
|
660
|
-
|
|
661
|
-
## 6.2.0-canary.22
|
|
662
|
-
|
|
663
|
-
## 6.2.0-canary.21
|
|
664
|
-
|
|
665
|
-
## 6.2.0-canary.20
|
|
666
|
-
|
|
667
|
-
## 6.2.0-canary.19
|
|
668
|
-
|
|
669
|
-
## 6.2.0-canary.18
|
|
670
|
-
|
|
671
|
-
## 6.2.0-canary.17
|
|
672
|
-
|
|
673
|
-
## 6.2.0-canary.16
|
|
674
|
-
|
|
675
|
-
## 6.2.0-canary.15
|
|
676
|
-
|
|
677
|
-
## 6.2.0-canary.14
|
|
678
|
-
|
|
679
|
-
## 6.2.0-canary.13
|
|
680
|
-
|
|
681
|
-
## 6.2.0-canary.12
|
|
682
|
-
|
|
683
|
-
## 6.2.0-canary.11
|
|
684
|
-
|
|
685
|
-
## 6.2.0-canary.10
|
|
686
|
-
|
|
687
|
-
## 6.2.0-canary.9
|
|
688
|
-
|
|
689
|
-
## 6.2.0-canary.8
|
|
690
|
-
|
|
691
|
-
## 6.2.0-canary.7
|
|
692
|
-
|
|
693
|
-
## 6.2.0-canary.6
|
|
694
|
-
|
|
695
|
-
## 6.1.1-canary.5
|
|
696
|
-
|
|
697
|
-
## 6.1.1-canary.4
|
|
698
|
-
|
|
699
|
-
### Patch Changes
|
|
700
|
-
|
|
701
|
-
- [#1914](https://github.com/graphcommerce-org/graphcommerce/pull/1914) [`4ab34615f`](https://github.com/graphcommerce-org/graphcommerce/commit/4ab34615f9a0425010e0d793f20e4853f85a69e3) - When an error is masked, do not remask them ([@paales](https://github.com/paales))
|
|
702
|
-
|
|
703
|
-
## 6.1.1-canary.3
|
|
704
|
-
|
|
705
|
-
## 6.1.1-canary.2
|
|
706
|
-
|
|
707
|
-
## 6.1.1-canary.1
|
|
708
|
-
|
|
709
|
-
## 6.1.1-canary.0
|
|
710
|
-
|
|
711
|
-
## 6.1.0
|
|
712
|
-
|
|
713
|
-
## 6.0.2-canary.22
|
|
714
|
-
|
|
715
|
-
## 6.0.2-canary.21
|
|
716
|
-
|
|
717
|
-
## 6.0.2-canary.20
|
|
718
|
-
|
|
719
|
-
## 6.0.2-canary.19
|
|
720
|
-
|
|
721
|
-
## 6.0.2-canary.18
|
|
722
|
-
|
|
723
|
-
## 6.0.2-canary.17
|
|
724
|
-
|
|
725
|
-
## 6.0.2-canary.16
|
|
726
|
-
|
|
727
|
-
## 6.0.2-canary.15
|
|
728
|
-
|
|
729
|
-
## 6.0.2-canary.14
|
|
730
|
-
|
|
731
|
-
## 6.0.2-canary.13
|
|
732
|
-
|
|
733
|
-
## 6.0.2-canary.12
|
|
734
|
-
|
|
735
|
-
## 6.0.2-canary.11
|
|
736
|
-
|
|
737
|
-
## 6.0.2-canary.10
|
|
738
|
-
|
|
739
|
-
## 6.0.2-canary.9
|
|
740
|
-
|
|
741
|
-
## 6.0.2-canary.8
|
|
742
|
-
|
|
743
|
-
## 6.0.2-canary.7
|
|
744
|
-
|
|
745
|
-
## 6.0.2-canary.6
|
|
746
|
-
|
|
747
|
-
## 6.0.2-canary.5
|
|
748
|
-
|
|
749
|
-
## 6.0.2-canary.4
|
|
750
|
-
|
|
751
|
-
## 6.0.2-canary.3
|
|
752
|
-
|
|
753
|
-
## 6.0.2-canary.2
|
|
754
|
-
|
|
755
|
-
## 6.0.2-canary.1
|
|
756
|
-
|
|
757
|
-
## 6.0.2-canary.0
|
|
758
|
-
|
|
759
|
-
## 6.0.1
|
|
760
|
-
|
|
761
|
-
## 6.0.1-canary.7
|
|
762
|
-
|
|
763
|
-
## 6.0.1-canary.6
|
|
764
|
-
|
|
765
|
-
## 6.0.1-canary.5
|
|
766
|
-
|
|
767
|
-
## 6.0.1-canary.4
|
|
768
|
-
|
|
769
|
-
## 6.0.1-canary.3
|
|
770
|
-
|
|
771
|
-
## 6.0.1-canary.2
|
|
772
|
-
|
|
773
|
-
## 6.0.1-canary.1
|
|
774
|
-
|
|
775
|
-
## 6.0.1-canary.0
|
|
776
|
-
|
|
777
|
-
## 6.0.0
|
|
778
|
-
|
|
779
|
-
## 6.0.0-canary.54
|
|
780
|
-
|
|
781
|
-
## 6.0.0-canary.53
|
|
782
|
-
|
|
783
|
-
## 6.0.0-canary.52
|
|
784
|
-
|
|
785
|
-
## 6.0.0-canary.51
|
|
786
|
-
|
|
787
|
-
## 6.0.0-canary.50
|
|
788
|
-
|
|
789
|
-
## 6.0.0-canary.49
|
|
790
|
-
|
|
791
|
-
## 6.0.0-canary.48
|
|
792
|
-
|
|
793
|
-
## 6.0.0-canary.47
|
|
794
|
-
|
|
795
|
-
## 6.0.0-canary.46
|
|
796
|
-
|
|
797
|
-
## 6.0.0-canary.45
|
|
798
|
-
|
|
799
|
-
## 6.0.0-canary.44
|
|
800
|
-
|
|
801
|
-
### Patch Changes
|
|
802
|
-
|
|
803
|
-
- [#1842](https://github.com/graphcommerce-org/graphcommerce/pull/1842) [`7b67d84bd`](https://github.com/graphcommerce-org/graphcommerce/commit/7b67d84bd269c3fc91afbd69f6683c5d12808d36) - Renamed i18n to storefront in configuration ([@paales](https://github.com/paales))
|
|
804
|
-
|
|
805
|
-
## 6.0.0-canary.43
|
|
806
|
-
|
|
807
|
-
## 6.0.0-canary.42
|
|
808
|
-
|
|
809
|
-
## 6.0.0-canary.41
|
|
810
|
-
|
|
811
|
-
## 6.0.0-canary.40
|
|
812
|
-
|
|
813
|
-
## 6.0.0-canary.39
|
|
814
|
-
|
|
815
|
-
## 6.0.0-canary.38
|
|
816
|
-
|
|
817
|
-
## 6.0.0-canary.37
|
|
818
|
-
|
|
819
|
-
## 6.0.0-canary.36
|
|
820
|
-
|
|
821
|
-
## 6.0.0-canary.35
|
|
822
|
-
|
|
823
|
-
## 6.0.0-canary.34
|
|
824
|
-
|
|
825
|
-
## 6.0.0-canary.33
|
|
826
|
-
|
|
827
|
-
## 6.0.0-canary.32
|
|
828
|
-
|
|
829
|
-
## 6.0.0-canary.31
|
|
830
|
-
|
|
831
|
-
## 6.0.0-canary.30
|
|
832
|
-
|
|
833
|
-
## 6.0.0-canary.29
|
|
834
|
-
|
|
835
|
-
## 6.0.0-canary.28
|
|
836
|
-
|
|
837
|
-
## 6.0.0-canary.27
|
|
838
|
-
|
|
839
|
-
## 6.0.0-canary.26
|
|
840
|
-
|
|
841
|
-
## 6.0.0-canary.25
|
|
842
|
-
|
|
843
|
-
## 6.0.0-canary.24
|
|
844
|
-
|
|
845
|
-
## 6.0.0-canary.23
|
|
846
|
-
|
|
847
|
-
## 6.0.0-canary.22
|
|
848
|
-
|
|
849
|
-
## 6.0.0-canary.21
|
|
850
|
-
|
|
851
|
-
## 6.0.0-canary.20
|
|
852
|
-
|
|
853
|
-
## 5.2.0-canary.19
|
|
854
|
-
|
|
855
|
-
## 5.2.0-canary.18
|
|
856
|
-
|
|
857
|
-
## 5.2.0-canary.17
|
|
858
|
-
|
|
859
|
-
## 5.2.0-canary.16
|
|
860
|
-
|
|
861
|
-
## 5.2.0-canary.15
|
|
862
|
-
|
|
863
|
-
## 5.2.0-canary.14
|
|
864
|
-
|
|
865
|
-
## 5.2.0-canary.13
|
|
866
|
-
|
|
867
|
-
## 5.2.0-canary.12
|
|
868
|
-
|
|
869
|
-
## 5.2.0-canary.11
|
|
870
|
-
|
|
871
|
-
## 5.2.0-canary.10
|
|
872
|
-
|
|
873
|
-
## 5.2.0-canary.9
|
|
874
|
-
|
|
875
|
-
## 5.2.0-canary.8
|
|
876
|
-
|
|
877
|
-
## 5.2.0-canary.7
|
|
878
|
-
|
|
879
|
-
## 5.2.0-canary.6
|
|
880
|
-
|
|
881
|
-
## 5.2.0-canary.5
|
|
882
|
-
|
|
883
|
-
## 5.2.0-canary.4
|
|
884
|
-
|
|
885
|
-
## 5.2.0-canary.3
|
|
886
|
-
|
|
887
|
-
## 5.2.0-canary.2
|
|
888
|
-
|
|
889
|
-
## 5.2.0-canary.1
|
|
890
|
-
|
|
891
|
-
## 5.2.0-canary.0
|
|
892
|
-
|
|
893
|
-
## 5.1.1
|
|
894
|
-
|
|
895
|
-
## 5.1.1-canary.1
|
|
896
|
-
|
|
897
|
-
## 5.1.1-canary.0
|
|
898
|
-
|
|
899
75
|
## 5.1.0
|
|
900
76
|
|
|
901
77
|
### Minor Changes
|
|
@@ -915,47 +91,6 @@
|
|
|
915
91
|
- Upgraded dependencies including type-fest and graphql-mesh
|
|
916
92
|
- Solved peer dependency issues ([@paales](https://github.com/paales))
|
|
917
93
|
|
|
918
|
-
## 5.1.0-canary.11
|
|
919
|
-
|
|
920
|
-
## 5.1.0-canary.10
|
|
921
|
-
|
|
922
|
-
## 5.1.0-canary.9
|
|
923
|
-
|
|
924
|
-
## 5.1.0-canary.8
|
|
925
|
-
|
|
926
|
-
## 5.1.0-canary.7
|
|
927
|
-
|
|
928
|
-
### Minor Changes
|
|
929
|
-
|
|
930
|
-
- [#1756](https://github.com/graphcommerce-org/graphcommerce/pull/1756) [`1abaaedde`](https://github.com/graphcommerce-org/graphcommerce/commit/1abaaedde4062d3b19696e333d0016972681afaf) - Show cart item error messages when running Magento >= 2.4.5 or this [patch is applied](https://raw.githubusercontent.com/graphcommerce-org/graphcommerce/main/packages/magento-cart/243-244-magento-module-quote-graphql-cart-item-errors.patch)
|
|
931
|
-
|
|
932
|
-
- Fixes an issue where the cart can get into a broken state, if items contain errors.
|
|
933
|
-
- AddToCartForm now shows a success message if there is an error but the error is related to another item in the cart.
|
|
934
|
-
- Disable checkout buttons when there are cart item errors and show a message. ([@paales](https://github.com/paales))
|
|
935
|
-
|
|
936
|
-
## 5.1.0-canary.6
|
|
937
|
-
|
|
938
|
-
## 5.1.0-canary.5
|
|
939
|
-
|
|
940
|
-
## 5.1.0-canary.4
|
|
941
|
-
|
|
942
|
-
## 5.1.0-canary.3
|
|
943
|
-
|
|
944
|
-
### Patch Changes
|
|
945
|
-
|
|
946
|
-
- [#1752](https://github.com/graphcommerce-org/graphcommerce/pull/1752) [`2a6a4d9ec`](https://github.com/graphcommerce-org/graphcommerce/commit/2a6a4d9ecfa1b58a66ba9b9d00016d6feda9aa95) - Updated dependencies to latest versions, except for nextjs; Solve tons of peer dependency issues.
|
|
947
|
-
|
|
948
|
-
- Updated the @mui/material package
|
|
949
|
-
- Removed dependencies on react-hook-form-mui and @playwright/test
|
|
950
|
-
- Upgraded dependencies including type-fest and graphql-mesh
|
|
951
|
-
- Solved peer dependency issues ([@paales](https://github.com/paales))
|
|
952
|
-
|
|
953
|
-
## 5.1.0-canary.2
|
|
954
|
-
|
|
955
|
-
## 5.1.0-canary.1
|
|
956
|
-
|
|
957
|
-
## 5.1.0-canary.0
|
|
958
|
-
|
|
959
94
|
## 5.0.0
|
|
960
95
|
|
|
961
96
|
### Major Changes
|
|
@@ -972,76 +107,12 @@
|
|
|
972
107
|
|
|
973
108
|
- [#1738](https://github.com/graphcommerce-org/graphcommerce/pull/1738) [`52882a63e`](https://github.com/graphcommerce-org/graphcommerce/commit/52882a63e96c0d3ba9641c3714d288fa4f420c82) - Do not forward the Prev prop in plugins ([@paales](https://github.com/paales))
|
|
974
109
|
|
|
975
|
-
## 5.0.0-canary.14
|
|
976
|
-
|
|
977
|
-
## 5.0.0-canary.13
|
|
978
|
-
|
|
979
|
-
### Major Changes
|
|
980
|
-
|
|
981
|
-
- [`e4c7fe17e`](https://github.com/graphcommerce-org/graphcommerce/commit/e4c7fe17e413e37362ceae92e67f1b3a5f62d398) - Bump major version of all packages ([@paales](https://github.com/paales))
|
|
982
|
-
|
|
983
|
-
## 4.14.0-canary.12
|
|
984
|
-
|
|
985
|
-
## 4.14.0-canary.11
|
|
986
|
-
|
|
987
|
-
## 4.14.0-canary.10
|
|
988
|
-
|
|
989
|
-
## 4.14.0-canary.9
|
|
990
|
-
|
|
991
|
-
## 4.14.0-canary.8
|
|
992
|
-
|
|
993
|
-
## 4.14.0-canary.7
|
|
994
|
-
|
|
995
|
-
### Patch Changes
|
|
996
|
-
|
|
997
|
-
- [#1738](https://github.com/graphcommerce-org/graphcommerce/pull/1738) [`52882a63e`](https://github.com/graphcommerce-org/graphcommerce/commit/52882a63e96c0d3ba9641c3714d288fa4f420c82) - Do not forward the Prev prop in plugins ([@paales](https://github.com/paales))
|
|
998
|
-
|
|
999
|
-
## 4.14.0-canary.6
|
|
1000
|
-
|
|
1001
|
-
## 4.14.0-canary.5
|
|
1002
|
-
|
|
1003
|
-
## 4.14.0-canary.4
|
|
1004
|
-
|
|
1005
|
-
### Minor Changes
|
|
1006
|
-
|
|
1007
|
-
- [#1733](https://github.com/graphcommerce-org/graphcommerce/pull/1733) [`761bd2832`](https://github.com/graphcommerce-org/graphcommerce/commit/761bd2832f115afc8b95bedbf479266309dd5acc) - ApolloLinks, typePolicies and migration scripts are now handled with plugins on the new library component `<GraphQLProvider/>`. Hygraph's, Magento Cart, Customer, Store, Wishlist and Magento GraphQL are all migrated to be using plugins.
|
|
1008
|
-
|
|
1009
|
-
If you are using custom `links` / `policies` / `migrations` you can pass them as props to the `<GraphQLProvider/>` or create your own local plugin. ([@paales](https://github.com/paales))
|
|
1010
|
-
|
|
1011
|
-
## 4.14.0-canary.3
|
|
1012
|
-
|
|
1013
|
-
## 4.14.0-canary.2
|
|
1014
|
-
|
|
1015
|
-
## 4.13.2-canary.1
|
|
1016
|
-
|
|
1017
|
-
## 4.13.2-canary.0
|
|
1018
|
-
|
|
1019
|
-
## 4.13.3
|
|
1020
|
-
|
|
1021
|
-
## 4.13.2
|
|
1022
|
-
|
|
1023
|
-
## 4.13.1
|
|
1024
|
-
|
|
1025
|
-
## 4.13.1-canary.2
|
|
1026
|
-
|
|
1027
|
-
## 4.13.1-canary.1
|
|
1028
|
-
|
|
1029
|
-
## 4.13.1-canary.0
|
|
1030
|
-
|
|
1031
110
|
## 4.13.0
|
|
1032
111
|
|
|
1033
112
|
### Patch Changes
|
|
1034
113
|
|
|
1035
114
|
- [#1702](https://github.com/graphcommerce-org/graphcommerce/pull/1702) [`abb15ef4a`](https://github.com/graphcommerce-org/graphcommerce/commit/abb15ef4a79b12eddb32cc006e5d1d31dd06ac2d) Thanks [@paales](https://github.com/paales)! - Added canary releases to GraphCommerce
|
|
1036
115
|
|
|
1037
|
-
## 4.13.0-canary.1
|
|
1038
|
-
|
|
1039
|
-
### Patch Changes
|
|
1040
|
-
|
|
1041
|
-
- [`abb15ef4a`](https://github.com/graphcommerce-org/graphcommerce/commit/abb15ef4a79b12eddb32cc006e5d1d31dd06ac2d) Thanks [@paales](https://github.com/paales)! - Added canary releases to GraphCommerce
|
|
1042
|
-
|
|
1043
|
-
## 4.13.0-canary.0
|
|
1044
|
-
|
|
1045
116
|
## 3.1.9
|
|
1046
117
|
|
|
1047
118
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApolloError } from '@graphcommerce/graphql'
|
|
2
|
-
import type {
|
|
2
|
+
import type { GraphQLFormattedError } from 'graphql'
|
|
3
3
|
|
|
4
4
|
export type ErrorCategory =
|
|
5
5
|
| 'internal'
|
|
@@ -28,13 +28,13 @@ export type GraphQLErrorByCategoryPropsNoExtract = Omit<GraphQLErrorByCategoryPr
|
|
|
28
28
|
*/
|
|
29
29
|
export function graphqlErrorByCategory(
|
|
30
30
|
props: GraphQLErrorByCategoryPropsNoExtract,
|
|
31
|
-
): [ApolloError,
|
|
31
|
+
): [ApolloError, GraphQLFormattedError | undefined]
|
|
32
32
|
export function graphqlErrorByCategory(
|
|
33
33
|
props: GraphQLErrorByCategoryProps,
|
|
34
|
-
): [ApolloError | undefined,
|
|
34
|
+
): [ApolloError | undefined, GraphQLFormattedError | undefined]
|
|
35
35
|
export function graphqlErrorByCategory(
|
|
36
36
|
props: GraphQLErrorByCategoryProps | GraphQLErrorByCategoryPropsNoExtract,
|
|
37
|
-
): [ApolloError | undefined,
|
|
37
|
+
): [ApolloError | undefined, GraphQLFormattedError | undefined] {
|
|
38
38
|
const { category, error, extract = true, mask } = props
|
|
39
39
|
|
|
40
40
|
if (!error) return [error, undefined]
|
|
@@ -46,9 +46,9 @@ export function graphqlErrorByCategory(
|
|
|
46
46
|
),
|
|
47
47
|
})
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
let graphqlError = error.graphQLErrors.find((err) => err?.extensions?.category === category)
|
|
50
50
|
if (mask && graphqlError) {
|
|
51
|
-
graphqlError
|
|
51
|
+
graphqlError = { ...graphqlError, message: mask }
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
return newError.graphQLErrors.length === 0 && !newError.networkError
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AttributeValueInterfaceResolvers,
|
|
3
|
+
MeshContext,
|
|
4
|
+
Resolvers,
|
|
5
|
+
} from '@graphcommerce/graphql-mesh'
|
|
6
|
+
import fragments from '@graphcommerce/graphql/generated/fragments.json'
|
|
7
|
+
import { customAttributeMetadataV2 } from './customAttributeMetadataV2'
|
|
8
|
+
|
|
9
|
+
type AttributeValueResolver = Pick<AttributeValueInterfaceResolvers<MeshContext>, 'attribute'>
|
|
10
|
+
|
|
11
|
+
const attributeValueResolver: AttributeValueResolver = {
|
|
12
|
+
attribute: {
|
|
13
|
+
selectionSet: '{ code }',
|
|
14
|
+
resolve: async (root, _, context) =>
|
|
15
|
+
root.attribute ??
|
|
16
|
+
(await customAttributeMetadataV2(
|
|
17
|
+
{ attribute_code: root.code, entity_type: 'catalog_product' },
|
|
18
|
+
context,
|
|
19
|
+
)),
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type AttributeValueTypes = NonNullable<
|
|
24
|
+
Awaited<ReturnType<AttributeValueInterfaceResolvers['__resolveType']>>
|
|
25
|
+
>
|
|
26
|
+
const attributeValueTypes = fragments.possibleTypes.AttributeValueInterface as AttributeValueTypes[]
|
|
27
|
+
const resolvers: Resolvers = {}
|
|
28
|
+
attributeValueTypes.forEach((attributeValueType) => {
|
|
29
|
+
if (!resolvers[attributeValueType]) resolvers[attributeValueType] = attributeValueResolver
|
|
30
|
+
})
|
|
31
|
+
export default resolvers
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { CustomAttributeMetadataInterface, MeshContext } from '@graphcommerce/graphql-mesh'
|
|
2
|
+
|
|
3
|
+
export type CustomAttributeInput = { attribute_code: string; entity_type: 'catalog_product' }
|
|
4
|
+
|
|
5
|
+
export async function customAttributeMetadataV2(
|
|
6
|
+
input: CustomAttributeInput,
|
|
7
|
+
context: MeshContext,
|
|
8
|
+
): Promise<CustomAttributeMetadataInterface | null> {
|
|
9
|
+
const cacheKey = `customAttributeMetadata-${input.entity_type}-${input.attribute_code}`
|
|
10
|
+
const cached = await context.cache.get(cacheKey)
|
|
11
|
+
if (cached) return cached
|
|
12
|
+
|
|
13
|
+
if (input.entity_type !== 'catalog_product')
|
|
14
|
+
throw Error('Only catalog_product is supported at this moment')
|
|
15
|
+
|
|
16
|
+
if (
|
|
17
|
+
!('customAttributeMetadataV2' in context.m2.Query) ||
|
|
18
|
+
typeof context.m2.Query.customAttributeMetadataV2 !== 'function'
|
|
19
|
+
)
|
|
20
|
+
throw Error('This field is only available in Magento 2.4.7 and up')
|
|
21
|
+
|
|
22
|
+
const attribute = await context.m2.Query.customAttributeMetadataV2({
|
|
23
|
+
context,
|
|
24
|
+
key: input,
|
|
25
|
+
argsFromKeys: (attributes) => ({ attributes }),
|
|
26
|
+
selectionSet: /* GraphQL */ `
|
|
27
|
+
{
|
|
28
|
+
items {
|
|
29
|
+
__typename
|
|
30
|
+
code
|
|
31
|
+
label
|
|
32
|
+
default_value
|
|
33
|
+
entity_type
|
|
34
|
+
frontend_class
|
|
35
|
+
frontend_input
|
|
36
|
+
is_required
|
|
37
|
+
is_unique
|
|
38
|
+
label
|
|
39
|
+
... on CatalogAttributeMetadata {
|
|
40
|
+
apply_to
|
|
41
|
+
is_comparable
|
|
42
|
+
is_filterable
|
|
43
|
+
is_filterable_in_search
|
|
44
|
+
is_html_allowed_on_front
|
|
45
|
+
is_searchable
|
|
46
|
+
is_used_for_price_rules
|
|
47
|
+
is_used_for_promo_rules
|
|
48
|
+
is_visible_in_advanced_search
|
|
49
|
+
is_visible_on_front
|
|
50
|
+
is_wysiwyg_enabled
|
|
51
|
+
used_in_product_listing
|
|
52
|
+
}
|
|
53
|
+
options {
|
|
54
|
+
label
|
|
55
|
+
is_default
|
|
56
|
+
value
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
`,
|
|
61
|
+
valuesFromResults: (res, attributes) =>
|
|
62
|
+
attributes.map((attr) => res.items?.find((v) => v?.code === attr.attribute_code)),
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
// Cache for 1 hour
|
|
66
|
+
await context.cache.set(cacheKey, attribute, { ttl: 60 * 60 })
|
|
67
|
+
return attribute ?? null
|
|
68
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { MeshContext, ProductInterfaceResolvers, Resolvers } from '@graphcommerce/graphql-mesh'
|
|
2
|
+
import fragments from '@graphcommerce/graphql/generated/fragments.json'
|
|
3
|
+
import { Kind } from 'graphql'
|
|
4
|
+
import type { CustomAttributeInput } from './customAttributeMetadataV2'
|
|
5
|
+
import { customAttributeMetadataV2 } from './customAttributeMetadataV2'
|
|
6
|
+
|
|
7
|
+
type CustomAttributeV2Resolver = Pick<ProductInterfaceResolvers<MeshContext>, 'custom_attributeV2'>
|
|
8
|
+
|
|
9
|
+
const customAttributeV2Resolver: CustomAttributeV2Resolver = {
|
|
10
|
+
custom_attributeV2: {
|
|
11
|
+
selectionSet: (fieldNode) => ({
|
|
12
|
+
kind: Kind.SELECTION_SET,
|
|
13
|
+
selections: (fieldNode.arguments ?? [])
|
|
14
|
+
.map((arg) => arg.value)
|
|
15
|
+
.filter((value) => value.kind === Kind.STRING)
|
|
16
|
+
.map((value) => ({ kind: Kind.FIELD, name: { kind: Kind.NAME, value: value.value } })),
|
|
17
|
+
}),
|
|
18
|
+
resolve: async (root, { attribute_code: code }, context) => {
|
|
19
|
+
const value = String(root[code] ?? '')
|
|
20
|
+
const input: CustomAttributeInput = { attribute_code: code, entity_type: 'catalog_product' }
|
|
21
|
+
const attribute = await customAttributeMetadataV2(input, context)
|
|
22
|
+
|
|
23
|
+
if (!attribute || !value) return null
|
|
24
|
+
|
|
25
|
+
if (
|
|
26
|
+
attribute?.frontend_input &&
|
|
27
|
+
['SELECT', 'MULTISELECT'].includes(attribute.frontend_input)
|
|
28
|
+
) {
|
|
29
|
+
const values = attribute.frontend_input === 'SELECT' ? [value] : value.split(',')
|
|
30
|
+
const selected_options = values.map((v) => {
|
|
31
|
+
const found = attribute.options?.find((o) => o?.value === v || o?.label === v)
|
|
32
|
+
if (!found) return null
|
|
33
|
+
return { ...found, __typename: 'AttributeSelectedOption' }
|
|
34
|
+
})
|
|
35
|
+
return { __typename: 'AttributeSelectedOptions', code, selected_options, attribute }
|
|
36
|
+
}
|
|
37
|
+
return { __typename: 'AttributeValue', code, value, attribute }
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type ProductTypes = NonNullable<Awaited<ReturnType<ProductInterfaceResolvers['__resolveType']>>>
|
|
43
|
+
const productInterfaceTypes = fragments.possibleTypes.ProductInterface as ProductTypes[]
|
|
44
|
+
const resolvers: Resolvers = {}
|
|
45
|
+
productInterfaceTypes.forEach((productType) => {
|
|
46
|
+
if (!resolvers[productType]) resolvers[productType] = customAttributeV2Resolver
|
|
47
|
+
})
|
|
48
|
+
export default resolvers
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@graphcommerce/magento-graphql",
|
|
3
3
|
"homepage": "https://www.graphcommerce.org/",
|
|
4
4
|
"repository": "github:graphcommerce-org/graphcommerce",
|
|
5
|
-
"version": "9.0.0
|
|
5
|
+
"version": "9.0.0",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"main": "index.ts",
|
|
8
8
|
"prettier": "@graphcommerce/prettier-config-pwa",
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@graphcommerce/eslint-config-pwa": "^9.0.0
|
|
17
|
-
"@graphcommerce/graphql": "^9.0.0
|
|
18
|
-
"@graphcommerce/prettier-config-pwa": "^9.0.0
|
|
19
|
-
"@graphcommerce/typescript-config-pwa": "^9.0.0
|
|
16
|
+
"@graphcommerce/eslint-config-pwa": "^9.0.0",
|
|
17
|
+
"@graphcommerce/graphql": "^9.0.0",
|
|
18
|
+
"@graphcommerce/prettier-config-pwa": "^9.0.0",
|
|
19
|
+
"@graphcommerce/typescript-config-pwa": "^9.0.0",
|
|
20
|
+
"graphql": "^16.0.0",
|
|
20
21
|
"next": "*",
|
|
21
22
|
"react": "^18.2.0",
|
|
22
23
|
"react-dom": "^18.2.0"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { graphqlConfig as graphqlConfigType } from '@graphcommerce/graphql'
|
|
1
|
+
import type { graphqlConfig as graphqlConfigType } from '@graphcommerce/graphql'
|
|
2
2
|
import type { FunctionPlugin, PluginConfig } from '@graphcommerce/next-config'
|
|
3
3
|
import { magentoTypePolicies } from '../typePolicies'
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ export const config: PluginConfig = {
|
|
|
7
7
|
module: '@graphcommerce/graphql',
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export const graphqlConfig: FunctionPlugin<typeof graphqlConfigType> = (prev,
|
|
11
|
-
const results = prev(
|
|
10
|
+
export const graphqlConfig: FunctionPlugin<typeof graphqlConfigType> = (prev, conf) => {
|
|
11
|
+
const results = prev(conf)
|
|
12
12
|
return { ...results, policies: [magentoTypePolicies, ...results.policies] }
|
|
13
13
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { meshConfig as meshConfigBase } from '@graphcommerce/graphql-mesh/meshConfig'
|
|
2
|
+
import type { FunctionPlugin, PluginConfig } from '@graphcommerce/next-config'
|
|
3
|
+
|
|
4
|
+
export const config: PluginConfig = {
|
|
5
|
+
module: '@graphcommerce/graphql-mesh/meshConfig',
|
|
6
|
+
type: 'function',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const meshConfig: FunctionPlugin<typeof meshConfigBase> = (
|
|
10
|
+
prev,
|
|
11
|
+
baseConfig,
|
|
12
|
+
graphCommerceConfig,
|
|
13
|
+
) =>
|
|
14
|
+
prev(
|
|
15
|
+
{
|
|
16
|
+
...baseConfig,
|
|
17
|
+
additionalResolvers: [
|
|
18
|
+
...(baseConfig.additionalResolvers ?? []),
|
|
19
|
+
'@graphcommerce/magento-graphql/mesh/customAttributeV2Resolver.ts',
|
|
20
|
+
'@graphcommerce/magento-graphql/mesh/attributeValueResolver.ts',
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
graphCommerceConfig,
|
|
24
|
+
)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
extend interface AttributeValueInterface {
|
|
2
|
+
attribute: CustomAttributeMetadataInterface
|
|
3
|
+
}
|
|
4
|
+
extend type AttributeValue {
|
|
5
|
+
attribute: CustomAttributeMetadataInterface
|
|
6
|
+
}
|
|
7
|
+
extend type AttributeSelectedOptions {
|
|
8
|
+
attribute: CustomAttributeMetadataInterface
|
|
9
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
extend interface ProductInterface {
|
|
2
|
+
"""
|
|
3
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
4
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
5
|
+
"""
|
|
6
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
7
|
+
}
|
|
8
|
+
extend type SimpleProduct {
|
|
9
|
+
"""
|
|
10
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
11
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
12
|
+
"""
|
|
13
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
14
|
+
}
|
|
15
|
+
extend type ConfigurableProduct {
|
|
16
|
+
"""
|
|
17
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
18
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
19
|
+
"""
|
|
20
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
21
|
+
}
|
|
22
|
+
extend type BundleProduct {
|
|
23
|
+
"""
|
|
24
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
25
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
26
|
+
"""
|
|
27
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
28
|
+
}
|
|
29
|
+
extend type DownloadableProduct {
|
|
30
|
+
"""
|
|
31
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
32
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
33
|
+
"""
|
|
34
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
35
|
+
}
|
|
36
|
+
extend type VirtualProduct {
|
|
37
|
+
"""
|
|
38
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
39
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
40
|
+
"""
|
|
41
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
42
|
+
}
|
|
43
|
+
extend type GroupedProduct {
|
|
44
|
+
"""
|
|
45
|
+
This is the singular version of the custom_attributesV2 and allows selecting a single attribute option value.
|
|
46
|
+
Available only after Magento 2.4.7 as it relies on the customAttributesV2 query.
|
|
47
|
+
"""
|
|
48
|
+
custom_attributeV2(attribute_code: String!): AttributeValueInterface
|
|
49
|
+
}
|
package/typePolicies.ts
CHANGED