@graphcommerce/next-config 9.0.0-canary.101 → 9.0.0-canary.104

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 (48) hide show
  1. package/CHANGELOG.md +89 -1204
  2. package/__tests__/config/utils/mergeEnvIntoConfig.ts +5 -3
  3. package/__tests__/config/utils/rewriteLegancyEnv.ts +2 -1
  4. package/__tests__/interceptors/findPlugins.ts +14 -6
  5. package/__tests__/interceptors/generateInterceptors.ts +34 -35
  6. package/__tests__/interceptors/parseStructure.ts +2 -2
  7. package/__tests__/utils/resolveDependenciesSync.ts +1 -1
  8. package/dist/config/commands/exportConfig.js +1 -1
  9. package/dist/config/commands/generateConfig.js +1 -1
  10. package/dist/config/utils/mergeEnvIntoConfig.js +6 -6
  11. package/dist/config/utils/rewriteLegacyEnv.js +2 -2
  12. package/dist/interceptors/InterceptorPlugin.js +3 -3
  13. package/dist/interceptors/Visitor.js +4 -7
  14. package/dist/interceptors/commands/codegenInterceptors.js +2 -2
  15. package/dist/interceptors/extractExports.js +1 -0
  16. package/dist/interceptors/findOriginalSource.js +2 -1
  17. package/dist/interceptors/findPlugins.js +5 -8
  18. package/dist/interceptors/generateInterceptor.js +5 -5
  19. package/dist/interceptors/generateInterceptors.js +3 -2
  20. package/dist/interceptors/parseStructure.js +1 -1
  21. package/dist/interceptors/writeInterceptors.js +2 -2
  22. package/dist/utils/resolveDependenciesSync.js +3 -1
  23. package/dist/withGraphCommerce.js +1 -0
  24. package/package.json +12 -10
  25. package/src/config/commands/exportConfig.ts +1 -1
  26. package/src/config/commands/generateConfig.ts +1 -1
  27. package/src/config/demoConfig.ts +2 -2
  28. package/src/config/index.ts +1 -1
  29. package/src/config/utils/exportConfigToEnv.ts +1 -1
  30. package/src/config/utils/mergeEnvIntoConfig.ts +16 -18
  31. package/src/config/utils/replaceConfigInString.ts +1 -1
  32. package/src/config/utils/rewriteLegacyEnv.ts +5 -4
  33. package/src/index.ts +2 -1
  34. package/src/interceptors/InterceptorPlugin.ts +9 -7
  35. package/src/interceptors/RenameVisitor.ts +1 -1
  36. package/src/interceptors/Visitor.ts +7 -10
  37. package/src/interceptors/commands/codegenInterceptors.ts +2 -2
  38. package/src/interceptors/extractExports.ts +3 -0
  39. package/src/interceptors/findOriginalSource.ts +5 -4
  40. package/src/interceptors/findPlugins.ts +8 -9
  41. package/src/interceptors/generateInterceptor.ts +8 -7
  42. package/src/interceptors/generateInterceptors.ts +7 -13
  43. package/src/interceptors/parseStructure.ts +4 -4
  44. package/src/interceptors/swc.ts +2 -1
  45. package/src/interceptors/writeInterceptors.ts +3 -3
  46. package/src/utils/packageRoots.ts +1 -1
  47. package/src/utils/resolveDependenciesSync.ts +4 -1
  48. package/src/withGraphCommerce.ts +5 -3
@@ -3,7 +3,8 @@ import {
3
3
  formatAppliedEnv,
4
4
  mergeEnvIntoConfig,
5
5
  } from '../../../src/config/utils/mergeEnvIntoConfig'
6
- import { GraphCommerceConfig, GraphCommerceConfigSchema } from '../../../src/generated/config'
6
+ import type { GraphCommerceConfig } from '../../../src/generated/config'
7
+ import { GraphCommerceConfigSchema } from '../../../src/generated/config'
7
8
  import { removeColor } from './rewriteLegancyEnv'
8
9
 
