@graphcommerce/next-config 9.0.0-canary.98 → 9.0.0

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.
Files changed (69) hide show
  1. package/CHANGELOG.md +219 -1149
  2. package/__tests__/commands/copyFiles.ts +512 -0
  3. package/__tests__/config/utils/__snapshots__/mergeEnvIntoConfig.ts.snap +6 -0
  4. package/__tests__/config/utils/mergeEnvIntoConfig.ts +9 -20
  5. package/__tests__/config/utils/rewriteLegancyEnv.ts +32 -36
  6. package/__tests__/interceptors/findPlugins.ts +80 -74
  7. package/__tests__/interceptors/generateInterceptors.ts +78 -135
  8. package/__tests__/interceptors/parseStructure.ts +2 -2
  9. package/__tests__/utils/resolveDependenciesSync.ts +11 -10
  10. package/dist/commands/codegen.js +18 -0
  11. package/dist/commands/copyFiles.js +292 -0
  12. package/dist/commands/copyRoutes.js +20 -0
  13. package/dist/config/commands/exportConfig.js +1 -1
  14. package/dist/config/commands/generateConfig.js +2 -2
  15. package/dist/config/demoConfig.js +2 -2
  16. package/dist/config/utils/mergeEnvIntoConfig.js +18 -20
  17. package/dist/config/utils/rewriteLegacyEnv.js +2 -2
  18. package/dist/generated/config.js +13 -1
  19. package/dist/index.js +3 -1
  20. package/dist/interceptors/InterceptorPlugin.js +4 -3
  21. package/dist/interceptors/Visitor.js +5 -9
  22. package/dist/interceptors/commands/codegenInterceptors.js +2 -2
  23. package/dist/interceptors/extractExports.js +9 -54
  24. package/dist/interceptors/findOriginalSource.js +2 -1
  25. package/dist/interceptors/findPlugins.js +5 -8
  26. package/dist/interceptors/generateInterceptor.js +12 -10
  27. package/dist/interceptors/generateInterceptors.js +3 -2
  28. package/dist/interceptors/parseStructure.js +1 -1
  29. package/dist/interceptors/writeInterceptors.js +2 -2
  30. package/dist/utils/TopologicalSort.js +4 -0
  31. package/dist/utils/isMonorepo.js +40 -6
  32. package/dist/utils/resolveDependenciesSync.js +9 -2
  33. package/dist/utils/sig.js +34 -0
  34. package/dist/withGraphCommerce.js +3 -2
  35. package/package.json +17 -16
  36. package/src/commands/codegen.ts +18 -0
  37. package/src/commands/copyFiles.ts +328 -0
  38. package/src/config/commands/exportConfig.ts +1 -1
  39. package/src/config/commands/generateConfig.ts +3 -3
  40. package/src/config/demoConfig.ts +5 -5
  41. package/src/config/index.ts +1 -1
  42. package/src/config/utils/exportConfigToEnv.ts +1 -1
  43. package/src/config/utils/mergeEnvIntoConfig.ts +22 -25
  44. package/src/config/utils/replaceConfigInString.ts +1 -1
  45. package/src/config/utils/rewriteLegacyEnv.ts +5 -4
  46. package/src/generated/config.ts +36 -0
  47. package/src/index.ts +6 -5
  48. package/src/interceptors/InterceptorPlugin.ts +10 -7
  49. package/src/interceptors/RenameVisitor.ts +1 -1
  50. package/src/interceptors/Visitor.ts +10 -15
  51. package/src/interceptors/commands/codegenInterceptors.ts +2 -2
  52. package/src/interceptors/extractExports.ts +4 -46
  53. package/src/interceptors/findOriginalSource.ts +5 -4
  54. package/src/interceptors/findPlugins.ts +8 -9
  55. package/src/interceptors/generateInterceptor.ts +15 -12
  56. package/src/interceptors/generateInterceptors.ts +7 -13
  57. package/src/interceptors/parseStructure.ts +4 -4
  58. package/src/interceptors/swc.ts +2 -1
  59. package/src/interceptors/writeInterceptors.ts +3 -3
  60. package/src/utils/TopologicalSort.ts +4 -0
  61. package/src/utils/isMonorepo.ts +46 -5
  62. package/src/utils/packageRoots.ts +1 -1
  63. package/src/utils/resolveDependenciesSync.ts +14 -2
  64. package/src/utils/sig.ts +37 -0
  65. package/src/withGraphCommerce.ts +7 -5
  66. package/dist/config/commands/generateIntercetors.js +0 -9
  67. package/dist/interceptors/commands/generateIntercetors.js +0 -9
  68. package/dist/runtimeCachingOptimizations.js +0 -28
  69. package/src/runtimeCachingOptimizations.ts +0 -27
