diff --git a/packages/core/src/common/fs/fs.injectable.ts b/packages/core/src/common/fs/fs.injectable.ts index f80375095c..600e4eaa40 100644 --- a/packages/core/src/common/fs/fs.injectable.ts +++ b/packages/core/src/common/fs/fs.injectable.ts @@ -7,7 +7,7 @@ import type { ReadOptions } from "fs-extra"; import fse from "fs-extra"; /** - * NOTE: Add corrisponding a corrisponding override of this injecable in `src/test-utils/override-fs-with-fakes.ts` + * NOTE: Add corresponding override of this injectable in `src/test-utils/override-fs-with-fakes.ts` */ const fsInjectable = getInjectable({ id: "fs", diff --git a/packages/core/src/extensions/install-extension/install-extension.injectable.ts b/packages/core/src/extensions/install-extension/install-extension.injectable.ts index cb1206ab3a..665cc9a59b 100644 --- a/packages/core/src/extensions/install-extension/install-extension.injectable.ts +++ b/packages/core/src/extensions/install-extension/install-extension.injectable.ts @@ -13,6 +13,7 @@ import joinPathsInjectable from "../../common/path/join-paths.injectable"; import type { PackageJson } from "../common-api"; import writeJsonFileInjectable from "../../common/fs/write-json-file.injectable"; import { once } from "lodash"; +import { isErrnoException } from "../../common/utils"; const baseNpmInstallArgs = [ "install", @@ -65,11 +66,19 @@ const installExtensionInjectable = getInjectable({ const packageJsonPath = joinPaths(extensionPackageRootDirectory, "package.json"); const fixupPackageJson = once(async () => { - const packageJson = await readJsonFile(packageJsonPath) as PackageJson; + try { + const packageJson = await readJsonFile(packageJsonPath) as PackageJson; - delete packageJson.dependencies; + delete packageJson.dependencies; - await writeJsonFile(packageJsonPath, packageJson); + await writeJsonFile(packageJsonPath, packageJson); + } catch (error) { + if (isErrnoException(error) && error.code === "ENOENT") { + return; + } + + throw error; + } }); const installLock = new AwaitLock();