@graphcommerce/docs 10.1.0-canary.7 → 11.0.0-canary.45

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,81 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.0.0-canary.45
4
+
5
+ ## 10.1.0-canary.44
6
+
7
+ ## 10.1.0-canary.43
8
+
9
+ ## 10.1.0-canary.42
10
+
11
+ ## 10.1.0-canary.41
12
+
13
+ ## 10.1.0-canary.40
14
+
15
+ ## 10.1.0-canary.39
16
+
17
+ ## 10.1.0-canary.38
18
+
19
+ ## 10.1.0-canary.37
20
+
21
+ ## 10.1.0-canary.36
22
+
23
+ ## 10.1.0-canary.35
24
+
25
+ ## 10.1.0-canary.34
26
+
27
+ ## 10.1.0-canary.33
28
+
29
+ ## 10.1.0-canary.32
30
+
31
+ ## 10.1.0-canary.31
32
+
33
+ ## 10.1.0-canary.30
34
+
35
+ ## 10.1.0-canary.29
36
+
37
+ ## 10.1.0-canary.28
38
+
39
+ ## 10.1.0-canary.27
40
+
41
+ ## 10.1.0-canary.26
42
+
43
+ ## 10.1.0-canary.25
44
+
45
+ ## 10.1.0-canary.24
46
+
47
+ ## 10.1.0-canary.23
48
+
49
+ ## 10.1.0-canary.22
50
+
51
+ ## 10.1.0-canary.21
52
+
53
+ ## 10.1.0-canary.20
54
+
55
+ ## 10.1.0-canary.19
56
+
57
+ ## 10.1.0-canary.18
58
+
59
+ ## 10.1.0-canary.17
60
+
61
+ ## 10.1.0-canary.16
62
+
63
+ ## 10.1.0-canary.15
64
+
65
+ ## 10.1.0-canary.14
66
+
67
+ ## 10.1.0-canary.13
68
+
69
+ ## 10.1.0-canary.12
70
+
71
+ ## 10.1.0-canary.11
72
+
73
+ ## 10.1.0-canary.10
74
+
75
+ ## 10.1.0-canary.9
76
+
77
+ ## 10.1.0-canary.8
78
+
3
79
  ## 10.1.0-canary.7
4
80
 
5
81
  ## 10.1.0-canary.6
package/framework/mesh.md CHANGED
@@ -92,3 +92,35 @@ To make sure changes are picked up during development set the config value
92
92
  `graphqlMeshEditMode: true` in your graphcommerce.config.js or set the env
93
93
  variable `GC_GRAPHQL_MESH_EDIT_MODE=1`. This _will_ make the frontend
94
94
  considerably slower.
95
+
96
+ ## Routing Magento traffic over an internal network
97
+
98
+ When the frontend runs next to Magento — e.g. both in the same Kubernetes
99
+ cluster — the mesh's server-side Magento requests (GraphQL and REST) can be
100
+ routed directly to an internal Service instead of hairpinning over the public
101
+ load balancer. Set in the **runtime** environment (e.g. a Kubernetes
102
+ ConfigMap):
103
+
104
+ ```
105
+ GC_MAGENTO_ENDPOINT_SERVER=http://varnish.magento-namespace.svc.cluster.local
106
+ ```
107
+
108
+ Every request whose URL starts with the origin of `GC_MAGENTO_ENDPOINT` is
109
+ rewritten to this origin, so both the GraphQL endpoint and the REST endpoint
110
+ are covered. `GC_MAGENTO_ENDPOINT` itself stays the public URL: it keeps
111
+ feeding build-time schema introspection, `images.remotePatterns` and the media
112
+ URLs Magento generates. The rewrite also sends `X-Forwarded-Proto: https`,
113
+ which the TLS-terminating proxy would normally add — Magento needs it to keep
114
+ generating `https://` URLs.
115
+
116
+ Caveats:
117
+
118
+ - Both `GC_MAGENTO_ENDPOINT_SERVER` and `GC_MAGENTO_ENDPOINT` must be present
119
+ in the runtime environment; the rewrite happens per request at runtime.
120
+ - Do **not** set `GC_MAGENTO_ENDPOINT_SERVER` in the build environment: schema
121
+ introspection (`gc-mesh build`) and static generation run where the internal
122
+ endpoint is typically not reachable. Unset, the feature is a no-op.
123
+ - Point it at the Varnish service (not the webserver directly) to keep
124
+ Magento's GraphQL full-page cache in the path.
125
+ - When a NetworkPolicy guards the Magento namespace, allow ingress from the
126
+ frontend namespace to the Varnish pods.
@@ -11,7 +11,7 @@ start building.
11
11
  ### Preparations
12
12
 
13
13
  - MacOS, Windows with WSL2 or Linux
14
- - Install and use node 20: `nvm install 20` or `nvm use 20`
14
+ - Install and use node 22 or 24: `nvm install 24` or `nvm use 24`
15
15
  - Install yarn: `corepack enable`
16
16
 
17
17
  ## Step 1: Create a GraphCommerce app
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "name": "@graphcommerce/docs",
3
3
  "homepage": "https://www.graphcommerce.org/docs",
