@graphcommerce/docs 6.2.0-canary.6 → 6.2.0-canary.60

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,129 @@
1
1
  # Change Log
2
2
 
3
+ ## 6.2.0-canary.60
4
+
5
+ ## 6.2.0-canary.59
6
+
7
+ ## 6.2.0-canary.58
8
+
9
+ ## 6.2.0-canary.57
10
+
11
+ ## 6.2.0-canary.56
12
+
13
+ ## 6.2.0-canary.55
14
+
15
+ ## 6.2.0-canary.54
16
+
17
+ ## 6.2.0-canary.53
18
+
19
+ ## 6.2.0-canary.52
20
+
21
+ ## 6.2.0-canary.51
22
+
23
+ ### Patch Changes
24
+
25
+ - [`2f479c830`](https://github.com/graphcommerce-org/graphcommerce/commit/2f479c830e84137b739d83bc6dd1e36a6e299e3a) - Added advise about URL suffixes ([@paales](https://github.com/paales))
26
+
27
+ ## 6.2.0-canary.50
28
+
29
+ ## 6.2.0-canary.49
30
+
31
+ ### Patch Changes
32
+
33
+ - [#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))
34
+
35
+ ## 6.2.0-canary.48
36
+
37
+ ## 6.2.0-canary.47
38
+
39
+ ## 6.2.0-canary.46
40
+
41
+ ## 6.2.0-canary.45
42
+
43
+ ## 6.2.0-canary.44
44
+
45
+ ## 6.2.0-canary.43
46
+
47
+ ## 6.2.0-canary.42
48
+
49
+ ## 6.2.0-canary.41
50
+
51
+ ## 6.2.0-canary.40
52
+
53
+ ## 6.2.0-canary.39
54
+
55
+ ### Patch Changes
56
+
57
+ - [#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))
58
+
59
+ ## 6.2.0-canary.38
60
+
61
+ ## 6.2.0-canary.37
62
+
63
+ ## 6.2.0-canary.36
64
+
65
+ ## 6.2.0-canary.35
66
+
67
+ ## 6.2.0-canary.34
68
+
69
+ ## 6.2.0-canary.33
70
+
71
+ ## 6.2.0-canary.32
72
+
73
+ ## 6.2.0-canary.31
74
+
75
+ ## 6.2.0-canary.30
76
+
77
+ ## 6.2.0-canary.29
78
+
79
+ ## 6.2.0-canary.28
80
+
81
+ ## 6.2.0-canary.27
82
+
83
+ ## 6.2.0-canary.26
84
+
85
+ ## 6.2.0-canary.25
86
+
87
+ ## 6.2.0-canary.24
88
+
89
+ ## 6.2.0-canary.23
90
+
91
+ ## 6.2.0-canary.22
92
+
93
+ ## 6.2.0-canary.21
94
+
95
+ ## 6.2.0-canary.20
96
+
97
+ ## 6.2.0-canary.19
98
+
99
+ ## 6.2.0-canary.18
100
+
101
+ ### Patch Changes
102
+
103
+ - [#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))
104
+
105
+ ## 6.2.0-canary.17
106
+
107
+ ## 6.2.0-canary.16
108
+
109
+ ## 6.2.0-canary.15
110
+
111
+ ## 6.2.0-canary.14
112
+
113
+ ## 6.2.0-canary.13
114
+
115
+ ## 6.2.0-canary.12
116
+
117
+ ## 6.2.0-canary.11
118
+
119
+ ## 6.2.0-canary.10
120
+
121
+ ## 6.2.0-canary.9
122
+
123
+ ## 6.2.0-canary.8
124
+
125
+ ## 6.2.0-canary.7
126
+
3
127
  ## 6.2.0-canary.6
4
128
 
5
129
  ## 6.1.1-canary.5
@@ -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,15 @@ 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
+
112
123
  #### `customerRequireEmailConfirmation: Boolean`
113
124
 
114
125
  Due to a limitation in the GraphQL API of Magento 2, we need to know if the
@@ -121,7 +132,7 @@ This value should match Magento 2's configuration value for
121
132
 
122
133
  Debug configuration for GraphCommerce
123
134
 
124
- #### `demoMode: Boolean`
135
+ #### `demoMode: Boolean (default: true)`
125
136
 
126
137
  Enables some demo specific code that is probably not useful for a project:
127
138
 
@@ -139,9 +150,13 @@ To override the value for a specific locale, configure in i18n config.
139
150
 
140
151
  #### `googleRecaptchaKey: String`
141
152
 
142
- Google reCAPTCHA key, get from https://developers.google.com/recaptcha/docs/v3
153
+ Google reCAPTCHA site key.
154
+ When using reCAPTCHA, this value is required, even if you are configuring different values for each locale.
143
155
 
144
- This value is required even if you are configuring different values for each locale.
156
+ Get a site key and a secret key from https://developers.google.com/recaptcha/docs/v3
157
+
158
+ The secret key should be added in the Magento admin panel (Stores > Configuration > Security > Google ReCAPTCHA Storefront > reCAPTCHA v3 Invisible)
159
+ ReCAPTCHA can then be enabled/disabled for the different forms, separately (Stores > Configuration > Security > Google ReCAPTCHA Storefront > Storefront)
145
160
 
146
161
  #### `googleTagmanagerId: String`
147
162
 
@@ -149,6 +164,40 @@ The Google Tagmanager ID to be used on the site.
149
164
 
150
165
  This value is required even if you are configuring different values for each locale.
151
166
 
167
+ #### `hygraphWriteAccessEndpoint: String`
168
+
169
+ Content API. **Only used for migrations.**
170
+
171
+ > Regular read & write endpoint that allows querying and mutating data in your project.
172
+
173
+ Project settings -> API Access -> Content API
174
+
175
+ #### `hygraphWriteAccessToken: String`
176
+
177
+ Hygraph Management SDK Authorization Token. **Only used for migrations.**
178
+
179
+ Project settings -> API Access -> Permanent Auth Tokens
180
+
181
+ 1. Click 'Add token' and give it a name, something like 'GraphCommerce Write Access Token' and keep stage on 'Published'.
182
+ 2. Under 'Management API', click 'Yes, Initialize defaults'
183
+ 3. Click 'Edit Permissions' and enable: 'Update' and 'Delete' permissions for 'models', 'enumerations', 'fields', 'components' and 'sources'
184
+ - Update existing models
185
+ - Delete existing models
186
+ - Update existing fields
187
+ - Delete existing fields
188
+ - Update existing enumerations
189
+ - Delete existing enumerations
190
+ - Update existing components
191
+ - Delete existing components
192
+ - Update remote sources
193
+ - Delete remote sources
194
+
195
+ ```
196
+ GC_HYGRAPH_WRITE_ACCESS_ENDPOINT="https://...hygraph.com/v2/..."
197
+ GC_HYGRAPH_WRITE_ACCESS_TOKEN="AccessTokenFromHygraph"
198
+ yarn graphcommerce hygraph-migrate
199
+ ```
200
+
152
201
  #### `legacyProductRoute: Boolean`
153
202
 
154
203
  On older versions of GraphCommerce products would use a product type specific route.
@@ -165,6 +214,12 @@ Limit the static generation of SSG when building
165
214
 
166
215
  To enable next.js' preview mode, configure the secret you'd like to use.
167
216
 
217
+ #### `productFiltersLayout: [ProductFiltersLayout](#ProductFiltersLayout) (default: DEFAULT)`
218
+
219
+ Layout how the filters are rendered.
220
+ DEFAULT: Will be rendered as horzontal chips on desktop and mobile
221
+ SIDEBAR: Will be rendered as a sidebar on desktop and horizontal chips on mobile
222
+
168
223
  #### `productFiltersPro: Boolean`
169
224
 
170
225
  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.6",
5
+ "version": "6.2.0-canary.60",
6
6
  "sideEffects": true,
7
7
  "devDependencies": {
8
- "@graphcommerce/prettier-config-pwa": "6.2.0-canary.6"
8
+ "@graphcommerce/prettier-config-pwa": "6.2.0-canary.60"
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