Skip to content

Commit 39f4105

Browse files
authored
Merge pull request #6564 from Shopify/guard-extension-points
Guard extension points being undefined
2 parents 115f677 + c251710 commit 39f4105

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

.changeset/great-scissors-dance.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@shopify/app': patch
3+
---
4+
5+
Guard against extension_points being omitted from config

packages/app/src/cli/models/extensions/specifications/ui_extension.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ const uiExtensionSpec = createExtensionSpecification({
9191
return validateUIExtensionPointConfig(directory, config.extension_points, path)
9292
},
9393
deployConfig: async (config, directory) => {
94-
const transformedExtensionPoints = config.extension_points.map(addDistPathToAssets)
94+
const transformedExtensionPoints = config.extension_points?.map(addDistPathToAssets) ?? []
9595

9696
return {
9797
api_version: config.api_version,
@@ -105,7 +105,10 @@ const uiExtensionSpec = createExtensionSpecification({
105105
},
106106
getBundleExtensionStdinContent: (config) => {
107107
const shouldIncludeShopifyExtend = isRemoteDomExtension(config)
108-
const main = config.extension_points
108+
109+
const extensionPoints = config.extension_points || []
110+
111+
const main = extensionPoints
109112
.map(({target, module}, index) => {
110113
if (shouldIncludeShopifyExtend) {
111114
return `import Target_${index} from '${module}';shopify.extend('${target}', (...args) => Target_${index}(...args));`
@@ -115,7 +118,7 @@ const uiExtensionSpec = createExtensionSpecification({
115118
.join('\n')
116119

117120
const assets: {[key: string]: Asset} = {}
118-
config.extension_points.forEach((extensionPoint) => {
121+
extensionPoints.forEach((extensionPoint) => {
119122
// Start of Selection
120123
Object.entries(extensionPoint.build_manifest.assets).forEach(([identifier, asset]) => {
121124
if (identifier === AssetIdentifier.Main) {
@@ -142,7 +145,7 @@ const uiExtensionSpec = createExtensionSpecification({
142145
},
143146
hasExtensionPointTarget: (config, requestedTarget) => {
144147
return (
145-
config.extension_points.find((extensionPoint) => {
148+
config.extension_points?.find((extensionPoint) => {
146149
return extensionPoint.target === requestedTarget
147150
}) !== undefined
148151
)

0 commit comments

Comments
 (0)