@graphcommerce/docs 6.2.0-canary.8 → 6.2.0-canary.80

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,169 @@
1
1
  # Change Log
2
2
 
3
+ ## 6.2.0-canary.80
4
+
5
+ ## 6.2.0-canary.79
6
+
7
+ ## 6.2.0-canary.78
8
+
9
+ ## 6.2.0-canary.77
10
+
11
+ ## 6.2.0-canary.76
12
+
13
+ ## 6.2.0-canary.75
14
+
15
+ ## 6.2.0-canary.74
16
+
17
+ ## 6.2.0-canary.73
18
+
19
+ ### Patch Changes
20
+
21
+ - [#1978](https://github.com/graphcommerce-org/graphcommerce/pull/1978) [`0c91ac1f7`](https://github.com/graphcommerce-org/graphcommerce/commit/0c91ac1f70f58dec418e945fc4a6a8c6732cc21e) - When a user selects a variant, it will switch the values on the configurable page with the values of the configured variant. Enabling options here will allow switching of those variants. ([@carlocarels90](https://github.com/carlocarels90))
22
+
23
+ ## 6.2.0-canary.72
24
+
25
+ ## 6.2.0-canary.71
26
+
27
+ ## 6.2.0-canary.70
28
+
29
+ ## 6.2.0-canary.69
30
+
31
+ ## 6.2.0-canary.68
32
+
33
+ ## 6.2.0-canary.67
34
+
35
+ ## 6.2.0-canary.66
36
+
37
+ ## 6.2.0-canary.65
38
+
39
+ ## 6.2.0-canary.64
40
+
41
+ ## 6.2.0-canary.63
42
+
43
+ ## 6.2.0-canary.62
44
+
45
+ ## 6.2.0-canary.61
46
+
47
+ ## 6.2.0-canary.60
48
+
49
+ ## 6.2.0-canary.59
50
+
51
+ ## 6.2.0-canary.58
52
+
53
+ ## 6.2.0-canary.57
54
+
55
+ ## 6.2.0-canary.56
56
+
57
+ ## 6.2.0-canary.55
58
+
59
+ ## 6.2.0-canary.54
60
+
61
+ ## 6.2.0-canary.53
62
+
63
+ ## 6.2.0-canary.52
64
+
65
+ ## 6.2.0-canary.51
66
+
67
+ ### Patch Changes
68
+
69
+ - [`2f479c830`](https://github.com/graphcommerce-org/graphcommerce/commit/2f479c830e84137b739d83bc6dd1e36a6e299e3a) - Added advise about URL suffixes ([@paales](https://github.com/paales))
70
+
71
+ ## 6.2.0-canary.50
72
+
73
+ ## 6.2.0-canary.49
74
+
75
+ ### Patch Changes
76
+
77
+ - [#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))
78
+
79
+ ## 6.2.0-canary.48
80
+
81
+ ## 6.2.0-canary.47
82
+
83
+ ## 6.2.0-canary.46
84
+
85
+ ## 6.2.0-canary.45
86
+
87
+ ## 6.2.0-canary.44
88
+
89
+ ## 6.2.0-canary.43
90
+
91
+ ## 6.2.0-canary.42
92
+
93
+ ## 6.2.0-canary.41
94
+
95
+ ## 6.2.0-canary.40
96
+
97
+ ## 6.2.0-canary.39
98
+
99
+ ### Patch Changes
100
+
101
+ - [#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))
102
+
103
+ ## 6.2.0-canary.38
104
+
105
+ ## 6.2.0-canary.37
106
+
107
+ ## 6.2.0-canary.36
108
+
109
+ ## 6.2.0-canary.35
110
+
111
+ ## 6.2.0-canary.34
112
+
113
+ ## 6.2.0-canary.33
114
+
115
+ ## 6.2.0-canary.32
116
+
117
+ ## 6.2.0-canary.31
118
+
119
+ ## 6.2.0-canary.30
120
+
121
+ ## 6.2.0-canary.29
122
+
123
+ ## 6.2.0-canary.28
124
+
125
+ ## 6.2.0-canary.27
126
+
127
+ ## 6.2.0-canary.26
128
+
129
+ ## 6.2.0-canary.25
130
+
131
+ ## 6.2.0-canary.24
132
+
133
+ ## 6.2.0-canary.23
134
+
135
+ ## 6.2.0-canary.22
136
+
137
+ ## 6.2.0-canary.21
138
+
139
+ ## 6.2.0-canary.20
140
+
141
+ ## 6.2.0-canary.19
142
+
143
+ ## 6.2.0-canary.18
144
+
145
+ ### Patch Changes
146
+
147
+ - [#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))
148
+
149
+ ## 6.2.0-canary.17
150
+
151
+ ## 6.2.0-canary.16
152
+
153
+ ## 6.2.0-canary.15
154
+
155
+ ## 6.2.0-canary.14
156
+
157
+ ## 6.2.0-canary.13
158
+
159
+ ## 6.2.0-canary.12
160
+
161
+ ## 6.2.0-canary.11
162
+
163
+ ## 6.2.0-canary.10
164
+
165
+ ## 6.2.0-canary.9
166
+
3
167
  ## 6.2.0-canary.8
4
168
 
5
169
  ## 6.2.0-canary.7
@@ -111,6 +111,34 @@ Due to a limitation of the GraphQL API it is not possible to determine if a cart
111
111
 
112
112
  When Magento's StoreConfig adds this value, this can be replaced.
113
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
+
136
+ #### `configurableVariantValues: [MagentoConfigurableVariantValues](#MagentoConfigurableVariantValues) (default: [object Object])`
137
+
138
+ When a user selects a variant, it will switch the values on the configurable page with the values of the configured variant.
139
+
140
+ Enabling options here will allow switching of those variants.
141
+
114
142
  #### `customerRequireEmailConfirmation: Boolean`
115
143
 
116
144
  Due to a limitation in the GraphQL API of Magento 2, we need to know if the
@@ -123,7 +151,7 @@ This value should match Magento 2's configuration value for
123
151
 
124
152
  Debug configuration for GraphCommerce
125
153
 
126
- #### `demoMode: Boolean`
154
+ #### `demoMode: Boolean (default: true)`
127
155
 
128
156
  Enables some demo specific code that is probably not useful for a project:
129
157
 
@@ -141,9 +169,13 @@ To override the value for a specific locale, configure in i18n config.
141
169
 
142
170
  #### `googleRecaptchaKey: String`
143
171
 
144
- Google reCAPTCHA key, get from https://developers.google.com/recaptcha/docs/v3
172
+ Google reCAPTCHA site key.
173
+ When using reCAPTCHA, this value is required, even if you are configuring different values for each locale.
145
174
 
146
- This value is required even if you are configuring different values for each locale.
175
+ Get a site key and a secret key from https://developers.google.com/recaptcha/docs/v3
176
+
177
+ The secret key should be added in the Magento admin panel (Stores > Configuration > Security > Google ReCAPTCHA Storefront > reCAPTCHA v3 Invisible)
178
+ ReCAPTCHA can then be enabled/disabled for the different forms, separately (Stores > Configuration > Security > Google ReCAPTCHA Storefront > Storefront)
147
179
 
148
180
  #### `googleTagmanagerId: String`
149
181
 
@@ -201,6 +233,12 @@ Limit the static generation of SSG when building
201
233
 
202
234
  To enable next.js' preview mode, configure the secret you'd like to use.
203
235
 
236
+ #### `productFiltersLayout: [ProductFiltersLayout](#ProductFiltersLayout) (default: DEFAULT)`
237
+
238
+ Layout how the filters are rendered.
239
+ DEFAULT: Will be rendered as horzontal chips on desktop and mobile
240
+ SIDEBAR: Will be rendered as a sidebar on desktop and horizontal chips on mobile
241
+
204
242
  #### `productFiltersPro: Boolean`
205
243
 
206
244
  Product filters with better UI for mobile and desktop.
@@ -316,4 +354,18 @@ Add a gcms-locales header to make sure queries return in a certain language, can
316
354
 
317
355
  #### `linguiLocale: String`
318
356
 
319
- Specify a custom locale for to load translations.
357
+ Specify a custom locale for to load translations.
358
+
359
+ ### MagentoConfigurableVariantValues
360
+
361
+ Options to configure which values will be replaced when a variant is selected on the product page.
362
+
363
+ #### `content: Boolean`
364
+
365
+ Use the name, description, short description and meta data from the configured variant
366
+
367
+ #### `url: Boolean`
368
+
369
+ When a variant is selected the URL of the product will be changed in the address bar.
370
+
371
+ This only happens when the actual variant is can be accessed by the URL.
@@ -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.)
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.8",
5
+ "version": "6.2.0-canary.80",
6
6
  "sideEffects": true,
7
7
  "devDependencies": {
8
- "@graphcommerce/prettier-config-pwa": "6.2.0-canary.8"
8
+ "@graphcommerce/prettier-config-pwa": "6.2.0-canary.80"
9
9
  },
10
10
  "prettier": "@graphcommerce/prettier-config-pwa"
11
11
  }
package/roadmap.md CHANGED
@@ -15,9 +15,8 @@ The following overview contains the status of items on the GraphCommerce roadmap
15
15
 
16
16
  ## In progress
17
17
 
18
- - [ ] Algolia implementation
19
- - [ ] Dynamic Row based content
20
- - [ ] Product compare functionality
18
+ - [ ] Better authorization handling
19
+ - [ ] Hygraph schema migrations
21
20
  - [ ] Edge runtime for GraphQL Mesh and Streaming SSR rendering
22
21
  - [ ] Global store messages
23
22
 
@@ -25,6 +24,9 @@ The following overview contains the status of items on the GraphCommerce roadmap
25
24
 
26
25
  [See all releases](https://github.com/graphcommerce-org/graphcommerce/releases?q=prerelease%3Afalse+&expanded=true)
27
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)
28
30
  - [x] Google Tagmanager 4 datalayer implementation
29
31
  [docs ↗](https://github.com/graphcommerce-org/graphcommerce/tree/main/packages/googleanalytics)
30
32
  - [x] Paypal Express payment service
@@ -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