@graphcommerce/next-config 9.0.4-canary.0 → 9.0.4-canary.10
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 +28 -8
- package/__tests__/commands/copyFiles.ts +8 -5
- package/__tests__/config/utils/__snapshots__/mergeEnvIntoConfig.ts.snap +0 -905
- package/__tests__/config/utils/mergeEnvIntoConfig.ts +21 -3
- package/__tests__/config/utils/replaceConfigInString.ts +0 -1
- package/__tests__/interceptors/findPlugins.ts +270 -272
- package/__tests__/interceptors/generateInterceptors.ts +1 -0
- package/__tests__/utils/resolveDependenciesSync.ts +45 -44
- package/dist/generated/config.js +110 -116
- package/dist/index.js +3359 -26
- package/package.json +34 -8
- package/src/commands/codegen.ts +3 -3
- package/src/commands/copyFiles.ts +14 -7
- package/src/config/commands/generateConfig.ts +17 -6
- package/src/config/demoConfig.ts +0 -1
- package/src/config/loadConfig.ts +3 -9
- package/src/config/utils/mergeEnvIntoConfig.ts +9 -9
- package/src/generated/config.ts +305 -245
- package/src/interceptors/Visitor.ts +1 -1
- package/src/interceptors/findOriginalSource.ts +1 -1
- package/src/interceptors/generateInterceptor.ts +0 -2
- package/src/interceptors/parseStructure.ts +3 -3
- package/src/interceptors/writeInterceptors.ts +1 -1
- package/src/utils/resolveDependenciesSync.ts +44 -7
- package/src/withGraphCommerce.ts +30 -42
- package/tsconfig.json +1 -1
- package/__tests__/config/utils/rewriteLegancyEnv.ts +0 -78
- package/dist/commands/codegen.js +0 -18
- package/dist/commands/copyFiles.js +0 -292
- package/dist/config/commands/exportConfig.js +0 -16
- package/dist/config/commands/generateConfig.js +0 -57
- package/dist/config/demoConfig.js +0 -52
- package/dist/config/index.js +0 -19
- package/dist/config/loadConfig.js +0 -62
- package/dist/config/utils/configToImportMeta.js +0 -39
- package/dist/config/utils/diff.js +0 -33
- package/dist/config/utils/exportConfigToEnv.js +0 -31
- package/dist/config/utils/mergeEnvIntoConfig.js +0 -184
- package/dist/config/utils/replaceConfigInString.js +0 -12
- package/dist/config/utils/rewriteLegacyEnv.js +0 -115
- package/dist/interceptors/InterceptorPlugin.js +0 -108
- package/dist/interceptors/RenameVisitor.js +0 -19
- package/dist/interceptors/Visitor.js +0 -1414
- package/dist/interceptors/commands/codegenInterceptors.js +0 -22
- package/dist/interceptors/extractExports.js +0 -159
- package/dist/interceptors/findOriginalSource.js +0 -103
- package/dist/interceptors/findPlugins.js +0 -68
- package/dist/interceptors/generateInterceptor.js +0 -219
- package/dist/interceptors/generateInterceptors.js +0 -56
- package/dist/interceptors/parseStructure.js +0 -84
- package/dist/interceptors/swc.js +0 -15
- package/dist/interceptors/writeInterceptors.js +0 -44
- package/dist/utils/PackagesSort.js +0 -7
- package/dist/utils/TopologicalSort.js +0 -87
- package/dist/utils/isMonorepo.js +0 -47
- package/dist/utils/packageRoots.js +0 -31
- package/dist/utils/resolveDependenciesSync.js +0 -78
- package/dist/utils/resolveDependency.js +0 -70
- package/dist/utils/sig.js +0 -34
- package/dist/withGraphCommerce.js +0 -162
- package/src/config/utils/rewriteLegacyEnv.ts +0 -125
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import cloneDeep from 'lodash/cloneDeep'
|
|
2
|
-
import type { GraphCommerceConfig } from '../../generated/config'
|
|
3
|
-
import type { ApplyResult, ZodNode } from './mergeEnvIntoConfig'
|
|
4
|
-
import { mergeEnvIntoConfig } from './mergeEnvIntoConfig'
|
|
5
|
-
|
|
6
|
-
export function rewriteLegacyEnv(
|
|
7
|
-
schema: ZodNode,
|
|
8
|
-
env: Record<string, string | undefined>,
|
|
9
|
-
config: Partial<GraphCommerceConfig> = {},
|
|
10
|
-
) {
|
|
11
|
-
const clonedEnv: Record<string, string | undefined> = cloneDeep(env)
|
|
12
|
-
const applied: ApplyResult = []
|
|
13
|
-
|
|
14
|
-
function renamedTo(to: string) {
|
|
15
|
-
return (envVar: string, envValue: string) => {
|
|
16
|
-
applied.push({
|
|
17
|
-
warning: [`should be renamed to ${to}='${envValue}'`],
|
|
18
|
-
envVar,
|
|
19
|
-
envValue,
|
|
20
|
-
})
|
|
21
|
-
clonedEnv[to] = envValue
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function notUsed() {
|
|
26
|
-
return (envVar: string, envValue: string) => {
|
|
27
|
-
applied.push({
|
|
28
|
-
warning: ['should be removed'],
|
|
29
|
-
envVar,
|
|
30
|
-
envValue,
|
|
31
|
-
})
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const parsers: Record<string, (key: string, value: string) => void> = {
|
|
36
|
-
MAGENTO_ENDPOINT: renamedTo('GC_MAGENTO_ENDPOINT'),
|
|
37
|
-
GRAPHCMS_URL: renamedTo('GC_HYGRAPH_ENDPOINT'),
|
|
38
|
-
NEXT_PUBLIC_GRAPHQL_ENDPOINT: notUsed(),
|
|
39
|
-
IMAGE_DOMAINS: (envVar: string, envValue: string) => {
|
|
40
|
-
applied.push({
|
|
41
|
-
warning: [
|
|
42
|
-
'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',
|
|
43
|
-
],
|
|
44
|
-
envVar,
|
|
45
|
-
envValue,
|
|
46
|
-
})
|
|
47
|
-
},
|
|
48
|
-
NEXT_PUBLIC_LOCALE_STORES: (envVar: string, envValue: string) => {
|
|
49
|
-
const parsed = JSON.parse(envValue) as Record<string, string>
|
|
50
|
-
|
|
51
|
-
applied.push({
|
|
52
|
-
warning: ['env variable is is modified, rewritten to GC_STOREFRONT.'],
|
|
53
|
-
envVar,
|
|
54
|
-
envValue,
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
clonedEnv.GC_STOREFRONT = JSON.stringify(
|
|
58
|
-
Object.entries(parsed).map(([locale, magentoStoreCode], index) => {
|
|
59
|
-
if (!config.storefront) config.storefront = []
|
|
60
|
-
config.storefront[index] = { ...config.storefront[index], locale, magentoStoreCode }
|
|
61
|
-
return { locale, magentoStoreCode }
|
|
62
|
-
}),
|
|
63
|
-
)
|
|
64
|
-
},
|
|
65
|
-
NEXT_PUBLIC_SITE_URL: renamedTo('GC_CANONICAL_BASE_URL'),
|
|
66
|
-
NEXT_PUBLIC_GTM_ID: renamedTo('GC_GOOGLE_TAGMANAGER_ID'),
|
|
67
|
-
NEXT_PUBLIC_GOOGLE_ANALYTICS: (envVar: string, envValue: string) => {
|
|
68
|
-
if (envValue.startsWith('{')) {
|
|
69
|
-
const parsed = JSON.parse(envValue) as Record<string, string>
|
|
70
|
-
|
|
71
|
-
clonedEnv.GC_GOOGLE_ANALYTICS_ID = 'enabled'
|
|
72
|
-
if (!config.storefront) config.storefront = []
|
|
73
|
-
config.storefront.forEach((storefront, index) => {
|
|
74
|
-
if (parsed[storefront.locale]) {
|
|
75
|
-
clonedEnv[`GC_STOREFRONT_${index}_GOOGLE_ANALYTICS_ID`] = parsed[storefront.locale]
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
|
|
79
|
-
applied.push({
|
|
80
|
-
warning: ['should be rewritten to GC_STOREFRONT_*_GOOGLE_ANALYTICS_ID'],
|
|
81
|
-
envVar,
|
|
82
|
-
envValue,
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
return
|
|
86
|
-
}
|
|
87
|
-
renamedTo('GC_GOOGLE_ANALYTICS_ID')
|
|
88
|
-
},
|
|
89
|
-
NEXT_PUBLIC_GOOGLE_RECAPTCHA_V3_SITE_KEY: renamedTo('GC_GOOGLE_RECAPTCHA_KEY'),
|
|
90
|
-
NEXT_PUBLIC_DISPLAY_INCL_TAX: (envVar: string, envValue: string) => {
|
|
91
|
-
const inclTax = envValue.split(',').map((i) => i.trim())
|
|
92
|
-
|
|
93
|
-
if (!config.storefront) config.storefront = []
|
|
94
|
-
config.storefront.forEach((storefront, index) => {
|
|
95
|
-
if (!inclTax.includes(storefront.locale)) return
|
|
96
|
-
clonedEnv[`GC_STOREFRONT_${index}_CART_DISPLAY_PRICES_INCL_TAX`] = '1'
|
|
97
|
-
})
|
|
98
|
-
|
|
99
|
-
applied.push({
|
|
100
|
-
warning: ['env variable is renamed, move to configuration: cartDisplayPricesInclTax'],
|
|
101
|
-
envVar,
|
|
102
|
-
envValue,
|
|
103
|
-
})
|
|
104
|
-
clonedEnv.GC_DISPLAY_PRICES_INCL_TAX = envValue
|
|
105
|
-
},
|
|
106
|
-
PREVIEW_SECRET: renamedTo('GC_PREVIEW_SECRET'),
|
|
107
|
-
DEMO_MAGENTO_GRAPHCOMMERCE: renamedTo('GC_DEMO_MODE'),
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (env.SKIP_MIGRATION === '1' || env.SKIP_MIGRATION === 'true') {
|
|
111
|
-
return mergeEnvIntoConfig(schema, config, clonedEnv)
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
Object.entries(env).forEach(([key, value]) => {
|
|
115
|
-
if (value === undefined) return
|
|
116
|
-
try {
|
|
117
|
-
parsers[key]?.(key, value)
|
|
118
|
-
} catch (e) {
|
|
119
|
-
console.error(`Error parsing ${key}`, e)
|
|
120
|
-
}
|
|
121
|
-
})
|
|
122
|
-
|
|
123
|
-
const [newConfig, envApplied] = mergeEnvIntoConfig(schema, config, clonedEnv)
|
|
124
|
-
return [newConfig, [...applied, ...envApplied] as ApplyResult] as const
|
|
125
|
-
}
|