9
10
  const env = {
@@ -17,7 +18,8 @@ const env = {
17
18
  GC_STOREFRONT_1_LOCALE: 'de',
18
19
  GC_STOREFRONT_1_HYGRAPH_LOCALES_0: 'de',
19
20
  GC_STOREFRONT_1_MAGENTO_STORE_CODE: 'de_de',
20
- GC_STOREFRONT: `[{"locale": "en", "defaultLocale": true, "hygraphLocales": ["en"], "magentoStoreCode": "en_us"}]`,
21
+ GC_STOREFRONT:
22
+ '[{"locale": "en", "defaultLocale": true, "hygraphLocales": ["en"], "magentoStoreCode": "en_us"}]',
21
23
  }
22
24
 
23
25
  it('traverses a schema and returns a list of env variables that match', () => {
@@ -93,7 +95,7 @@ it('converts an env schema to a config schema', () => {
93
95
 
94
96
  const environmentVariables = {
95
97
  GC_PRODUCT_FILTERS_PRO: '1',
96
- GC_STOREFRONT: `[{"defaultLocale": true }]`,
98
+ GC_STOREFRONT: '[{"defaultLocale": true }]',
97
99
  GC_STOREFRONT_0_LOCALE: 'de',
98
100
  }
99
101
 
@@ -1,6 +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'
3
+ import type { GraphCommerceConfig } from '../../../src/generated/config'
4
+ import { GraphCommerceConfigSchema } from '../../../src/generated/config'
4
5
 
5
6
  export const removeColor = (str: string) =>
6
7
  str.replace(
@@ -1,4 +1,4 @@
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`
@@ -17,7 +17,7 @@ it('finds plugins', () => {
17
17
  const disabled = plugins.filter((p) => !p.enabled)
18
18
  const enabled = plugins.filter((p) => p.enabled)
19
19
 
20
- expect(errors).toMatchInlineSnapshot(`[]`)
20
+ expect(errors).toMatchInlineSnapshot('[]')
21
21
 
22
22
  expect(enabled).toMatchInlineSnapshot(`
23
23
  [
@@ -80,13 +80,13 @@ it('finds plugins', () => {
80
80
  "sourceExport": "hygraphPageContent",
81
81
  "sourceModule": "@graphcommerce/hygraph-dynamic-rows/plugins/hygraphDynamicRowsPageContent",
82
82
  "targetExport": "hygraphPageContent",
83
- "targetModule": "@graphcommerce/graphcms-ui",
83
+ "targetModule": "@graphcommerce/hygraph-ui",
84
84
  "type": "function",
85
85
  },
86
86
  {
87
87
  "enabled": true,
88
88
  "sourceExport": "previewModeDefaults",
89
- "sourceModule": "@graphcommerce/graphcms-ui/plugins/hygraphPreviewModeDefaults",
89
+ "sourceModule": "@graphcommerce/hygraph-ui/plugins/hygraphPreviewModeDefaults",
90
90
  "targetExport": "previewModeDefaults",
91
91
  "targetModule": "@graphcommerce/ecommerce-ui",
92
92
  "type": "function",
@@ -94,7 +94,7 @@ it('finds plugins', () => {
94
94
  {
95
95
  "enabled": true,
96
96
  "sourceExport": "graphqlConfig",
97
- "sourceModule": "@graphcommerce/graphcms-ui/plugins/hygraphGraphqlConfig",
97
+ "sourceModule": "@graphcommerce/hygraph-ui/plugins/hygraphGraphqlConfig",
98
98
  "targetExport": "graphqlConfig",
99
99
  "targetModule": "@graphcommerce/graphql",
100
100
  "type": "function",
@@ -102,7 +102,7 @@ it('finds plugins', () => {
102
102
  {
103
103
  "enabled": true,
104
104
  "sourceExport": "PreviewModeToolbar",
105
- "sourceModule": "@graphcommerce/graphcms-ui/plugins/HygraphPreviewModeToolbar",
105
+ "sourceModule": "@graphcommerce/hygraph-ui/plugins/HygraphPreviewModeToolbar",
106
106
  "targetExport": "PreviewModeToolbar",
107
107
  "targetModule": "@graphcommerce/ecommerce-ui",
108
108
  "type": "component",
@@ -459,6 +459,14 @@ it('finds plugins', () => {
459
459
  "targetModule": "@graphcommerce/graphql",
460
460
  "type": "component",
461
461
  },
462
+ {
463
+ "enabled": true,
464
+ "sourceExport": "graphqlConfig",
465
+ "sourceModule": "@graphcommerce/magento-customer/plugins/magentoCustomerRemoveInContextDirective",
466
+ "targetExport": "graphqlConfig",
467
+ "targetModule": "@graphcommerce/graphql",
468
+ "type": "function",
469
+ },
462
470
  {
463
471
  "enabled": true,
464
472
  "sourceExport": "getInContextInput",
@@ -1,6 +1,6 @@
1
- import { GraphCommerceConfig } from '../../src/generated/config'
1
+ import type { GraphCommerceConfig } from '../../src/generated/config'
2
2
  import { findOriginalSource } from '../../src/interceptors/findOriginalSource'
3
- import { SOURCE_START, SOURCE_END } from '../../src/interceptors/generateInterceptor'
3
+ import { SOURCE_END, SOURCE_START } from '../../src/interceptors/generateInterceptor'
4
4
  import { generateInterceptors } from '../../src/interceptors/generateInterceptors'
5
5
  import { parseStructure } from '../../src/interceptors/parseStructure'
6
6
  import { parseSync } from '../../src/interceptors/swc'
@@ -11,7 +11,7 @@ const projectRoot = `${process.cwd()}/examples/magento-graphcms`
11
11
  const startLocation = '/** @see {@link file://'
12
12
 
13
13
  const expectImport = (value: string | undefined): jest.JestMatchers<string> =>
14
- expect(value?.slice(value.indexOf(`import`) - 1, value.indexOf(startLocation) - 1).trim())
14
+ expect(value?.slice(value.indexOf('import') - 1, value.indexOf(startLocation) - 1).trim())
15
15
 
16
16
  const expectInterceptor = (value: string | undefined): jest.JestMatchers<string> => {
17
17
  const val = value?.slice(value.indexOf(SOURCE_END) + SOURCE_END.length).trim()
@@ -28,7 +28,7 @@ const expectOriginal = (value: string | undefined): jest.JestMatchers<string> =>
28
28
  it('it replaces paths and creates a relative path', () => {
29
29
  const resolver = resolveDependency(projectRoot)
30
30
  const resolved = resolver('@graphcommerce/magento-cart-payment-method')
31
- expect(resolved?.fromRoot).toMatchInlineSnapshot(`"packages/magento-cart-payment-method/index"`)
31
+ expect(resolved?.fromRoot).toMatchInlineSnapshot('"packages/magento-cart-payment-method/index"')
32
32
  expect(resolved?.fromModule).toBe('.')
33
33
  expect(resolved?.root).toBe('packages/magento-cart-payment-method')
34
34
 
@@ -36,7 +36,7 @@ it('it replaces paths and creates a relative path', () => {
36
36
  '@graphcommerce/magento-cart-payment-method/PaymentMethodContext/PaymentMethodContext',
37
37
  )
38
38
  expect(resolved2?.fromRoot).toMatchInlineSnapshot(
39
- `"packages/magento-cart-payment-method/PaymentMethodContext/PaymentMethodContext"`,
39
+ '"packages/magento-cart-payment-method/PaymentMethodContext/PaymentMethodContext"',
40
40
  )
41
41
  expect(resolved2?.fromModule).toBe('./PaymentMethodContext')
42
42
  expect(resolved2?.root).toBe('packages/magento-cart-payment-method')
@@ -119,7 +119,7 @@ it("resolves a 'root plugin' to be relative to the interceptor", async () => {
119
119
  )
120
120
 
121
121
  expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(
122
- `"packages/magento-cart-payment-method/PaymentMethodContext/PaymentMethodContext"`,
122
+ '"packages/magento-cart-payment-method/PaymentMethodContext/PaymentMethodContext"',
123
123
  )
124
124
  expectImport(
125
125
  interceptors['packages/magento-cart-payment-method/PaymentMethodContext/PaymentMethodContext']
@@ -262,7 +262,7 @@ it('correctly renames all variable usages', async () => {
262
262
  )
263
263
 
264
264
  expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(
265
- `"packages/magento-product/components/ProductListItem/ProductListItem"`,
265
+ '"packages/magento-product/components/ProductListItem/ProductListItem"',
266
266
  )
267
267
 
268
268
  const template =
@@ -288,7 +288,7 @@ it('it handles root plugins', async () => {
288
288
  )
289
289
 
290
290
  expect(interceptors['packages/magento-product/index']?.template).toMatchInlineSnapshot(
291
- `undefined`,
291
+ 'undefined',
292
292
  )
293
293
  })
294
294
 
@@ -310,13 +310,13 @@ it('it handles root plugins and creates a relative path', async () => {
310
310
  )
311
311
 
312
312
  expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(
313
- `"packages/next-ui/Overlay/components/OverlayBase"`,
313
+ '"packages/next-ui/Overlay/components/OverlayBase"',
314
314
  )
315
315
 
316
316
  expect(
317
317
  interceptors['packages/next-ui/Overlay/components/OverlayBase'].targetExports.OverlayBase[0]
318
318
  .sourceModule,
319
- ).toMatchInlineSnapshot(`"../../../../examples/magento-graphcms/plugins/EnableCrosssellsPlugin"`)
319
+ ).toMatchInlineSnapshot('"../../../../examples/magento-graphcms/plugins/EnableCrosssellsPlugin"')
320
320
  })
321
321
 
322
322
  it('generates method interceptors alognside component interceptors', async () => {
@@ -345,7 +345,7 @@ it('generates method interceptors alognside component interceptors', async () =>
345
345
  enabled: true,
346
346
  sourceExport: 'Plugin',
347
347
  targetModule: '@graphcommerce/graphql',
348
- sourceModule: '@graphcommerce/magento-hygraph/plugins/hygraphInitMemoryCache',
348
+ sourceModule: '@graphcommerce/magento-graphcms/plugins/hygraphInitMemoryCache',
349
349
  },
350
350
  ],
351
351
  resolve,
@@ -390,7 +390,7 @@ it('adds debug logging to interceptors for components', async () => {
390
390
  enabled: true,
391
391
  sourceExport: 'plugin',
392
392
  targetModule: '@graphcommerce/graphql',
393
- sourceModule: '@graphcommerce/magento-hygraph/plugins/hygraphInitMemoryCache',
393
+ sourceModule: '@graphcommerce/magento-graphcms/plugins/hygraphInitMemoryCache',
394
394
  },
395
395
  ],
396
396
  resolve,
@@ -398,15 +398,15 @@ it('adds debug logging to interceptors for components', async () => {
398
398
  )
399
399
 
400
400
  expectImport(interceptors['packages/graphql/config']?.template).toMatchInlineSnapshot(`
401
- "import { plugin as pluginmagentoInitMemoryCache } from '@graphcommerce/magento-graphql/plugins/magentoInitMemoryCache'
402
- import { plugin as pluginhygraphInitMemoryCache } from '@graphcommerce/magento-hygraph/plugins/hygraphInitMemoryCache'"
401
+ "import { plugin as pluginhygraphInitMemoryCache } from '@graphcommerce/magento-graphcms/plugins/hygraphInitMemoryCache'
402
+ import { plugin as pluginmagentoInitMemoryCache } from '@graphcommerce/magento-graphql/plugins/magentoInitMemoryCache'"
403
403
  `)
404
404
 
405
405
  expectOriginal(interceptors['packages/graphql/config']?.template).toMatchInlineSnapshot(`
406
- "import { ApolloLink, TypePolicies } from '@apollo/client'
406
+ "import type { ApolloLink, TypePolicies } from '@apollo/client'
407
407
  import type { GraphCommerceStorefrontConfig } from '@graphcommerce/next-config'
408
408
  import type { SetRequired } from 'type-fest'
409
- import { MigrateCache } from './components/GraphQLProvider/migrateCache'
409
+ import type { MigrateCache } from './components/GraphQLProvider/migrateCache'
410
410
  export interface PreviewData {}
411
411
  export type PreviewConfig = {
412
412
  preview?: boolean
@@ -488,7 +488,7 @@ it('correctly resolves when a source can not be parsed', async () => {
488
488
  )
489
489
 
490
490
  expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(
491
- `"packages/next-ui/Row/RowLinks/RowLinks"`,
491
+ '"packages/next-ui/Row/RowLinks/RowLinks"',
492
492
  )
493
493
  })
494
494
 
@@ -508,7 +508,7 @@ it('can correctly find the source for deeper chained exports', () => {
508
508
  )
509
509
  expect(originalSource.error).toBeUndefined()
510
510
  expect(originalSource.resolved?.dependency).toMatchInlineSnapshot(
511
- `"@graphcommerce/next-ui/Blog/BlogTags/BlogTag"`,
511
+ '"@graphcommerce/next-ui/Blog/BlogTags/BlogTag"',
512
512
  )
513
513
  })
514
514
 
@@ -529,17 +529,17 @@ it('Should apply overrides to the correct file', async () => {
529
529
  )
530
530
 
531
531
  expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(
532
- `"packages/magento-product/components/ProductStaticPaths/getProductStaticPaths"`,
532
+ '"packages/magento-product/components/ProductStaticPaths/getProductStaticPaths"',
533
533
  )
534
534
 
535
535
  const result =
536
536
  interceptors['packages/magento-product/components/ProductStaticPaths/getProductStaticPaths']
537
537
  ?.template
538
538
  expectImport(result).toMatchInlineSnapshot(
539
- `"import { getProductStaticPaths as getProductStaticPathsreplaceGetProductStaticPaths } from '../../../../plugins/replaceGetProductStaticPaths'"`,
539
+ '"import { getProductStaticPaths as getProductStaticPathsreplaceGetProductStaticPaths } from \'../../../../plugins/replaceGetProductStaticPaths\'"',
540
540
  )
541
541
 
542
- expectOriginal(result).toContain(`getProductStaticPathsDisabled`)
542
+ expectOriginal(result).toContain('getProductStaticPathsDisabled')
543
543
  })
544
544
 
545
545
  it('correctly reports an error for an incorrect export', async () => {
@@ -547,7 +547,7 @@ it('correctly reports an error for an incorrect export', async () => {
547
547
  googleRecaptchaKey: '123',
548
548
  googleAnalyticsId: '123',
549
549
  demoMode: true,
550
- } as GraphCommerceConfig
550
+ } as unknown as GraphCommerceConfig
551
551
 
552
552
  const src = `
553
553
  import { getSitemapPaths as getSitemapPathsType } from '@graphcommerce/magento-product'
@@ -566,15 +566,14 @@ export const plugin: FunctionPlugin<typeof getSitemapPathsType> = (prev, ...args
566
566
  console.error = jest.fn()
567
567
  const plugins = parseStructure(parseSync(src), fakeconfig, './plugins/MyPlugin.tsx')
568
568
 
569
- // @ts-expect-error mock not typed
570
- expect(console.error.mock.calls[0][0]).toMatchInlineSnapshot(
571
- `"Plugin configuration invalid! See ./plugins/MyPlugin.tsx"`,
569
+ expect((console.error as jest.Mock).mock.calls[0][0]).toMatchInlineSnapshot(
570
+ '"Plugin configuration invalid! See ./plugins/MyPlugin.tsx"',
572
571
  )
573
572
 
574
- expect(plugins).toMatchInlineSnapshot(`[]`)
573
+ expect(plugins).toMatchInlineSnapshot('[]')
575
574
  const result = await generateInterceptors(plugins, resolveDependency(projectRoot))
576
575
 
577
- expect(Object.keys(result)).toMatchInlineSnapshot(`[]`)
576
+ expect(Object.keys(result)).toMatchInlineSnapshot('[]')
578
577
  })
579
578
 
580
579
  it('generated a correct file if a replacement and a plugin is applied to the same export', async () => {
@@ -616,7 +615,7 @@ export const Plugin = ConfigurableProductPageName
616
615
  demoMode: true,
617
616
  configurableVariantForSimple: true,
618
617
  configurableVariantValues: { content: true, gallery: true, url: true },
619
- } as GraphCommerceConfig
618
+ } as unknown as GraphCommerceConfig
620
619
 
621
620
  const firstFile = parseStructure(parseSync(src1), config, './plugins/MyPlugin')
622
621
 
@@ -654,7 +653,7 @@ export const Plugin = ConfigurableProductPageName
654
653
  const interceptors = await generateInterceptors(plugins, resolveDependency(projectRoot))
655
654
 
656
655
  expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(
657
- `"packages/magento-product/components/ProductPageName/ProductPageName"`,
656
+ '"packages/magento-product/components/ProductPageName/ProductPageName"',
658
657
  )
659
658
 
660
659
  const result =
@@ -668,11 +667,11 @@ export const Plugin = ConfigurableProductPageName
668
667
  `)
669
668
 
670
669
  expectOriginal(result).toMatchInlineSnapshot(`
671
- "import { ProductPageNameFragment } from './ProductPageName.gql'
670
+ "import type { ProductPageNameFragment } from './ProductPageName.gql'
672
671
  export type ProductPageNameProps = {
673
672
  product: ProductPageNameFragment
674
673
  }
675
- export const ProductPageNameDisabled = (props: ProductPageNameProps) => {
674
+ export function ProductPageNameDisabled(props: ProductPageNameProps) {
676
675
  const { product } = props
677
676
  return <>{product.name}</>
678
677
  }"
@@ -715,9 +714,9 @@ it('generates to a .ts file when the target file is a .ts as well', async () =>
715
714
  resolve,
716
715
  )
717
716
 
718
- expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(`"packages/graphql/config"`)
717
+ expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot('"packages/graphql/config"')
719
718
  const interceptor = interceptors['packages/graphql/config']
720
- expect(interceptor.sourcePath).toBe(`packages/graphql/config.ts`)
719
+ expect(interceptor.sourcePath).toBe('packages/graphql/config.ts')
721
720
  })
722
721
 
723
722
  it.todo('Should report an error when multiple files are overriding the same export')
@@ -742,12 +741,12 @@ it('Can correctly find exports that are default exports', async () => {
742
741
  demoMode: true,
743
742
  configurableVariantForSimple: true,
744
743
  configurableVariantValues: { content: true, gallery: true, url: true },
745
- } as GraphCommerceConfig
744
+ } as unknown as GraphCommerceConfig
746
745
 
747
746
  const plugins = parseStructure(parseSync(pluginSource), config, './plugins/MyProjectIcon')
748
747
 
749
748
  const interceptors = await generateInterceptors(plugins, resolveDependency(projectRoot))
750
- expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot(`"packages/next-ui/icons"`)
749
+ expect(Object.keys(interceptors)[0]).toMatchInlineSnapshot('"packages/next-ui/icons"')
751
750
 
752
751
  const result = interceptors['packages/next-ui/icons']?.template
753
752
 
@@ -1,4 +1,4 @@
1
- import { GraphCommerceConfig } from '../../src/generated/config'
1
+ import type { GraphCommerceConfig } from '../../src/generated/config'
2
2
  import { parseStructure } from '../../src/interceptors/parseStructure'
3
3
  import { parseSync } from '../../src/interceptors/swc'
4
4
 
@@ -204,7 +204,7 @@ export const Plugin = AddAdyenMethods
204
204
  "type": "component",
205
205
  }
206
206
  `)
207
- expect(plugins[1]).toMatchInlineSnapshot(`undefined`)
207
+ expect(plugins[1]).toMatchInlineSnapshot('undefined')
208
208
  })
209
209
 
210
210
  it('correctly allows false value in the ifConfig', () => {
@@ -16,7 +16,7 @@ it('resolves dependences', () => {
16
16
  "@graphcommerce/googlerecaptcha" => "packages/googlerecaptcha",
17
17
  "@graphcommerce/googletagmanager" => "packages/googletagmanager",
18
18
  "@graphcommerce/hygraph-dynamic-rows" => "packages/hygraph-dynamic-rows",
19
- "@graphcommerce/graphcms-ui" => "packages/hygraph-ui",
19
+ "@graphcommerce/hygraph-ui" => "packages/hygraph-ui",
20
20
  "@graphcommerce/magento-cart-billing-address" => "packages/magento-cart-billing-address",
21
21
  "@graphcommerce/magento-cart-checkout" => "packages/magento-cart-checkout",
22
22
  "@graphcommerce/magento-cart-coupon" => "packages/magento-cart-coupon",
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.exportConfig = exportConfig;
7
+ const dotenv_1 = __importDefault(require("dotenv"));
7
8
  const loadConfig_1 = require("../loadConfig");
8
9
  const exportConfigToEnv_1 = require("../utils/exportConfigToEnv");
9
- const dotenv_1 = __importDefault(require("dotenv"));
10
10
  dotenv_1.default.config();
11
11
  // eslint-disable-next-line @typescript-eslint/require-await
12
12
  async function exportConfig() {
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.generateConfig = generateConfig;
7
- const fs_1 = require("fs");
8
7
  // eslint-disable-next-line import/no-extraneous-dependencies
9
8
  const cli_1 = require("@graphql-codegen/cli");
10
9
  const core_1 = require("@swc/core");
11
10
  const dotenv_1 = __importDefault(require("dotenv"));
11
+ const fs_1 = require("fs");
12
12
  const isMonorepo_1 = require("../../utils/isMonorepo");
13
13
  const resolveDependenciesSync_1 = require("../../utils/resolveDependenciesSync");
14
14
  const resolveDependency_1 = require("../../utils/resolveDependency");
@@ -53,7 +53,7 @@ function configToEnvSchema(schema) {
53
53
  envSchema[(0, exports.toEnvStr)(path)] = zod_1.z
54
54
  .string()
55
55
  .optional()
56
- .refine(isJSON, { message: `Invalid JSON` })
56
+ .refine(isJSON, { message: 'Invalid JSON' })
57
57
  .transform((val) => (val ? JSON.parse(val) : val));
58
58
  envToDot[(0, exports.toEnvStr)(path)] = (0, exports.dotNotation)(path);
59
59
  }
@@ -69,7 +69,7 @@ function configToEnvSchema(schema) {
69
69
  envSchema[(0, exports.toEnvStr)(path)] = zod_1.z
70
70
  .string()
71
71
  .optional()
72
- .refine(isJSON, { message: `Invalid JSON` })
72
+ .refine(isJSON, { message: 'Invalid JSON' })
73
73
  .transform((val) => (val ? JSON.parse(val) : val));
74
74
  envToDot[(0, exports.toEnvStr)(path)] = (0, exports.dotNotation)(path);
75
75
  }
@@ -176,11 +176,11 @@ function formatAppliedEnv(applyResult) {
176
176
  return ` ${chalk_1.default.red('-')} ${baseLog}: ${fromFmt}`;
177
177
  return ` ${chalk_1.default.yellowBright('~')} ${baseLog}: ${fromFmt} => ${toFmt}`;
178
178
  });
179
- let header = chalk_1.default.blueBright(`info`);
179
+ let header = chalk_1.default.blueBright('info');
180
180
  if (hasWarning)
181
- header = chalk_1.default.yellowBright(`warning`);
181
+ header = chalk_1.default.yellowBright('warning');
182
182
  if (hasError)
183
- header = chalk_1.default.yellowBright(`error`);
184
- header += ` - Loaded GraphCommerce env variables`;
183
+ header = chalk_1.default.yellowBright('error');
184
+ header += ' - Loaded GraphCommerce env variables';
185
185
  return [header, ...lines].join('\n');
186
186
  }
@@ -22,7 +22,7 @@ function rewriteLegacyEnv(schema, env, config = {}) {
22
22
  function notUsed() {
23
23
  return (envVar, envValue) => {
24
24
  applied.push({
25
- warning: [`should be removed`],
25
+ warning: ['should be removed'],
26
26
  envVar,
27
27
  envValue,
28
28
  });
@@ -35,7 +35,7 @@ function rewriteLegacyEnv(schema, env, config = {}) {
35
35
  IMAGE_DOMAINS: (envVar, envValue) => {
36
36
  applied.push({
37
37
  warning: [
38
- `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`,
38
+ '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',
39
39
  ],
40
40
  envVar,
41
41
  envValue,
@@ -29,9 +29,9 @@ class InterceptorPlugin {
29
29
  if (generating)
30
30
  return {};
31
31
  generating = true;
32
- const start = Date.now();
32
+ // const start = Date.now()
33
33
  // console.log('Generating interceptors...')
34
- const [plugins, errors] = (0, findPlugins_1.findPlugins)(this.config);
34
+ const [plugins] = (0, findPlugins_1.findPlugins)(this.config);
35
35
  // console.log(errors)
36
36
  // const found = Date.now()
37
37
  // console.log('Found plugins in', found - start, 'ms')
@@ -64,7 +64,7 @@ class InterceptorPlugin {
64
64
  });
65
65
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
66
66
  this.#generateInterceptors().then((i) => {
67
- Object.entries(i).forEach(([key, { sourcePath }]) => {
67
+ Object.entries(i).forEach(([, { sourcePath }]) => {
68
68
  const absoluteFilePath = path_1.default.join(process.cwd(), sourcePath);
69
69
  compilation.fileDependencies.add(absoluteFilePath);
70
70
  });
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
- /**
3
- * This is an implementation of
4
- * https://github.com/swc-project/swc/blob/main/node-swc/src/Visitor.ts
5
- *
6
- * The JS API is deprecated, but there doesn't seem to be a valid alternative at this point.
7
- */
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.Visitor = void 0;
4
+ /* eslint-disable no-param-reassign */
5
+ /* eslint-disable class-methods-use-this */
6
+ /* eslint-disable consistent-return */
10
7
  /**
11
8
  * @deprecated JavaScript API is deprecated. Please use Wasm plugin instead.
12
9
  */
@@ -594,7 +591,7 @@ class Visitor {
594
591
  return n;
595
592
  }
596
593
  visitTsFnParameters(params) {
597
- return params?.map(this.visitTsFnParameter.bind(this));
594
+ return params.map(this.visitTsFnParameter.bind(this));
598
595
  }
599
596
  visitTsFnParameter(n) {
600
597
  n.typeAnnotation = this.visitTsTypeAnnotation(n.typeAnnotation);
@@ -4,17 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.codegenInterceptors = codegenInterceptors;
7
+ const dotenv_1 = __importDefault(require("dotenv"));
7
8
  const loadConfig_1 = require("../../config/loadConfig");
8
9
  const resolveDependency_1 = require("../../utils/resolveDependency");
9
10
  const findPlugins_1 = require("../findPlugins");
10
11
  const generateInterceptors_1 = require("../generateInterceptors");
11
12
  const writeInterceptors_1 = require("../writeInterceptors");
12
- const dotenv_1 = __importDefault(require("dotenv"));
13
13
  dotenv_1.default.config();
14
14
  // eslint-disable-next-line @typescript-eslint/require-await
15
15
  async function codegenInterceptors() {
16
16
  const conf = (0, loadConfig_1.loadConfig)(process.cwd());
17
- const [plugins, errors] = (0, findPlugins_1.findPlugins)(conf);
17
+ const [plugins] = (0, findPlugins_1.findPlugins)(conf);
18
18
  const generatedInterceptors = await (0, generateInterceptors_1.generateInterceptors)(plugins, (0, resolveDependency_1.resolveDependency)(), conf.debug, true);
19
19
  // const generated = Date.now()
20
20
  // console.log('Generated interceptors in', generated - found, 'ms')
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.RUNTIME_VALUE = exports.UnsupportedValueError = exports.NoSuchDeclarationError = void 0;
4
5
  exports.extractExports = extractExports;
@@ -26,6 +26,7 @@ function parseAndFindExport(resolved, findExport, resolve) {
26
26
  return resolved;
27
27
  }
28
28
  else {
29
+ // eslint-disable-next-line no-console
29
30
  console.log(declaration);
30
31
  }
31
32
  }
@@ -76,7 +77,7 @@ function parseAndFindExport(resolved, findExport, resolve) {
76
77
  }
77
78
  return undefined;
78
79
  }
79
- const cachedResults = new Map();
80
+ // const cachedResults = new Map<string, ResolveDependencyReturn>()
80
81
  function findOriginalSource(plug, resolved, resolve) {
81
82
  if (!resolved?.source)
82
83
  return {
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.findPlugins = findPlugins;
7
- // eslint-disable-next-line import/no-extraneous-dependencies
8
4
  const core_1 = require("@swc/core");
9
- const chalk_1 = __importDefault(require("chalk"));
10
- // eslint-disable-next-line import/no-extraneous-dependencies
11
5
  const glob_1 = require("glob");
12
6
  const resolveDependenciesSync_1 = require("../utils/resolveDependenciesSync");
13
7
  const parseStructure_1 = require("./parseStructure");
14
8
  const pluginLogs = {};
9
+ // ANSI escape codes for console colors
10
+ const GREEN = '\x1b[32m';
11
+ const RESET = '\x1b[0m';
15
12
  function findPlugins(config, cwd = process.cwd()) {
16
13
  const dependencies = (0, resolveDependenciesSync_1.resolveDependenciesSync)(cwd);
17
14
  const debug = Boolean(config.debug?.pluginStatus);
@@ -38,7 +35,7 @@ function findPlugins(config, cwd = process.cwd()) {
38
35
  });
39
36
  if (process.env.NODE_ENV === 'development' && debug) {
40
37
  const byExported = plugins.reduce((acc, plugin) => {
41
- const key = `🔌 ${chalk_1.default.greenBright(`Plugins loaded for ${plugin.targetModule}#${plugin.targetExport}`)}`;
38
+ const key = `🔌 ${GREEN}Plugins loaded for ${plugin.targetModule}#${plugin.targetExport}${RESET}`;
42
39
  if (!acc[key])
43
40
  acc[key] = [];
44
41
  acc[key].push(plugin);
@@ -55,7 +52,7 @@ function findPlugins(config, cwd = process.cwd()) {
55
52
  ? `${c.ifConfig[0]}=${c.ifConfig[1]}`
56
53
  : `${c.ifConfig}`
57
54
  : '';
58
- return `${c.enabled ? `🟢` : `⚪️`} ${c.sourceModule} ${ifConfigStr}`;
55
+ return `${c.enabled ? '🟢' : '⚪️'} ${c.sourceModule} ${ifConfigStr}`;
59
56
  })
60
57
  .join('\n');
61
58
  if (logStr && pluginLogs[key] !== logStr) {
@@ -44,7 +44,6 @@ function isPluginConfig(plugin) {
44
44
  exports.SOURCE_START = '/** Original source starts here (do not modify!): **/';
45
45
  exports.SOURCE_END = '/** Original source ends here (do not modify!) **/';
46
46
  const originalSuffix = 'Original';
47
- const sourceSuffix = 'Plugin';
48
47
  const interceptorSuffix = 'Interceptor';
49
48
  const disabledSuffix = 'Disabled';
50
49
  const name = (plugin) => `${plugin.sourceExport}${plugin.sourceModule
@@ -130,15 +129,15 @@ async function generateInterceptor(interceptor, config, oldInterceptorSource) {
130
129
  result = `
131
130
  type ${interceptorPropsName(name(p))} = ${carryProps.join(' & ')} & OmitPrev<React.ComponentProps<typeof ${sourceName(name(p))}>, 'Prev'>
132
131
 
133
- const ${interceptorName(name(p))} = (props: ${interceptorPropsName(name(p))}) => ${withBraces ? `{` : '('}
132
+ const ${interceptorName(name(p))} = (props: ${interceptorPropsName(name(p))}) => ${withBraces ? '{' : '('}
134
133
  ${config.pluginStatus ? `logOnce(\`🔌 Rendering ${base} with plugin(s): ${wrapChain} wrapping <${base}/>\`)` : ''}
135
134
 
136
135
  ${process.env.NODE_ENV === 'development'
137
136
  ? `if(!props['data-plugin'])
138
137
  logOnce('${fileName(p)} does not spread props to prev: <Prev {...props}/>. This will cause issues if multiple plugins are applied to this component.')`
139
138
  : ''}
140
- ${withBraces ? `return` : ''} <${sourceName(name(p))} {...props} Prev={${carry}} />
141
- ${withBraces ? `}` : ')'}`;
139
+ ${withBraces ? 'return' : ''} <${sourceName(name(p))} {...props} Prev={${carry}} />
140
+ ${withBraces ? '}' : ')'}`;
142
141
  carryProps = [interceptorPropsName(name(p))];
143
142
  pluginSee.push(`@see {${sourceName(name(p))}} for source of applied plugin`);
144
143
  }
@@ -194,7 +193,7 @@ async function generateInterceptor(interceptor, config, oldInterceptorSource) {
194
193
  /* eslint-disable */
195
194
  /* This file is automatically generated for ${dependency} */
196
195
  ${Object.values(targetExports).some((t) => t.some((p) => p.type === 'component'))
197
- ? `import type { DistributedOmit as OmitPrev } from 'type-fest'`
196
+ ? "import type { DistributedOmit as OmitPrev } from 'type-fest'"
198
197
  : ''}
199
198
 
200
199
  ${pluginImports}
@@ -210,6 +209,7 @@ async function generateInterceptor(interceptor, config, oldInterceptorSource) {
210
209
  templateFormatted = await prettier_1.default.format(template, { ...prettier_config_pwa_1.default, parser: 'typescript' });
211
210
  }
212
211
  catch (e) {
212
+ // eslint-disable-next-line no-console
213
213
  console.log('Error formatting interceptor: ', e, 'using raw template.');
214
214
  templateFormatted = template;
215
215
  }