Watch for added/removed local extensions (#1482)

Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
This commit is contained in:
Panu Horsmalahti authored and GitHub committed 2020-11-24 10:48:40 +02:00
1 parent 3922609204
commit c79cee0311
9 files changed
+457 -191

No files matched your search

+17 -2
View File
@@ -21,8 +21,9 @@ import { userStore } from "../common/user-store";
import { workspaceStore } from "../common/workspace-store";
import { appEventBus } from "../common/event-bus";
import { extensionLoader } from "../extensions/extension-loader";
import { extensionManager } from "../extensions/extension-manager";
import { extensionsStore } from "../extensions/extensions-store";
import { InstalledExtension, extensionDiscovery } from "../extensions/extension-discovery";
import type { LensExtensionId } from "../extensions/lens-extension";
const workingDir = path.join(app.getPath("appData"), appName);
let proxyPort: number;
@@ -79,8 +80,22 @@ app.on("ready", async () => {
}
extensionLoader.init();
extensionDiscovery.init();
windowManager = WindowManager.getInstance<WindowManager>(proxyPort);
extensionLoader.initExtensions(await extensionManager.load()); // call after windowManager to see splash earlier
// call after windowManager to see splash earlier
const extensions = await extensionDiscovery.load();
// Subscribe to extensions that are copied or deleted to/from the extensions folder
extensionDiscovery.events.on("add", (extension: InstalledExtension) => {
extensionLoader.addExtension(extension);
});
extensionDiscovery.events.on("remove", (lensExtensionId: LensExtensionId) => {
extensionLoader.removeExtension(lensExtensionId);
});
extensionLoader.initExtensions(extensions);
setTimeout(() => {
appEventBus.emit({ name: "service", action: "start" });