Skip to content

Commit ac8a3cf

Browse files
committed
swap shopify_function dep from template to local tarball
1 parent f5ce716 commit ac8a3cf

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

packages/app/src/cli/services/generate/extension.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
import {recursiveLiquidTemplateCopy} from '@shopify/cli-kit/node/liquid'
1717
import {renderTasks} from '@shopify/cli-kit/node/ui'
1818
import {downloadGitRepository} from '@shopify/cli-kit/node/git'
19-
import {fileExists, inTemporaryDirectory, mkdir, moveFile, removeFile, glob} from '@shopify/cli-kit/node/fs'
19+
import {fileExists, inTemporaryDirectory, mkdir, moveFile, removeFile, glob, writeFile} from '@shopify/cli-kit/node/fs'
2020
import {joinPath, relativizePath} from '@shopify/cli-kit/node/path'
2121
import {slugify} from '@shopify/cli-kit/common/string'
2222
import {nonRandomUUID} from '@shopify/cli-kit/node/crypto'
@@ -183,6 +183,25 @@ async function functionExtensionInit({
183183
taskList.push({
184184
title: 'Installing additional dependencies',
185185
task: async () => {
186+
// Update the @shopify/shopify_function version in the template's package.json
187+
const extensionPackageJsonPath = joinPath(directory, 'package.json')
188+
const packageJson = await readAndParsePackageJson(extensionPackageJsonPath)
189+
190+
if (packageJson.dependencies?.['@shopify/shopify_function']) {
191+
// Path to local package relative to user's home directory
192+
const homeDir = process.env.HOME || process.env.USERPROFILE
193+
const localPackagePath = joinPath(
194+
homeDir!,
195+
'src',
196+
'github.com',
197+
'Shopify',
198+
'shopify-function-javascript',
199+
'shopify-shopify_function-2.0.1-rc.0.tgz',
200+
)
201+
packageJson.dependencies['@shopify/shopify_function'] = `file:${localPackagePath}`
202+
await writeFile(extensionPackageJsonPath, JSON.stringify(packageJson, null, 2))
203+
}
204+
186205
// We need to run install once to setup the workspace correctly
187206
if (app.usesWorkspaces) {
188207
await installNodeModules({packageManager: app.packageManager, directory: app.directory})

0 commit comments

Comments
 (0)