From 076a01fce64e5c6bad7738b66de8ba69c4ed50e5 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 27 May 2021 08:38:38 -0400 Subject: [PATCH] revert extension-discovery.ts Signed-off-by: Sebastian Malton --- src/extensions/extension-discovery.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/extensions/extension-discovery.ts b/src/extensions/extension-discovery.ts index cd249a919d..8a0929d016 100644 --- a/src/extensions/extension-discovery.ts +++ b/src/extensions/extension-discovery.ts @@ -30,7 +30,7 @@ import { broadcastMessage, handleRequest, requestMain, subscribeToBroadcast } fr import { Singleton, toJS } from "../common/utils"; import logger from "../main/logger"; import { ExtensionInstallationStateStore } from "../renderer/components/+extensions/extension-install.store"; -import { extensionInstaller } from "./extension-installer"; +import { extensionInstaller, PackageJson } from "./extension-installer"; import { ExtensionsStore } from "./extensions-store"; import { ExtensionLoader } from "./extension-loader"; import type { LensExtensionId, LensExtensionManifest } from "./lens-extension"; @@ -387,19 +387,24 @@ export class ExtensionDiscovery extends Singleton { await this.installPackage(extension.absolutePath); } } + const extensions = bundledExtensions.concat(userExtensions); - return this.extensions = new Map(bundledExtensions.concat(userExtensions).map(extension => [extension.id, extension])); + return this.extensions = new Map(extensions.map(extension => [extension.id, extension])); } /** * Write package.json to file system and install dependencies. */ - installBundledPackages(packageJsonPath: string, extensions: InstalledExtension[]) { - const dependencies = Object.fromEntries( - extensions.map(extension => [extension.manifest.name, extension.absolutePath]) - ); + async installBundledPackages(packageJsonPath: string, extensions: InstalledExtension[]) { + const packagesJson: PackageJson = { + dependencies: {} + }; - return extensionInstaller.installPackages(packageJsonPath, { dependencies }); + extensions.forEach((extension) => { + packagesJson.dependencies[extension.manifest.name] = extension.absolutePath; + }); + + return await extensionInstaller.installPackages(packageJsonPath, packagesJson); } async installPackage(name: string) {