@@ -16,7 +16,7 @@ import {
1616import { recursiveLiquidTemplateCopy } from '@shopify/cli-kit/node/liquid'
1717import { renderTasks } from '@shopify/cli-kit/node/ui'
1818import { 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'
2020import { joinPath , relativizePath } from '@shopify/cli-kit/node/path'
2121import { slugify } from '@shopify/cli-kit/common/string'
2222import { 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