From 73eb727757f353342978453929a294a8ba124fdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Wed, 4 Dec 2024 15:44:11 +0100 Subject: [PATCH 1/2] Fix function drafts not working during dev --- .changeset/wicked-singers-explode.md | 5 +++++ packages/app/src/cli/services/dev/update-extension.ts | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 .changeset/wicked-singers-explode.md diff --git a/.changeset/wicked-singers-explode.md b/.changeset/wicked-singers-explode.md new file mode 100644 index 00000000000..8107be0b8c2 --- /dev/null +++ b/.changeset/wicked-singers-explode.md @@ -0,0 +1,5 @@ +--- +'@shopify/app': patch +--- + +Fix function drafts not working during dev diff --git a/packages/app/src/cli/services/dev/update-extension.ts b/packages/app/src/cli/services/dev/update-extension.ts index e20d1893120..d1f93186414 100644 --- a/packages/app/src/cli/services/dev/update-extension.ts +++ b/packages/app/src/cli/services/dev/update-extension.ts @@ -50,7 +50,7 @@ export async function updateExtensionDraft({ // When updating just the theme extension draft, upload the files as part of the config. config = await themeExtensionConfig(extension) } else { - config = (await extension.deployConfig({apiKey, appConfiguration})) || {} + config = (await extension.deployConfig({apiKey, appConfiguration})) ?? {} } const draftableConfig: {[key: string]: unknown} = { @@ -58,7 +58,9 @@ export async function updateExtensionDraft({ serialized_script: encodedFile, } if (extension.isFunctionExtension) { - const compiledFiles = await readFile(outputPath, {encoding: 'base64'}) + // For function drafts we need to use the `extension.outputPath` instead of `bundlePath` + // The wasm in the bundle path is encoded in base64. + const compiledFiles = await readFile(extension.outputPath, {encoding: 'base64'}) draftableConfig.uploaded_files = {'dist/index.wasm': compiledFiles} } const extensionInput: ExtensionUpdateDraftMutationVariables = { From 998ba06cefa6e58841b0d31d5fdf184b2ba073dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Wed, 4 Dec 2024 17:03:07 +0100 Subject: [PATCH 2/2] Fix tests --- packages/app/src/cli/services/dev/update-extension.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app/src/cli/services/dev/update-extension.test.ts b/packages/app/src/cli/services/dev/update-extension.test.ts index 567530801b0..6a2f0ac6fd2 100644 --- a/packages/app/src/cli/services/dev/update-extension.test.ts +++ b/packages/app/src/cli/services/dev/update-extension.test.ts @@ -206,7 +206,7 @@ describe('updateExtensionDraft()', () => { const content = 'test content' const base64Content = Buffer.from(content).toString('base64') await mkdir(joinPath(mockExtension.directory, 'dist')) - const outputPath = mockExtension.getOutputPathForDirectory(tmpDir) + const outputPath = mockExtension.outputPath await mkdir(dirname(outputPath)) await writeFile(outputPath, content)