@graphcommerce/graphql 10.0.0 → 10.0.1-canary.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 10.0.1-canary.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2568](https://github.com/graphcommerce-org/graphcommerce/pull/2568) [`6714cbb`](https://github.com/graphcommerce-org/graphcommerce/commit/6714cbb912ed64217cb04c4355cc2b63762e6ea1) - Deprecated globalApolloClient ([@paales](https://github.com/paales))
8
+
3
9
  ## 10.0.0
4
10
 
5
11
  ### Major Changes
@@ -104,264 +110,6 @@
104
110
 
105
111
  - [#2477](https://github.com/graphcommerce-org/graphcommerce/pull/2477) [`8015eab`](https://github.com/graphcommerce-org/graphcommerce/commit/8015eabc130dacf1f2703980cd5f0ad2c550aa4d) - Upgraded to @apollo/client 3.12.3 without impacting typescript compilation performance. ([@paales](https://github.com/paales))
106
112
 
107
- ## 10.0.0-canary.72
108
-
109
- ## 10.0.0-canary.71
110
-
111
- ## 10.0.0-canary.70
112
-
113
- ### Major Changes
114
-
115
- - [#2565](https://github.com/graphcommerce-org/graphcommerce/pull/2565) [`c96dfcd`](https://github.com/graphcommerce-org/graphcommerce/commit/c96dfcdca981baca387c270ad9e2b9515cdd00cc) - Updated to Apollo Client 4 ([@paales](https://github.com/paales))
116
-
117
- ## 10.0.0-canary.69
118
-
119
- ## 10.0.0-canary.68
120
-
121
- ## 10.0.0-canary.67
122
-
123
- ## 10.0.0-canary.66
124
-
125
- ## 10.0.0-canary.65
126
-
127
- ## 10.0.0-canary.64
128
-
129
- ## 10.0.0-canary.63
130
-
131
- ## 10.0.0-canary.62
132
-
133
- ## 10.0.0-canary.61
134
-
135
- ## 10.0.0-canary.60
136
-
137
- ## 10.0.0-canary.59
138
-
139
- ## 10.0.0-canary.58
140
-
141
- ## 10.0.0-canary.57
142
-
143
- ## 10.0.0-canary.56
144
-
145
- ### Major Changes
146
-
147
- - [#2546](https://github.com/graphcommerce-org/graphcommerce/pull/2546) [`ed9332a`](https://github.com/graphcommerce-org/graphcommerce/commit/ed9332a7f78966d932041d9a7725641edc92b28d) - ## GraphCommerce 10 - Turbopack Support
148
-
149
- This major release brings full Turbopack compatibility, dramatically improving development speed.
150
-
151
- ### 🚀 Turbopack-Compatible Interceptor System
152
-
153
- The entire plugin/interceptor system has been rewritten to work with Turbopack:
154
-
155
- - **No more Webpack plugins** - Removed `InterceptorPlugin` webpack plugin entirely
156
- - **File-based interception** - Original files are moved to `.original.tsx` and replaced with interceptor content
157
- - **Direct imports** - Interceptors import from `.original` files instead of embedding source
158
- - **New CLI commands**:
159
- - `graphcommerce codegen-interceptors` - Generate interceptor files
160
- - `graphcommerce cleanup-interceptors` - Reset interceptor system, restore original files
161
- - **Stable file hashing** - Deterministic interceptor generation for better caching
162
-
163
- ### ⚙️ Treeshakable Configuration System
164
-
165
- Replaced Webpack `DefinePlugin`-based `import.meta.graphCommerce` with a new generated configuration system:
166
-
167
- - **New `codegen-config-values` command** - Generates TypeScript files with precise typing
168
- - **Schema-driven** - Dynamically introspects Zod schemas to determine all available properties
169
- - **Fully treeshakable** - Unused config values are eliminated from the bundle
170
- - **Type-safe** - Uses `Get<GraphCommerceConfig, 'path'>` for nested property access
171
- - **Separate files for nested objects** - Optimal treeshaking for complex configurations
172
-
173
- ### 🔧 withGraphCommerce Changes
174
-
175
- - **Removed** `InterceptorPlugin` - No longer needed with file-based interception
176
- - **Removed** `DefinePlugin` for `import.meta.graphCommerce` - Replaced with generated config
177
- - **Removed** `@mui/*` alias rewrites - No longer required
178
- - **Added** Turbopack loader rules for `.yaml`, `.yml`, and `.po` files
179
- - **Added** `serverExternalPackages` for all `@whatwg-node/*` packages
180
- - **Added** `optimizePackageImports` for better bundle optimization
181
- - **Added** `images.qualities: [52, 75]` for Next.js image optimization
182
-
183
- ### 📦 Lingui Configuration
184
-
185
- - **Renamed** `lingui.config.js` → `lingui.config.ts` with TypeScript support
186
- - **Updated** `@graphcommerce/lingui-next/config` to TypeScript with proper exports
187
- - **Simplified** formatter options
188
-
189
- ### ⚛️ React 19 & Next.js 16 Compatibility
190
-
191
- - Updated `RefObject<T>` types for React 19 (now includes `null` by default)
192
- - Replaced deprecated `React.VFC` with `React.FC`
193
- - Fixed `useRef` calls to require explicit initial values
194
- - Updated `MutableRefObject` usage in `framer-scroller`
195
-
196
- ### 📋 ESLint 9 Flat Config
197
-
198
- - Migrated from legacy `.eslintrc` to new flat config format (`eslint.config.mjs`)
199
- - Updated `@typescript-eslint/*` packages to v8
200
- - Fixed AST selector for `SxProps` rule (`typeParameters` → `typeArguments`)
201
-
202
- ### 🔄 Apollo Client
203
-
204
- - Fixed deprecated `name` option → `clientAwareness: { name: 'ssr' }`
205
- - Updated error handling types to accept `ApolloError | null | undefined`
206
-
207
- ### ⚠️ Breaking Changes
208
-
209
- - **Node.js 24.x not supported** - Restricted to `>=20 <24.0.0` due to [nodejs/undici#4290](https://github.com/nodejs/undici/issues/4290)
210
- - **Interceptor files changed** - Original components now at `.original.tsx`
211
- - **Config access changed** - Use generated config values instead of `import.meta.graphCommerce`
212
- - **ESLint config format** - Must use flat config (`eslint.config.mjs`)
213
- - **Lingui config** - Rename `lingui.config.js` to `lingui.config.ts`
214
-
215
- ### 🗑️ Removed
216
-
217
- - `InterceptorPlugin` webpack plugin
218
- - `configToImportMeta` utility
219
- - Webpack `DefinePlugin` usage for config
220
- - `@mui/*` modern alias rewrites
221
- - Debug plugins (`CircularDependencyPlugin`, `DuplicatesPlugin`) ([@paales](https://github.com/paales))
222
-
223
- ## 9.1.0-canary.55
224
-
225
- ## 9.1.0-canary.54
226
-
227
- ## 9.1.0-canary.53
228
-
229
- ## 9.1.0-canary.52
230
-
231
- ## 9.1.0-canary.51
232
-
233
- ### Minor Changes
234
-
235
- - [#2537](https://github.com/graphcommerce-org/graphcommerce/pull/2537) [`958dcb6`](https://github.com/graphcommerce-org/graphcommerce/commit/958dcb62d5abb3427a38e2a4583897f3e2043cc4) - Intoduce a new Product-`uid` to solve an issue where cache normalization was not working properly on the frontend when viewing products with a differen curreny, etc.
236
-
237
- Products now have a more detailed `uid` which will include the scope the product is retrieved from. For example: `NDg5MDM=?store=nl_NL&currencyCode=EUR`. This results in a better cache normalization in Apollo Client and allows for switching between scopes (store/currency/price views/accounts) without creating a broken cache state.
238
-
239
- We have implemented this with a new resolver that rewrites the `uid` passed from Magento to the Mesh Resolver, and additing additonal data to the `uid` based on the headers passed from the client. This also requires each package to implement the `getPrivateQueryContextMesh` method to retrieve the current PrivateQuery context from the GraphQL request headers. ([@paales](https://github.com/paales))
240
-
241
- ## 9.1.0-canary.50
242
-
243
- ## 9.1.0-canary.49
244
-
245
- ## 9.1.0-canary.48
246
-
247
- ## 9.1.0-canary.47
248
-
249
- ## 9.1.0-canary.46
250
-
251
- ## 9.1.0-canary.45
252
-
253
- ## 9.1.0-canary.44
254
-
255
- ## 9.1.0-canary.43
256
-
257
- ## 9.1.0-canary.42
258
-
259
- ## 9.1.0-canary.41
260
-
261
- ## 9.1.0-canary.40
262
-
263
- ## 9.1.0-canary.39
264
-
265
- ## 9.1.0-canary.38
266
-
267
- ## 9.1.0-canary.37
268
-
269
- ## 9.1.0-canary.36
270
-
271
- ## 9.1.0-canary.35
272
-
273
- ### Patch Changes
274
-
275
- - [#2528](https://github.com/graphcommerce-org/graphcommerce/pull/2528) [`c52604f`](https://github.com/graphcommerce-org/graphcommerce/commit/c52604f89e1776fc1f0913f016b8b24fa194c6b7) - Solve issue where the persistenceMapper didn't use the same typePolicies and other configuration from the cache, causing potential issues. ([@paales](https://github.com/paales))
276
-
277
- - [#2528](https://github.com/graphcommerce-org/graphcommerce/pull/2528) [`529d7a8`](https://github.com/graphcommerce-org/graphcommerce/commit/529d7a88a4e010cb3e50c1358e2ac43e80e0bf38) - Solve issue where the ApolloClient cache wasn't scoped properly causing the wrong currency to be shown when switching currency. ([@paales](https://github.com/paales))
278
-
279
- ## 9.1.0-canary.34
280
-
281
- ## 9.1.0-canary.33
282
-
283
- ## 9.1.0-canary.32
284
-
285
- ## 9.1.0-canary.31
286
-
287
- ## 9.1.0-canary.30
288
-
289
- ## 9.1.0-canary.29
290
-
291
- ### Patch Changes
292
-
293
- - [#2525](https://github.com/graphcommerce-org/graphcommerce/pull/2525) [`e1e132d`](https://github.com/graphcommerce-org/graphcommerce/commit/e1e132d076fbc6b3a081a245e51cb2bc91b0c707) - usePrivateQuery now disables masking when an error occurs. ([@paales](https://github.com/paales))
294
-
295
- ## 9.1.0-canary.28
296
-
297
- ## 9.1.0-canary.27
298
-
299
- ## 9.1.0-canary.26
300
-
301
- ## 9.1.0-canary.25
302
-
303
- ## 9.1.0-canary.24
304
-
305
- ## 9.1.0-canary.23
306
-
307
- ## 9.1.0-canary.22
308
-
309
- ## 9.1.0-canary.21
310
-
311
- ## 9.1.0-canary.20
312
-
313
- ## 9.1.0-canary.19
314
-
315
- ## 9.1.0-canary.18
316
-
317
- ### Patch Changes
318
-
319
- - [`62b71d5`](https://github.com/graphcommerce-org/graphcommerce/commit/62b71d5ed1d482fdb5b76dc19ac4d55fc41fb191) - Solve issue: TypeError: InMemoryLRUCache is not a constructor ([@paales](https://github.com/paales))
320
-
321
- ## 9.1.0-canary.17
322
-
323
- ### Patch Changes
324
-
325
- - [#2496](https://github.com/graphcommerce-org/graphcommerce/pull/2496) [`a261149`](https://github.com/graphcommerce-org/graphcommerce/commit/a261149b6b32ad6a35606da2d530b8e41bfa10a0) - ReCaptcha now using the `recaptchaV3Config` query and add a fallback for Magento 2.4.6 and earlier to still use the configuration. Magento 2.4.7 doesn't need that configuration anymore. ([@paales](https://github.com/paales))
326
-
327
- ## 9.1.0-canary.16
328
-
329
- ## 9.1.0-canary.15
330
-
331
- ## 9.0.4-canary.14
332
-
333
- ## 9.0.4-canary.13
334
-
335
- ## 9.0.4-canary.12
336
-
337
- ## 9.0.4-canary.11
338
-
339
- ## 9.0.4-canary.10
340
-
341
- ## 9.0.4-canary.9
342
-
343
- ## 9.0.4-canary.8
344
-
345
- ## 9.0.4-canary.7
346
-
347
- ## 9.0.4-canary.6
348
-
349
- ## 9.0.4-canary.5
350
-
351
- ## 9.0.4-canary.4
352
-
353
- ## 9.0.4-canary.3
354
-
355
- ### Patch Changes
356
-
357
- - [#2477](https://github.com/graphcommerce-org/graphcommerce/pull/2477) [`8015eab`](https://github.com/graphcommerce-org/graphcommerce/commit/8015eabc130dacf1f2703980cd5f0ad2c550aa4d) - Upgraded to @apollo/client 3.12.3 without impacting typescript compilation performance. ([@paales](https://github.com/paales))
358
-
359
- ## 9.0.4-canary.2
360
-
361
- ## 9.0.4-canary.1
362
-
363
- ## 9.0.4-canary.0
364
-
365
113
  ## 9.0.0
366
114
 
367
115
  ### Major Changes
@@ -14,6 +14,7 @@ import { errorLink } from './errorLink'
14
14
  import { measurePerformanceLink } from './measurePerformanceLink'
15
15
  import { mergeTypePolicies } from './typePolicies'
16
16
 
17
+ /** @deprecated You can probably use operation.client instead */
17
18
  export const globalApolloClient: { current: ApolloClient | null } = {
18
19
  current: null,
19
20
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graphcommerce/graphql",
3
3
  "homepage": "https://www.graphcommerce.org/",
4
4
  "repository": "github:graphcommerce-org/graphcommerce",
5
- "version": "10.0.0",
5
+ "version": "10.0.1-canary.0",
6
6
  "sideEffects": false,
7
7
  "main": "index.ts",
8
8
  "prettier": "@graphcommerce/prettier-config-pwa",
@@ -28,12 +28,12 @@
28
28
  "rxjs": "^7.8.2"
29
29
  },
30
30
  "peerDependencies": {
31
- "@graphcommerce/eslint-config-pwa": "^10.0.0",
32
- "@graphcommerce/graphql-codegen-near-operation-file": "10.0.0",
33
- "@graphcommerce/graphql-codegen-relay-optimizer-plugin": "10.0.0",
34
- "@graphcommerce/next-config": "^10.0.0",
35
- "@graphcommerce/prettier-config-pwa": "^10.0.0",
36
- "@graphcommerce/typescript-config-pwa": "^10.0.0",
31
+ "@graphcommerce/eslint-config-pwa": "^10.0.1-canary.0",
32
+ "@graphcommerce/graphql-codegen-near-operation-file": "10.0.1-canary.0",
33
+ "@graphcommerce/graphql-codegen-relay-optimizer-plugin": "10.0.1-canary.0",
34
+ "@graphcommerce/next-config": "^10.0.1-canary.0",
35
+ "@graphcommerce/prettier-config-pwa": "^10.0.1-canary.0",
36
+ "@graphcommerce/typescript-config-pwa": "^10.0.1-canary.0",
37
37
  "@graphql-mesh/plugin-http-details-extensions": "*",
38
38
  "react": "^19.2.0",
39
39
  "react-dom": "^19.2.0"