4
4
  "repository": "github:graphcommerce-org/graphcommerce/docs",
5
- "version": "10.1.0-canary.7",
5
+ "version": "11.0.0-canary.45",
6
6
  "sideEffects": true,
7
7
  "peerDependencies": {
8
- "@graphcommerce/prettier-config-pwa": "^10.1.0-canary.7"
8
+ "@graphcommerce/prettier-config-pwa": "^11.0.0-canary.45"
9
9
  },
10
10
  "prettier": "@graphcommerce/prettier-config-pwa"
11
11
  }
@@ -0,0 +1,94 @@
1
+ # Upgrading from GraphCommerce 10 to 11
2
+
3
+ GraphCommerce 11 drops support for Node.js 20 (EOL April 2026) and aligns the
4
+ framework with the
5
+ [Node.js release schedule](https://nodejs.org/en/about/previous-releases). The
6
+ minimum supported version is now Node.js 22, and Node.js 24 is recommended.
7
+
8
+ There are no source-code or API breaking changes in this release — only the
9
+ supported runtime has shifted.
10
+
11
+ ## Step 1: Upgrade your local Node.js
12
+
13
+ | Version | Status as of May 2026 |
14
+ | -------------------- | ----------------------------------------------------- |
15
+ | Node.js 20 (Iron) | **EOL** — no longer supported |
16
+ | Node.js 22 (Jod) | Maintenance LTS through ~April 2027 — **new minimum** |
17
+ | Node.js 24 (Krypton) | Active LTS since Oct 2025 — **recommended** |
18
+ | Node.js 26 | Current since May 2026 — supported |
19
+
20
+ Pick whichever LTS you prefer; `>=22.0.0 <27.0.0` is the accepted range.
21
+
22
+ With `nvm`:
23
+
24
+ ```bash
25
+ nvm install 24
26
+ nvm use 24
27
+ ```
28
+
29
+ Then re-enable corepack so the project's pinned yarn version is picked up:
30
+
31
+ ```bash
32
+ corepack enable
33
+ ```
34
+
35
+ ## Step 2: Bump `engines.node` in your project
36
+
37
+ If you copied the example's `engines.node` into your own `package.json`, update
38
+ it from the old GC 10 value to the GC 11 range:
39
+
40
+ ```diff
41
+ "engines": {
42
+ - "node": ">=20 <24.0.0"
43
+ + "node": ">=22.0.0 <27.0.0"
44
+ }
45
+ ```
46
+
47
+ If your project doesn't set `engines.node` itself, nothing to do — the engine
48
+ constraint is inherited from `@graphcommerce/magento-graphcms` (or whichever
49
+ example you bootstrapped from).
50
+
51
+ ## Step 3: Update your CI / hosting
52
+
53
+ Anywhere that pins a Node version, move from 20 to 22 or 24:
54
+
55
+ - **GitHub Actions** (`.github/workflows/*.yml`):
56
+
57
+ ```diff
58
+ - uses: actions/setup-node@v4
59
+ with:
60
+ - node-version: 20
61
+ + node-version: 24
62
+ ```
63
+
64
+ If you use `actions/setup-node@v3`, bump it to `@v4` while you're there.
65
+
66
+ - **Vercel** — set the project's "Node.js Version" to 22.x or 24.x under
67
+ Settings → General. Vercel's `20.x` option will be removed in line with Node's
68
+ own EOL.
69
+
70
+ - **Docker images** — update any `FROM node:20…` to `FROM node:22-…` or
71
+ `FROM node:24-…` (alpine/slim/bookworm variants all work).
72
+
73
+ - **Devcontainer / Gitpod / Codespaces** — Gitpod users can switch their
74
+ `.gitpod.yml` bootstrap from `nvm install 18` (or 20) to `nvm install 24`.
75
+ Devcontainer setups that use `"lts": true` resolve to v24 automatically and
76
+ need no change.
77
+
78
+ ## Step 4: Reinstall
79
+
80
+ After upgrading Node:
81
+
82
+ ```bash
83
+ rm -rf node_modules .next
84
+ yarn install
85
+ yarn codegen
86
+ yarn dev
87
+ ```
88
+
89
+ ## Notes
90
+
91
+ - Node 22 will move from Maintenance LTS to EOL around April 2027 — start
92
+ planning the move to Node 24 (or 26) before then.
93
+ - Node 25/26 are non-LTS "current" releases. They're accepted by the engine
94
+ range, but production deployments should generally stay on the latest LTS.
@@ -110,6 +110,7 @@ After resolving the diff issues, manually process upgrade instructions:
110
110
  - [Upgrading to GraphCommerce 7 to 8](../upgrading/graphcommerce-7-to-8.md)
111
111
  - [Upgrading to GraphCommerce 8 to 9](../upgrading/graphcommerce-8-to-9.md)
112
112
  - [Upgrading to GraphCommerce 9 to 10](../upgrading/graphcommerce-9-to-10.md)
113
+ - [Upgrading to GraphCommerce 10 to 11](../upgrading/graphcommerce-10-to-11.md)
113
114
 
114
115
  Run and validate your local environment:
115
116