From 5ae60e218cc811cd3200f5a60f63586ed86c44f8 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 8 Nov 2022 07:00:35 -0800 Subject: [PATCH] Fix installing extension dependencies (#6537) - The --only option was removed in v7 and the --omit option was introduced then too. Signed-off-by: Sebastian Malton Signed-off-by: Sebastian Malton --- .../extension-installer/extension-installer.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/extensions/extension-installer/extension-installer.ts b/src/extensions/extension-installer/extension-installer.ts index 1764435a54..f217f91bb9 100644 --- a/src/extensions/extension-installer/extension-installer.ts +++ b/src/extensions/extension-installer/extension-installer.ts @@ -16,6 +16,16 @@ interface Dependencies { extensionPackageRootDirectory: string; } +const baseNpmInstallArgs = [ + "install", + "--audit=false", + "--fund=false", + "--omit=dev", + "--omit=optional", + "--omit=peer", + "--prefer-offline", +]; + /** * Installs dependencies for extensions */ @@ -42,7 +52,7 @@ export class ExtensionInstaller { }); logger.info(`${logModule} installing dependencies at ${this.dependencies.extensionPackageRootDirectory}`); - await this.npm(["install", "--audit=false", "--fund=false", "--only=prod", "--prefer-offline"]); + await this.npm(...baseNpmInstallArgs); logger.info(`${logModule} dependencies installed at ${this.dependencies.extensionPackageRootDirectory}`); } finally { this.installLock.release(); @@ -58,14 +68,14 @@ export class ExtensionInstaller { try { logger.info(`${logModule} installing package from ${name} to ${this.dependencies.extensionPackageRootDirectory}`); - await this.npm(["install", "--audit=false", "--fund=false", "--only=prod", "--prefer-offline", name]); + await this.npm(...baseNpmInstallArgs, name); logger.info(`${logModule} package ${name} installed to ${this.dependencies.extensionPackageRootDirectory}`); } finally { this.installLock.release(); } }; - private npm(args: string[]): Promise { + private npm(...args: string[]): Promise { return new Promise((resolve, reject) => { const child = child_process.fork(this.npmPath, args, { cwd: this.dependencies.extensionPackageRootDirectory,