@@ -1,7 +1,7 @@
1
1
  import { formatAppliedEnv } from '../../../src/config/utils/mergeEnvIntoConfig'
2
2
  import { rewriteLegacyEnv } from '../../../src/config/utils/rewriteLegacyEnv'
3
- import { GraphCommerceConfig, GraphCommerceConfigSchema } from '../../../src/generated/config'
4
-
3
+ import type { GraphCommerceConfig } from '../../../src/generated/config'
4
+ import { GraphCommerceConfigSchema } from '../../../src/generated/config'
5
5
  export const removeColor = (str: string) =>
6
6
  str.replace(
7
7
  new RegExp(
@@ -13,7 +13,6 @@ export const removeColor = (str: string) =>
13
13
  ),
14
14
  '',
15
15
  )
16
-
17
16
  it('rewrites legacy env', () => {
18
17
  const configFile: GraphCommerceConfig = {
19
18
  storefront: [{ locale: 'en', hygraphLocales: ['en'], magentoStoreCode: 'en_us' }],
@@ -25,7 +24,6 @@ it('rewrites legacy env', () => {
25
24
  robotsAllow: true,
26
25
  magentoVersion: 246,
27
26
  }
28
-
29
27
  const legacyEnv = {
30
28
  GRAPHCMS_URL: 'https://api-eu-central-1.graphcms.com/v2/ckhx7xadya6xs01yxdujt8i80/master',
31
29
  MAGENTO_ENDPOINT: 'https://backend.reachdigital.dev/graphql',
@@ -43,40 +41,38 @@ it('rewrites legacy env', () => {
43
41
  DEMO_MAGENTO_GRAPHCOMMERCE: '1',
44
42
  SOME_KEY: 'bla',
45
43
  }
46
-
47
44
  const [, appliedRewrite] = rewriteLegacyEnv(GraphCommerceConfigSchema(), legacyEnv, configFile)
48
-
49
45
  expect(removeColor(formatAppliedEnv(appliedRewrite))).toMatchInlineSnapshot(`
50
46
  "warning - Loaded GraphCommerce env variables
51
- ‼ GRAPHCMS_URL='https://api-eu-central-1.graphcms.com/v2/ckhx7xadya6xs01yxdujt8i80/master' => should be renamed to GC_HYGRAPH_ENDPOINT='https://api-eu-central-1.graphcms.com/v2/ckhx7xadya6xs01yxdujt8i80/master'
52
- ‼ MAGENTO_ENDPOINT='https://backend.reachdigital.dev/graphql' => should be renamed to GC_MAGENTO_ENDPOINT='https://backend.reachdigital.dev/graphql'
53
- ‼ NEXT_PUBLIC_GRAPHQL_ENDPOINT='http://localhost:3000/api/graphql' => should be removed
54
- ‼ IMAGE_DOMAINS='backend.reachdigital.dev,media.graphcms.com,media.graphassets.com' => should be removed: will automatically add the Magento/Hygraph URL. For more advanced configurations, see: https://nextjs.org/docs/api-reference/next/image#configuration-options
55
- ‼ NEXT_PUBLIC_LOCALE_STORES='{"en-us": "en_US", "nl-nl": "nl_NL", "fr-be": "fr_BE", "nl-be": "nl_BE", "en-gb": "en_GB", "en-ca": "en_CA"}' => env variable is is modified, rewritten to GC_STOREFRONT.
56
- ‼ NEXT_PUBLIC_SITE_URL='https://graphcommerce.vercel.app/' => should be renamed to GC_CANONICAL_BASE_URL='https://graphcommerce.vercel.app/'
57
- ‼ NEXT_PUBLIC_GTM_ID='123' => should be renamed to GC_GOOGLE_TAGMANAGER_ID='123'
58
- ‼ NEXT_PUBLIC_GOOGLE_ANALYTICS='{"en-us": "G-111", "nl-nl": "G-222", "fr-be": "G-333", "nl-be": "G-444", "en-gb":"G-555", "en-ca": "G-666"}' => should be rewritten to GC_STOREFRONT_*_GOOGLE_ANALYTICS_ID
59
- ‼ NEXT_PUBLIC_GOOGLE_RECAPTCHA_V3_SITE_KEY='' => should be renamed to GC_GOOGLE_RECAPTCHA_KEY=''
60
- ‼ NEXT_PUBLIC_DISPLAY_INCL_TAX='nl,fr-be,nl-be,en-gb,eu' => env variable is renamed, move to configuration: cartDisplayPricesInclTax
61
- ‼ PREVIEW_SECRET='dya6xs01y' => should be renamed to GC_PREVIEW_SECRET='dya6xs01y'
62
- ‼ DEMO_MAGENTO_GRAPHCOMMERCE='1' => should be renamed to GC_DEMO_MODE='1'
63
- ~ GC_CANONICAL_BASE_URL='https://graphcommerce.vercel.app/' => canonicalBaseUrl: "https://example.com" => "https://graphcommerce.vercel.app/"
64
- + GC_DEMO_MODE='1' => demoMode: true
65
- + GC_GOOGLE_ANALYTICS_ID='enabled' => googleAnalyticsId: "enabled"
66
- + GC_GOOGLE_RECAPTCHA_KEY='' => googleRecaptchaKey: ""
67
- + GC_GOOGLE_TAGMANAGER_ID='123' => googleTagmanagerId: "123"
68
- ~ GC_HYGRAPH_ENDPOINT='https://api-eu-central-1.graphcms.com/v2/ckhx7xadya6xs01yxdujt8i80/master' => hygraphEndpoint: "https://example.com" => "https://api-eu-central-1.graphcms.com/v2/ckhx7xadya6xs01yxdujt8i80/master"
69
- ~ GC_MAGENTO_ENDPOINT='https://backend.reachdigital.dev/graphql' => magentoEndpoint: "https://example.com" => "https://backend.reachdigital.dev/graphql"
70
- ~ GC_PREVIEW_SECRET='dya6xs01y' => previewSecret: "secret" => "dya6xs01y"
71
- = GC_STOREFRONT='[{"locale":"en-us","magentoStoreCode":"en_US"},{"locale":"nl-nl","magentoStoreCode":"nl_NL"},{"locale":"fr-be","magentoStoreCode":"fr_BE"},{"locale":"nl-be","magentoStoreCode":"nl_BE"},{"locale":"en-gb","magentoStoreCode":"en_GB"},{"locale":"en-ca","magentoStoreCode":"en_CA"}]' => storefront: (ignored, no change/wrong format)
72
- + GC_STOREFRONT_0_GOOGLE_ANALYTICS_ID='G-111' => storefront.[0].googleAnalyticsId: "G-111"
73
- + GC_STOREFRONT_1_GOOGLE_ANALYTICS_ID='G-222' => storefront.[1].googleAnalyticsId: "G-222"
74
- + GC_STOREFRONT_2_CART_DISPLAY_PRICES_INCL_TAX='1' => storefront.[2].cartDisplayPricesInclTax: true
75
- + GC_STOREFRONT_2_GOOGLE_ANALYTICS_ID='G-333' => storefront.[2].googleAnalyticsId: "G-333"
76
- + GC_STOREFRONT_3_CART_DISPLAY_PRICES_INCL_TAX='1' => storefront.[3].cartDisplayPricesInclTax: true
77
- + GC_STOREFRONT_3_GOOGLE_ANALYTICS_ID='G-444' => storefront.[3].googleAnalyticsId: "G-444"
78
- + GC_STOREFRONT_4_CART_DISPLAY_PRICES_INCL_TAX='1' => storefront.[4].cartDisplayPricesInclTax: true
79
- + GC_STOREFRONT_4_GOOGLE_ANALYTICS_ID='G-555' => storefront.[4].googleAnalyticsId: "G-555"
80
- + GC_STOREFRONT_5_GOOGLE_ANALYTICS_ID='G-666' => storefront.[5].googleAnalyticsId: "G-666""
47
+ ‼ GRAPHCMS_URL => should be renamed to GC_HYGRAPH_ENDPOINT='https://api-eu-central-1.graphcms.com/v2/ckhx7xadya6xs01yxdujt8i80/master'
48
+ ‼ MAGENTO_ENDPOINT => should be renamed to GC_MAGENTO_ENDPOINT='https://backend.reachdigital.dev/graphql'
49
+ ‼ NEXT_PUBLIC_GRAPHQL_ENDPOINT => should be removed
50
+ ‼ IMAGE_DOMAINS => should be removed: will automatically add the Magento/Hygraph URL. For more advanced configurations, see: https://nextjs.org/docs/api-reference/next/image#configuration-options
51
+ ‼ NEXT_PUBLIC_LOCALE_STORES => env variable is is modified, rewritten to GC_STOREFRONT.
52
+ ‼ NEXT_PUBLIC_SITE_URL => should be renamed to GC_CANONICAL_BASE_URL='https://graphcommerce.vercel.app/'
53
+ ‼ NEXT_PUBLIC_GTM_ID => should be renamed to GC_GOOGLE_TAGMANAGER_ID='123'
54
+ ‼ NEXT_PUBLIC_GOOGLE_ANALYTICS => should be rewritten to GC_STOREFRONT_*_GOOGLE_ANALYTICS_ID
55
+ ‼ NEXT_PUBLIC_GOOGLE_RECAPTCHA_V3_SITE_KEY => should be renamed to GC_GOOGLE_RECAPTCHA_KEY=''
56
+ ‼ NEXT_PUBLIC_DISPLAY_INCL_TAX => env variable is renamed, move to configuration: cartDisplayPricesInclTax
57
+ ‼ PREVIEW_SECRET => should be renamed to GC_PREVIEW_SECRET='dya6xs01y'
58
+ ‼ DEMO_MAGENTO_GRAPHCOMMERCE => should be renamed to GC_DEMO_MODE='1'
59
+ ~ GC_CANONICAL_BASE_URL => canonicalBaseUrl
60
+ + GC_DEMO_MODE => demoMode
61
+ + GC_GOOGLE_ANALYTICS_ID => googleAnalyticsId
62
+ + GC_GOOGLE_RECAPTCHA_KEY => googleRecaptchaKey
63
+ + GC_GOOGLE_TAGMANAGER_ID => googleTagmanagerId
64
+ ~ GC_HYGRAPH_ENDPOINT => hygraphEndpoint
65
+ ~ GC_MAGENTO_ENDPOINT => magentoEndpoint
66
+ ~ GC_PREVIEW_SECRET => previewSecret
67
+ = GC_STOREFRONT => storefront: (ignored)
68
+ + GC_STOREFRONT_0_GOOGLE_ANALYTICS_ID => storefront.[0].googleAnalyticsId
69
+ + GC_STOREFRONT_1_GOOGLE_ANALYTICS_ID => storefront.[1].googleAnalyticsId
70
+ + GC_STOREFRONT_2_CART_DISPLAY_PRICES_INCL_TAX => storefront.[2].cartDisplayPricesInclTax
71
+ + GC_STOREFRONT_2_GOOGLE_ANALYTICS_ID => storefront.[2].googleAnalyticsId
72
+ + GC_STOREFRONT_3_CART_DISPLAY_PRICES_INCL_TAX => storefront.[3].cartDisplayPricesInclTax
73
+ + GC_STOREFRONT_3_GOOGLE_ANALYTICS_ID => storefront.[3].googleAnalyticsId
74
+ + GC_STOREFRONT_4_CART_DISPLAY_PRICES_INCL_TAX => storefront.[4].cartDisplayPricesInclTax
75
+ + GC_STOREFRONT_4_GOOGLE_ANALYTICS_ID => storefront.[4].googleAnalyticsId
76
+ + GC_STOREFRONT_5_GOOGLE_ANALYTICS_ID => storefront.[5].googleAnalyticsId"
81
77
  `)
82
78
  })
@@ -1,26 +1,57 @@
1
- import { GraphCommerceConfig } from '../../src/generated/config'
1
+ import type { GraphCommerceConfig } from '../../src/generated/config'
2
2
  import { findPlugins } from '../../src/interceptors/findPlugins'
3
3
 
4
4
  const projectRoot = `${process.cwd()}/examples/magento-graphcms`
5
-
6
5
  it('finds plugins', () => {
7
6
  const fakeconfig = {
8
7
  googleRecaptchaKey: '123',
9
8
  googleAnalyticsId: '123',
10
- // demoMode: true,
11
- debug: {
12
- pluginStatus: true,
13
- },
9
+ demoMode: true,
10
+ debug: { pluginStatus: true },
14
11
  } as GraphCommerceConfig
15
-
16
12
  const [plugins, errors] = findPlugins(fakeconfig, projectRoot)
17
13
  const disabled = plugins.filter((p) => !p.enabled)
18
14
  const enabled = plugins.filter((p) => p.enabled)
19
-
20
- expect(errors).toMatchInlineSnapshot(`[]`)
21
-
22
- expect(enabled).toMatchInlineSnapshot(`
15
+ expect(errors).toMatchInlineSnapshot('[]')
16
+ expect(enabled).toMatchInlineSnapshot(
17
+ `
23
18
  [
19
+ {
20
+ "enabled": true,
21
+ "ifConfig": "demoMode",
22
+ "sourceExport": "AddProductsToCartForm",
23
+ "sourceModule": "./plugins/EnableCrosssellsPlugin",
24
+ "targetExport": "AddProductsToCartForm",
25
+ "targetModule": "@graphcommerce/magento-product",
26
+ "type": "component",
27
+ },
28
+ {
29
+ "enabled": true,
30
+ "ifConfig": "demoMode",
31
+ "sourceExport": "RowLinks",
32
+ "sourceModule": "@graphcommerce/demo-magento-graphcommerce/plugins/demo/DemoRowLinks",
33
+ "targetExport": "RowLinks",
34
+ "targetModule": "@graphcommerce/next-ui",
35
+ "type": "component",
36
+ },
37
+ {
38
+ "enabled": true,
39
+ "ifConfig": "demoMode",
40
+ "sourceExport": "RecentlyViewedProducts",
41
+ "sourceModule": "@graphcommerce/demo-magento-graphcommerce/plugins/demo/DemoRecentlyViewedProducts",
42
+ "targetExport": "RecentlyViewedProducts",
43
+ "targetModule": "@graphcommerce/magento-recently-viewed-products",
44
+ "type": "component",
45
+ },
46
+ {
47
+ "enabled": true,
48
+ "ifConfig": "demoMode",
49
+ "sourceExport": "ProductListItemConfigurable",
50
+ "sourceModule": "@graphcommerce/demo-magento-graphcommerce/plugins/demo/DemoProductListItemConfigurable",
51
+ "targetExport": "ProductListItemConfigurable",
52
+ "targetModule": "@graphcommerce/magento-product-configurable",
53
+ "type": "component",
54
+ },
24
55
  {
25
56
  "enabled": true,
26
57
  "ifConfig": "googleAnalyticsId",
@@ -80,13 +111,13 @@ it('finds plugins', () => {
80
111
  "sourceExport": "hygraphPageContent",
81
112
  "sourceModule": "@graphcommerce/hygraph-dynamic-rows/plugins/hygraphDynamicRowsPageContent",
82
113
  "targetExport": "hygraphPageContent",
83
- "targetModule": "@graphcommerce/graphcms-ui",
114
+ "targetModule": "@graphcommerce/hygraph-ui",
84
115
  "type": "function",
85
116
  },
86
117
  {
87
118
  "enabled": true,
88
119
  "sourceExport": "previewModeDefaults",
89
- "sourceModule": "@graphcommerce/graphcms-ui/plugins/hygraphPreviewModeDefaults",
120
+ "sourceModule": "@graphcommerce/hygraph-ui/plugins/hygraphPreviewModeDefaults",
90
121
  "targetExport": "previewModeDefaults",
91
122
  "targetModule": "@graphcommerce/ecommerce-ui",
92
123
  "type": "function",
@@ -94,7 +125,7 @@ it('finds plugins', () => {
94
125
  {
95
126
  "enabled": true,
96
127
  "sourceExport": "graphqlConfig",
97
- "sourceModule": "@graphcommerce/graphcms-ui/plugins/hygraphGraphqlConfig",
128
+ "sourceModule": "@graphcommerce/hygraph-ui/plugins/hygraphGraphqlConfig",
98
129
  "targetExport": "graphqlConfig",
99
130
  "targetModule": "@graphcommerce/graphql",
100
131
  "type": "function",
@@ -102,7 +133,7 @@ it('finds plugins', () => {
102
133
  {
103
134
  "enabled": true,
104
135
  "sourceExport": "PreviewModeToolbar",
105
- "sourceModule": "@graphcommerce/graphcms-ui/plugins/HygraphPreviewModeToolbar",
136
+ "sourceModule": "@graphcommerce/hygraph-ui/plugins/HygraphPreviewModeToolbar",
106
137
  "targetExport": "PreviewModeToolbar",
107
138
  "targetModule": "@graphcommerce/ecommerce-ui",
108
139
  "type": "component",
@@ -211,14 +242,6 @@ it('finds plugins', () => {
211
242
  "targetModule": "@graphcommerce/magento-product",
212
243
  "type": "component",
213
244
  },
214
- {
215
- "enabled": true,
216
- "sourceExport": "ProductPageGallery",
217
- "sourceModule": "@graphcommerce/magento-product-configurable/plugins/ConfigurableProductPage/ConfigurableProductPageGallery",
218
- "targetExport": "ProductPageGallery",
219
- "targetModule": "@graphcommerce/magento-product",
220
- "type": "component",
221
- },
222
245
  {
223
246
  "enabled": true,
224
247
  "sourceExport": "CartItemActionCard",
@@ -261,17 +284,17 @@ it('finds plugins', () => {
261
284
  },
262
285
  {
263
286
  "enabled": true,
264
- "sourceExport": "getInContextInput",
287
+ "sourceExport": "getPrivateQueryContext",
265
288
  "sourceModule": "@graphcommerce/algolia-personalization/plugins/InContextInputAlgoliaUserToken",
266
- "targetExport": "getInContextInput",
289
+ "targetExport": "getPrivateQueryContext",
267
290
  "targetModule": "@graphcommerce/graphql",
268
291
  "type": "function",
269
292
  },
270
293
  {
271
294
  "enabled": true,
272
- "sourceExport": "useInContextInput",
295
+ "sourceExport": "usePrivateQueryContext",
273
296
  "sourceModule": "@graphcommerce/algolia-personalization/plugins/InContextInputAlgoliaUserToken",
274
- "targetExport": "useInContextInput",
297
+ "targetExport": "usePrivateQueryContext",
275
298
  "targetModule": "@graphcommerce/graphql",
276
299
  "type": "function",
277
300
  },
@@ -461,17 +484,17 @@ it('finds plugins', () => {
461
484
  },
462
485
  {
463
486
  "enabled": true,
464
- "sourceExport": "getInContextInput",
465
- "sourceModule": "@graphcommerce/magento-customer/plugins/magentoCustomerGetInContext",
466
- "targetExport": "getInContextInput",
487
+ "sourceExport": "getPrivateQueryContext",
488
+ "sourceModule": "@graphcommerce/magento-customer/plugins/magentoCustomerPrivateQueryContext",
489
+ "targetExport": "getPrivateQueryContext",
467
490
  "targetModule": "@graphcommerce/graphql",
468
491
  "type": "function",
469
492
  },
470
493
  {
471
494
  "enabled": true,
472
- "sourceExport": "useInContextInput",
473
- "sourceModule": "@graphcommerce/magento-customer/plugins/magentoCustomerGetInContext",
474
- "targetExport": "useInContextInput",
495
+ "sourceExport": "usePrivateQueryContext",
496
+ "sourceModule": "@graphcommerce/magento-customer/plugins/magentoCustomerPrivateQueryContext",
497
+ "targetExport": "usePrivateQueryContext",
475
498
  "targetModule": "@graphcommerce/graphql",
476
499
  "type": "function",
477
500
  },
@@ -497,10 +520,10 @@ it('finds plugins', () => {
497
520
  },
498
521
  {
499
522
  "enabled": true,
500
- "sourceExport": "graphqlConfig",
501
- "sourceModule": "@graphcommerce/magento-store/plugins/magentoStoreGraphqlConfig",
502
- "targetExport": "graphqlConfig",
503
- "targetModule": "@graphcommerce/graphql",
523
+ "sourceExport": "meshConfig",
524
+ "sourceModule": "@graphcommerce/magento-graphql/plugins/meshConfigAttrValue",
525
+ "targetExport": "meshConfig",
526
+ "targetModule": "@graphcommerce/graphql-mesh/meshConfig",
504
527
  "type": "function",
505
528
  },
506
529
  {
@@ -520,45 +543,10 @@ it('finds plugins', () => {
520
543
  "type": "function",
521
544
  },
522
545
  ]
523
- `)
546
+ `,
547
+ )
524
548
  expect(disabled).toMatchInlineSnapshot(`
525
549
  [
526
- {
527
- "enabled": false,
528
- "ifConfig": "demoMode",
529
- "sourceExport": "AddProductsToCartForm",
530
- "sourceModule": "./plugins/EnableCrosssellsPlugin",
531
- "targetExport": "AddProductsToCartForm",
532
- "targetModule": "@graphcommerce/magento-product",
533
- "type": "component",
534
- },
535
- {
536
- "enabled": false,
537
- "ifConfig": "demoMode",
538
- "sourceExport": "RowLinks",
539
- "sourceModule": "@graphcommerce/demo-magento-graphcommerce/plugins/demo/DemoRowLinks",
540
- "targetExport": "RowLinks",
541
- "targetModule": "@graphcommerce/next-ui",
542
- "type": "component",
543
- },
544
- {
545
- "enabled": false,
546
- "ifConfig": "demoMode",
547
- "sourceExport": "RecentlyViewedProducts",
548
- "sourceModule": "@graphcommerce/demo-magento-graphcommerce/plugins/demo/DemoRecentlyViewedProducts",
549
- "targetExport": "RecentlyViewedProducts",
550
- "targetModule": "@graphcommerce/magento-recently-viewed-products",
551
- "type": "component",
552
- },
553
- {
554
- "enabled": false,
555
- "ifConfig": "demoMode",
556
- "sourceExport": "ProductListItemConfigurable",
557
- "sourceModule": "@graphcommerce/demo-magento-graphcommerce/plugins/demo/DemoProductListItemConfigurable",
558
- "targetExport": "ProductListItemConfigurable",
559
- "targetModule": "@graphcommerce/magento-product-configurable",
560
- "type": "component",
561
- },
562
550
  {
563
551
  "enabled": false,
564
552
  "ifConfig": "recentlyViewedProducts.enabled",
@@ -667,6 +655,15 @@ it('finds plugins', () => {
667
655
  "targetModule": "@graphcommerce/magento-product",
668
656
  "type": "component",
669
657
  },
658
+ {
659
+ "enabled": false,
660
+ "ifConfig": "configurableVariantValues.gallery",
661
+ "sourceExport": "ProductPageGallery",
662
+ "sourceModule": "@graphcommerce/magento-product-configurable/plugins/ConfigurableProductPage/ConfigurableProductPageGallery",
663
+ "targetExport": "ProductPageGallery",
664
+ "targetModule": "@graphcommerce/magento-product",
665
+ "type": "component",
666
+ },
670
667
  {
671
668
  "enabled": false,
672
669
  "ifConfig": "configurableVariantValues.content",
@@ -721,6 +718,15 @@ it('finds plugins', () => {
721
718
  "targetModule": "@graphcommerce/framer-next-pages",
722
719
  "type": "component",
723
720
  },
721
+ {
722
+ "enabled": false,
723
+ "ifConfig": "debug.cart",
724
+ "sourceExport": "FramerNextPages",
725
+ "sourceModule": "@graphcommerce/magento-cart/plugins/CartDebuggerPlugin",
726
+ "targetExport": "FramerNextPages",
727
+ "targetModule": "@graphcommerce/framer-next-pages",
728
+ "type": "component",
729
+ },
724
730
  {
725
731
  "enabled": false,
726
732
  "ifConfig": "debug.sessions",