@graphcommerce/docs 6.2.0-canary.7 → 6.2.0-canary.71

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,149 @@
1
1
  # Change Log
2
2
 
3
+ ## 6.2.0-canary.71
4
+
5
+ ## 6.2.0-canary.70
6
+
7
+ ## 6.2.0-canary.69
8
+
9
+ ## 6.2.0-canary.68
10
+
11
+ ## 6.2.0-canary.67
12
+
13
+ ## 6.2.0-canary.66
14
+
15
+ ## 6.2.0-canary.65
16
+
17
+ ## 6.2.0-canary.64
18
+
19
+ ## 6.2.0-canary.63
20
+
21
+ ## 6.2.0-canary.62
22
+
23
+ ## 6.2.0-canary.61
24
+
25
+ ## 6.2.0-canary.60
26
+
27
+ ## 6.2.0-canary.59
28
+
29
+ ## 6.2.0-canary.58
30
+
31
+ ## 6.2.0-canary.57
32
+
33
+ ## 6.2.0-canary.56
34
+
35
+ ## 6.2.0-canary.55
36
+
37
+ ## 6.2.0-canary.54
38
+
39
+ ## 6.2.0-canary.53
40
+
41
+ ## 6.2.0-canary.52
42
+
43
+ ## 6.2.0-canary.51
44
+
45
+ ### Patch Changes
46
+
47
+ - [`2f479c830`](https://github.com/graphcommerce-org/graphcommerce/commit/2f479c830e84137b739d83bc6dd1e36a6e299e3a) - Added advise about URL suffixes ([@paales](https://github.com/paales))
48
+
49
+ ## 6.2.0-canary.50
50
+
51
+ ## 6.2.0-canary.49
52
+
53
+ ### Patch Changes
54
+
55
+ - [#1959](https://github.com/graphcommerce-org/graphcommerce/pull/1959) [`d0809b132`](https://github.com/graphcommerce-org/graphcommerce/commit/d0809b132a0e4cbdfeb86164f6c16a89ebecd987) - Added support for default values in the Config.graphqls files for the documentation ([@JoshuaS98](https://github.com/JoshuaS98))
56
+
57
+ ## 6.2.0-canary.48
58
+
59
+ ## 6.2.0-canary.47
60
+
61
+ ## 6.2.0-canary.46
62
+
63
+ ## 6.2.0-canary.45
64
+
65
+ ## 6.2.0-canary.44
66
+
67
+ ## 6.2.0-canary.43
68
+
69
+ ## 6.2.0-canary.42
70
+
71
+ ## 6.2.0-canary.41
72
+
73
+ ## 6.2.0-canary.40
74
+
75
+ ## 6.2.0-canary.39
76
+
77
+ ### Patch Changes
78
+
79
+ - [#1957](https://github.com/graphcommerce-org/graphcommerce/pull/1957) [`cb3c82163`](https://github.com/graphcommerce-org/graphcommerce/commit/cb3c82163c32768f977b85c21b029ead354847af) - Docs were directly applied to the config.md which is autogenerated ([@paales](https://github.com/paales))
80
+
81
+ ## 6.2.0-canary.38
82
+
83
+ ## 6.2.0-canary.37
84
+
85
+ ## 6.2.0-canary.36
86
+
87
+ ## 6.2.0-canary.35
88
+
89
+ ## 6.2.0-canary.34
90
+
91
+ ## 6.2.0-canary.33
92
+
93
+ ## 6.2.0-canary.32
94
+
95
+ ## 6.2.0-canary.31
96
+
97
+ ## 6.2.0-canary.30
98
+
99
+ ## 6.2.0-canary.29
100
+
101
+ ## 6.2.0-canary.28
102
+
103
+ ## 6.2.0-canary.27
104
+
105
+ ## 6.2.0-canary.26
106
+
107
+ ## 6.2.0-canary.25
108
+
109
+ ## 6.2.0-canary.24
110
+
111
+ ## 6.2.0-canary.23
112
+
113
+ ## 6.2.0-canary.22
114
+
115
+ ## 6.2.0-canary.21
116
+
117
+ ## 6.2.0-canary.20
118
+
119
+ ## 6.2.0-canary.19
120
+
121
+ ## 6.2.0-canary.18
122
+
123
+ ### Patch Changes
124
+
125
+ - [#1933](https://github.com/graphcommerce-org/graphcommerce/pull/1933) [`e644887a7`](https://github.com/graphcommerce-org/graphcommerce/commit/e644887a75a3801a8b0dcf39558f56110a51d774) - Updated ReCAPTCHA docs ([@bramvanderholst](https://github.com/bramvanderholst))
126
+
127
+ ## 6.2.0-canary.17
128
+
129
+ ## 6.2.0-canary.16
130
+
131
+ ## 6.2.0-canary.15
132
+
133
+ ## 6.2.0-canary.14
134
+
135
+ ## 6.2.0-canary.13
136
+
137
+ ## 6.2.0-canary.12
138
+
139
+ ## 6.2.0-canary.11
140
+
141
+ ## 6.2.0-canary.10
142
+
143
+ ## 6.2.0-canary.9
144
+
145
+ ## 6.2.0-canary.8
146
+
3
147
  ## 6.2.0-canary.7
4
148
 
5
149
  ## 6.2.0-canary.6
@@ -90,6 +90,8 @@ Examples:
90
90
 
91
91
  The HyGraph endpoint.
92
92
 
93
+ > Read-only endpoint that allows low latency and high read-throughput content delivery.
94
+
93
95
  Project settings -> API Access -> High Performance Read-only Content API
94
96
 
95
97
  #### `magentoEndpoint: String!`
@@ -109,6 +111,28 @@ Due to a limitation of the GraphQL API it is not possible to determine if a cart
109
111
 
110
112
  When Magento's StoreConfig adds this value, this can be replaced.
111
113
 
114
+ #### `compare: Boolean`
115
+
116
+ Use compare functionality
117
+
118
+ #### `compareVariant: [CompareVariant](#CompareVariant) (default: ICON)`
119
+
120
+ By default the compare feature is denoted with a 'compare ICON' (2 arrows facing one another).
121
+ This may be fine for experienced users, but for more clarity it's also possible to present the compare feature as a CHECKBOX accompanied by the 'Compare' label
122
+
123
+ #### `configurableVariantForSimple: Boolean (default: [object Object])`
124
+
125
+ If a simple product is part of a Configurable product page, should the simple product be
126
+ rendered as a configured option of the configurable product page?
127
+
128
+ How does this work:
129
+
130
+ When the `products(filters: { url_key: { eq: 'simple-product' } }) { ... }` query is ran,
131
+ Magento also returns the Simple product and the Configurable product the simple belongs to.
132
+
133
+ If that is the case we render the configurable product page instead of the simple product page but
134
+ the options to select the simple product are pre-selected.
135
+
112
136
  #### `customerRequireEmailConfirmation: Boolean`
113
137
 
114
138
  Due to a limitation in the GraphQL API of Magento 2, we need to know if the
@@ -121,7 +145,7 @@ This value should match Magento 2's configuration value for
121
145
 
122
146
  Debug configuration for GraphCommerce
123
147
 
124
- #### `demoMode: Boolean`
148
+ #### `demoMode: Boolean (default: true)`
125
149
 
126
150
  Enables some demo specific code that is probably not useful for a project:
127
151
 
@@ -139,9 +163,13 @@ To override the value for a specific locale, configure in i18n config.
139
163
 
140
164
  #### `googleRecaptchaKey: String`
141
165
 
142
- Google reCAPTCHA key, get from https://developers.google.com/recaptcha/docs/v3
166
+ Google reCAPTCHA site key.
167
+ When using reCAPTCHA, this value is required, even if you are configuring different values for each locale.
143
168
 
144
- This value is required even if you are configuring different values for each locale.
169
+ Get a site key and a secret key from https://developers.google.com/recaptcha/docs/v3
170
+
171
+ The secret key should be added in the Magento admin panel (Stores > Configuration > Security > Google ReCAPTCHA Storefront > reCAPTCHA v3 Invisible)
172
+ ReCAPTCHA can then be enabled/disabled for the different forms, separately (Stores > Configuration > Security > Google ReCAPTCHA Storefront > Storefront)
145
173
 
146
174
  #### `googleTagmanagerId: String`
147
175
 
@@ -149,6 +177,40 @@ The Google Tagmanager ID to be used on the site.
149
177
 
150
178
  This value is required even if you are configuring different values for each locale.
151
179
 
180
+ #### `hygraphWriteAccessEndpoint: String`
181
+
182
+ Content API. **Only used for migrations.**
183
+
184
+ > Regular read & write endpoint that allows querying and mutating data in your project.
185
+
186
+ Project settings -> API Access -> Content API
187
+
188
+ #### `hygraphWriteAccessToken: String`
189
+
190
+ Hygraph Management SDK Authorization Token. **Only used for migrations.**
191
+
192
+ Project settings -> API Access -> Permanent Auth Tokens
193
+
194
+ 1. Click 'Add token' and give it a name, something like 'GraphCommerce Write Access Token' and keep stage on 'Published'.
195
+ 2. Under 'Management API', click 'Yes, Initialize defaults'
196
+ 3. Click 'Edit Permissions' and enable: 'Update' and 'Delete' permissions for 'models', 'enumerations', 'fields', 'components' and 'sources'
197
+ - Update existing models
198
+ - Delete existing models
199
+ - Update existing fields
200
+ - Delete existing fields
201
+ - Update existing enumerations
202
+ - Delete existing enumerations
203
+ - Update existing components
204
+ - Delete existing components
205
+ - Update remote sources
206
+ - Delete remote sources
207
+
208
+ ```
209
+ GC_HYGRAPH_WRITE_ACCESS_ENDPOINT="https://...hygraph.com/v2/..."
210
+ GC_HYGRAPH_WRITE_ACCESS_TOKEN="AccessTokenFromHygraph"
211
+ yarn graphcommerce hygraph-migrate
212
+ ```
213
+
152
214
  #### `legacyProductRoute: Boolean`
153
215
 
154
216
  On older versions of GraphCommerce products would use a product type specific route.
@@ -165,6 +227,12 @@ Limit the static generation of SSG when building
165
227
 
166
228
  To enable next.js' preview mode, configure the secret you'd like to use.
167
229
 
230
+ #### `productFiltersLayout: [ProductFiltersLayout](#ProductFiltersLayout) (default: DEFAULT)`
231
+
232
+ Layout how the filters are rendered.
233
+ DEFAULT: Will be rendered as horzontal chips on desktop and mobile
234
+ SIDEBAR: Will be rendered as a sidebar on desktop and horizontal chips on mobile
235
+
168
236
  #### `productFiltersPro: Boolean`
169
237
 
170
238
  Product filters with better UI for mobile and desktop.
@@ -35,6 +35,20 @@ to simplify the process of making correct favicons.
35
35
  <figcaption>Favicon sketch template</figcaption>
36
36
  </figure>
37
37
 
38
+ ## Open Graph preview image
39
+
40
+ The Open Graph image is automaticly set for product and category pages if
41
+ possible. For product pages the first gallary image will be used and for
42
+ category pages the image uploaded to the `Category Image` attribute. If these
43
+ images are not availale or on any of the other other pages a preview image will
44
+ not be added unless added as `ogImage` prop to the `PageMeta`, `, CategoryMeta`
45
+ or `ProductPageMeta` components.
46
+
47
+ It is possible to enable a fallback image per route by setting the
48
+ `ogImageUseFallback` prop to `true` on either the `PageMeta`, `, CategoryMeta`
49
+ or `ProductPageMeta` components. The image used as fallback can be found at
50
+ `/public/open-graph-image.jpg`
51
+
38
52
  ## Next steps
39
53
 
40
54
  - Lear more about [Static file serving](../framework/static-file-serving.md)
@@ -152,7 +152,7 @@ work for other things such as:
152
152
  - Googletagmanager
153
153
  - Googleanalytics
154
154
  - Google recaptcha
155
- - Compare functionality?
155
+ - Compare functionality
156
156
  - Wishlist functionality?
157
157
  - Abstraction between GraphCommerce and Backends? (Magento, BigCommerce,
158
158
  CommerceTools, etc.)
@@ -155,7 +155,7 @@ fragment Banner on Banner {
155
155
  - In /components/GraphCMS/RowRenderer.graphql, add the fragment:
156
156
 
157
157
  ```graphql
158
- fragment RowRenderer on Page {
158
+ fragment RowRenderer on Page @inject(into: ["HygraphPage"]) {
159
159
  content {
160
160
  __typename
161
161
  ... on Node {
package/magento/readme.md CHANGED
@@ -50,6 +50,20 @@ For Magento Open Source:
50
50
  For Adobe Commerce:
51
51
  `Stores -> Attributes -> Customer Address -> street -> Lines Count`
52
52
 
53
+ ### Remove URL suffixes from products and categorories (optional)
54
+
55
+ GraphCommerce does not support URL suffixes, because Next.js can not handle urls
56
+ ending in `.html`. When migrating from an existing shop, GraphCommerce will
57
+ automatically redirect to the suffix-less URL. However, GraphCommerce will need
58
+ to do an additional query to Magento to find the route.
59
+
60
+ If you are starting out from a new project, we recommend to remove the URL
61
+ suffixes from products and categories.
62
+
63
+ Remove the URL suffixes from products and categories. (default is `.html`)
64
+ `Stores -> Configuration -> Catalog -> Catalog -> Search Engine Optimization -> Product URL Suffix`
65
+ `Stores -> Configuration -> Catalog -> Catalog -> Search Engine Optimization -> Category URL Suffix`
66
+
53
67
  ## Optional packages
54
68
 
55
69
  - [Store Pickup / MSI](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/magento-cart-pickup)
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": "6.2.0-canary.7",
5
+ "version": "6.2.0-canary.71",
6
6
  "sideEffects": true,
7
7
  "devDependencies": {
8
- "@graphcommerce/prettier-config-pwa": "6.2.0-canary.7"
8
+ "@graphcommerce/prettier-config-pwa": "6.2.0-canary.71"
9
9
  },
10
10
  "prettier": "@graphcommerce/prettier-config-pwa"
11
11
  }
package/roadmap.md CHANGED
@@ -15,14 +15,27 @@ The following overview contains the status of items on the GraphCommerce roadmap
15
15
 
16
16
  ## In progress
17
17
 
18
- - [ ] Redesigned layered navigation for mobile and desktop
19
- - [ ] GA4 datalayer implementation
20
- - [ ] Paypal Express payment service (Multisafepay, Braintree, Mollie already
21
- implemented)
22
- - [ ] Adyen payment service
18
+ - [ ] Better authorization handling
19
+ - [ ] Hygraph schema migrations
20
+ - [ ] Edge runtime for GraphQL Mesh and Streaming SSR rendering
21
+ - [ ] Global store messages
23
22
 
24
23
  ## Just released
25
24
 
25
+ [See all releases](https://github.com/graphcommerce-org/graphcommerce/releases?q=prerelease%3Afalse+&expanded=true)
26
+
27
+ - [x] [Algolia Search (beta)](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/algolia-search)
28
+ - [x] [Dynamic Rows (beta)](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/hygraph-dynamic-rows)
29
+ - [x] [Product compare](https://github.com/graphcommerce-org/graphcommerce/blob/main/packages/magento-compare/Config.graphqls)
30
+ - [x] Google Tagmanager 4 datalayer implementation
31
+ [docs ↗](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/googleanalytics)
32
+ - [x] Paypal Express payment service
33
+ [docs ↗](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/magento-payment-paypal)
34
+ - [x] Adyen payment service
35
+ [docs ↗](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/magento-payment-adyen)
36
+ - [x] Postcode check integration
37
+ [docs ↗](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/address-fields-nl)
38
+ - [x] Redesigned layered navigation for mobile and desktop
26
39
  - [x] Crosssells overlay after adding a product to cart
27
40
  - [x] Bundle product
28
41
  [example ↗](https://graphcommerce.vercel.app/nl/p/giftcard-bundle-gc-570)
@@ -40,15 +53,16 @@ The following overview contains the status of items on the GraphCommerce roadmap
40
53
 
41
54
  ## Planned
42
55
 
43
- - [ ] Store locator
44
- - [ ] Adyen payment service
45
- - [ ] Buckaroo payment service
46
- - [ ] Fetch Magento image sizes (probe-image-size)
47
- - [ ] Postcode check integration
48
- - [ ] Windows support
56
+ - [ ] Redesigned cart
57
+ - [ ] Product thumbnail carousel
58
+ - [ ] React Server Components integration
49
59
 
50
60
  ## Future
51
61
 
62
+ - [ ] Fetch Magento image sizes (probe-image-size)
63
+ - [ ] Windows support
64
+ - [ ] Store locator
65
+ - [ ] Buckaroo payment service
52
66
  - [ ] `magento` example without Hygraph
53
67
  - [ ] PageBuilder support
54
68
 
@@ -0,0 +1,89 @@
1
+ # Upgrading from GraphCommerce 6.1 to 6.2
2
+
3
+ Upgrading from GraphCommerce 6.1 to 6.2 is minor update. Depending on the
4
+ amounts of customisations you've made, there are some manual steps. Please
5
+ follow the regular [upgrade steps first](./readme.md).
6
+
7
+ 1. [Add `fetchPolicy: cache-first` to LayoutDocument](#add-cache-first-fetchpolicy-to-layoutdocument)
8
+ 2. [Translation file updates](#translation-file-updates)
9
+
10
+ ## Add `fetchPolicy: cache-first` to LayoutDocument queries
11
+
12
+ 🟠 Only required if you've added custom pages
13
+
14
+ All occurences of LayoutDocument should get a `fetchPolicy: 'cache-first'`
15
+ option.
16
+
17
+ ```tsx
18
+ // Find all occurences of
19
+ staticClient.query({ query: LayoutDocument })
20
+
21
+ // Replace with
22
+ staticClient.query({ query: LayoutDocument, fetchPolicy: 'cache-first' })
23
+ ```
24
+
25
+ ## Use thew new `hygraphPageContent` function instead of DefaultPageQuery
26
+
27
+ 🟠 Only required if you've added custom pages
28
+
29
+ The `DefaultPageDocument` is removed in favor of the new `hygraphPageContent`
30
+ query. This function handles caching better and allows for (currently in beta)
31
+ DynamicRows feature.
32
+
33
+ ```tsx
34
+ // DefaultPageDocument
35
+ const page = staticClient.query({
36
+ query: DefaultPageDocument,
37
+ variables: { url: `blog/${urlKey}` },
38
+ })
39
+
40
+ // Becomes hygraphPageContent
41
+ const page = hygraphPageContent(staticClient, `blog/${urlKey}`)
42
+ ```
43
+
44
+ ## Translation file updates
45
+
46
+ 🟠 Only required if you've added custom translations
47
+
48
+ All locales files now require a `msgid` comment. All translations need to have a
49
+ `#. js-lingui-explicit-id` comment added. This could be done with a
50
+ find-and-replace:
51
+
52
+ Find (including the empty line)
53
+
54
+ ```
55
+
56
+ msgid
57
+ ```
58
+
59
+ Replace with (including the empty line)
60
+
61
+ ```
62
+
63
+ #. js-lingui-explicit-id
64
+ msgid
65
+ ```
66
+
67
+ To validate your translations run `yarn lingui` to extract everything.
68
+
69
+ ## All @graphql-mesh/\* should be set to latest.
70
+
71
+ 🟠 Only required if you've added custom @graphql-mesh/\* packages
72
+
73
+ All @graphql-mesh packages are using a 0.x.x versioning schema. This means that
74
+ each minor change is considered a major change by yarn. This causes lots of
75
+ issues with version mismatches. Since `@graphql-mesh` isn't making any major
76
+ breaking before releasing 1.x this is the safest course of action for now. Once
77
+ 1.x is released we'll switch to "^1.0.0" as a version constraint.
78
+
79
+ In your package.json
80
+
81
+ ```json
82
+ // Replace
83
+ "@graphql-mesh/json-schema": "^0.37.6",
84
+ "@graphql-mesh/transform-filter-schema": "^0.15.8",
85
+
86
+ // With
87
+ "@graphql-mesh/json-schema": "latest",
88
+ "@graphql-mesh/transform-filter-schema": "latest",
89
+ ```
@@ -107,6 +107,7 @@ find . -type f -name '*.rej' -delete
107
107
  After resolving the diff issues, manually process upgrade instructions:
108
108
 
109
109
  - [Upgrading to GraphCommerce 5 to 6](../upgrading/graphcommerce-5-to-6.md)
110
+ - [Upgrading to GraphCommerce 6.1 to 6.2](../upgrading/graphcommerce-6-1-to-6-2.md)
110
111
 
111
112
  Run and validate your local environment:
112
113