@graphcommerce/misc 9.1.0-canary.55 → 10.0.0-canary.57

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/index.ts +1 -0
  3. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,91 @@
1
1
  # @graphcommerce/misc
2
2
 
3
+ ## 10.0.0-canary.57
4
+
5
+ ### Patch Changes
6
+
7
+ - [`261a462`](https://github.com/graphcommerce-org/graphcommerce/commit/261a462fca6212bb2a76f62cb38fd09f2d0cc82e) - bump version ([@paales](https://github.com/paales))
8
+
9
+ ## 10.0.0-canary.56
10
+
11
+ ### Major Changes
12
+
13
+ - [#2546](https://github.com/graphcommerce-org/graphcommerce/pull/2546) [`ed9332a`](https://github.com/graphcommerce-org/graphcommerce/commit/ed9332a7f78966d932041d9a7725641edc92b28d) - ## GraphCommerce 10 - Turbopack Support
14
+
15
+ This major release brings full Turbopack compatibility, dramatically improving development speed.
16
+
17
+ ### 🚀 Turbopack-Compatible Interceptor System
18
+
19
+ The entire plugin/interceptor system has been rewritten to work with Turbopack:
20
+
21
+ - **No more Webpack plugins** - Removed `InterceptorPlugin` webpack plugin entirely
22
+ - **File-based interception** - Original files are moved to `.original.tsx` and replaced with interceptor content
23
+ - **Direct imports** - Interceptors import from `.original` files instead of embedding source
24
+ - **New CLI commands**:
25
+ - `graphcommerce codegen-interceptors` - Generate interceptor files
26
+ - `graphcommerce cleanup-interceptors` - Reset interceptor system, restore original files
27
+ - **Stable file hashing** - Deterministic interceptor generation for better caching
28
+
29
+ ### ⚙️ Treeshakable Configuration System
30
+
31
+ Replaced Webpack `DefinePlugin`-based `import.meta.graphCommerce` with a new generated configuration system:
32
+
33
+ - **New `codegen-config-values` command** - Generates TypeScript files with precise typing
34
+ - **Schema-driven** - Dynamically introspects Zod schemas to determine all available properties
35
+ - **Fully treeshakable** - Unused config values are eliminated from the bundle
36
+ - **Type-safe** - Uses `Get<GraphCommerceConfig, 'path'>` for nested property access
37
+ - **Separate files for nested objects** - Optimal treeshaking for complex configurations
38
+
39
+ ### 🔧 withGraphCommerce Changes
40
+
41
+ - **Removed** `InterceptorPlugin` - No longer needed with file-based interception
42
+ - **Removed** `DefinePlugin` for `import.meta.graphCommerce` - Replaced with generated config
43
+ - **Removed** `@mui/*` alias rewrites - No longer required
44
+ - **Added** Turbopack loader rules for `.yaml`, `.yml`, and `.po` files
45
+ - **Added** `serverExternalPackages` for all `@whatwg-node/*` packages
46
+ - **Added** `optimizePackageImports` for better bundle optimization
47
+ - **Added** `images.qualities: [52, 75]` for Next.js image optimization
48
+
49
+ ### 📦 Lingui Configuration
50
+
51
+ - **Renamed** `lingui.config.js` → `lingui.config.ts` with TypeScript support
52
+ - **Updated** `@graphcommerce/lingui-next/config` to TypeScript with proper exports
53
+ - **Simplified** formatter options
54
+
55
+ ### ⚛️ React 19 & Next.js 16 Compatibility
56
+
57
+ - Updated `RefObject<T>` types for React 19 (now includes `null` by default)
58
+ - Replaced deprecated `React.VFC` with `React.FC`
59
+ - Fixed `useRef` calls to require explicit initial values
60
+ - Updated `MutableRefObject` usage in `framer-scroller`
61
+
62
+ ### 📋 ESLint 9 Flat Config
63
+
64
+ - Migrated from legacy `.eslintrc` to new flat config format (`eslint.config.mjs`)
65
+ - Updated `@typescript-eslint/*` packages to v8
66
+ - Fixed AST selector for `SxProps` rule (`typeParameters` → `typeArguments`)
67
+
68
+ ### 🔄 Apollo Client
69
+
70
+ - Fixed deprecated `name` option → `clientAwareness: { name: 'ssr' }`
71
+ - Updated error handling types to accept `ApolloError | null | undefined`
72
+
73
+ ### ⚠️ Breaking Changes
74
+
75
+ - **Node.js 24.x not supported** - Restricted to `>=20 <24.0.0` due to [nodejs/undici#4290](https://github.com/nodejs/undici/issues/4290)
76
+ - **Interceptor files changed** - Original components now at `.original.tsx`
77
+ - **Config access changed** - Use generated config values instead of `import.meta.graphCommerce`
78
+ - **ESLint config format** - Must use flat config (`eslint.config.mjs`)
79
+ - **Lingui config** - Rename `lingui.config.js` to `lingui.config.ts`
80
+
81
+ ### 🗑️ Removed
82
+
83
+ - `InterceptorPlugin` webpack plugin
84
+ - `configToImportMeta` utility
85
+ - Webpack `DefinePlugin` usage for config
86
+ - `@mui/*` modern alias rewrites
87
+ - Debug plugins (`CircularDependencyPlugin`, `DuplicatesPlugin`) ([@paales](https://github.com/paales))
88
+
3
89
  ## 9.1.0-canary.55
4
90
 
5
91
  ### Patch Changes
package/index.ts ADDED
@@ -0,0 +1 @@
1
+ export const {}
package/package.json CHANGED
@@ -2,5 +2,8 @@
2
2
  "name": "@graphcommerce/misc",
3
3
  "homepage": "https://www.graphcommerce.org/",
4
4
  "repository": "github:graphcommerce-org/graphcommerce",
5
- "version": "9.1.0-canary.55"
5
+ "version": "10.0.0-canary.57",
6
+ "exports": {
7
+ ".": "./index.ts"
8
+ }
6
9
  }