@graphcommerce/docs 10.1.0-canary.9 → 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 +72 -0
- package/framework/mesh.md +32 -0
- package/getting-started/create.md +1 -1
- package/package.json +2 -2
- package/upgrading/graphcommerce-10-to-11.md +94 -0
- package/upgrading/readme.md +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,77 @@
|
|
|
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
|
+
|
|
3
75
|
## 10.1.0-canary.9
|
|
4
76
|
|
|
5
77
|
## 10.1.0-canary.8
|
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
|
|
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": "
|
|
5
|
+
"version": "11.0.0-canary.45",
|
|
6
6
|
"sideEffects": true,
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@graphcommerce/prettier-config-pwa": "^
|
|
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.
|
package/upgrading/readme.md
CHANGED
|
@@ -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
|
|