From bacdc63eefd298b03f14964e07d97cfa43a859ce Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 29 Nov 2022 11:18:29 -0500 Subject: [PATCH] Fix TypeError when loading extensions Signed-off-by: Sebastian Malton --- .../init-cluster-frame.injectable.ts | 4 ++-- .../frames/load-extensions.injectable.ts | 17 +++++++++++++++++ .../init-root-frame.injectable.ts | 4 ++-- 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 src/renderer/frames/load-extensions.injectable.ts diff --git a/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts b/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts index 8744c87b51..909834a047 100644 --- a/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts +++ b/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.injectable.ts @@ -4,13 +4,13 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { initClusterFrame } from "./init-cluster-frame"; -import extensionLoaderInjectable from "../../../../extensions/extension-loader/extension-loader.injectable"; import catalogEntityRegistryInjectable from "../../../api/catalog/entity/registry.injectable"; import frameRoutingIdInjectable from "./frame-routing-id/frame-routing-id.injectable"; import hostedClusterInjectable from "../../../cluster-frame-context/hosted-cluster.injectable"; import clusterFrameContextInjectable from "../../../cluster-frame-context/cluster-frame-context.injectable"; import assert from "assert"; import emitAppEventInjectable from "../../../../common/app-event-bus/emit-event.injectable"; +import loadExtensionsInjectable from "../../load-extensions.injectable"; const initClusterFrameInjectable = getInjectable({ id: "init-cluster-frame", @@ -22,7 +22,7 @@ const initClusterFrameInjectable = getInjectable({ return initClusterFrame({ hostedCluster, - loadExtensions: di.inject(extensionLoaderInjectable).autoInitExtensions, + loadExtensions: di.inject(loadExtensionsInjectable), catalogEntityRegistry: di.inject(catalogEntityRegistryInjectable), frameRoutingId: di.inject(frameRoutingIdInjectable), emitAppEvent: di.inject(emitAppEventInjectable), diff --git a/src/renderer/frames/load-extensions.injectable.ts b/src/renderer/frames/load-extensions.injectable.ts new file mode 100644 index 0000000000..b3973dfe41 --- /dev/null +++ b/src/renderer/frames/load-extensions.injectable.ts @@ -0,0 +1,17 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import extensionLoaderInjectable from "../../extensions/extension-loader/extension-loader.injectable"; + +const loadExtensionsInjectable = getInjectable({ + id: "load-extensions", + instantiate: (di) => { + const extensionLoader = di.inject(extensionLoaderInjectable); + + return () => extensionLoader.autoInitExtensions(); + }, +}); + +export default loadExtensionsInjectable; diff --git a/src/renderer/frames/root-frame/init-root-frame/init-root-frame.injectable.ts b/src/renderer/frames/root-frame/init-root-frame/init-root-frame.injectable.ts index 6f6a63f6b8..fb82bc238b 100644 --- a/src/renderer/frames/root-frame/init-root-frame/init-root-frame.injectable.ts +++ b/src/renderer/frames/root-frame/init-root-frame/init-root-frame.injectable.ts @@ -4,17 +4,17 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { initRootFrame } from "./init-root-frame"; -import extensionLoaderInjectable from "../../../../extensions/extension-loader/extension-loader.injectable"; import ipcRendererInjectable from "../../../utils/channel/ipc-renderer.injectable"; import bindProtocolAddRouteHandlersInjectable from "../../../protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable"; import lensProtocolRouterRendererInjectable from "../../../protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable"; import catalogEntityRegistryInjectable from "../../../api/catalog/entity/registry.injectable"; import registerIpcListenersInjectable from "../../../ipc/register-ipc-listeners.injectable"; +import loadExtensionsInjectable from "../../load-extensions.injectable"; const initRootFrameInjectable = getInjectable({ id: "init-root-frame", instantiate: (di) => initRootFrame({ - loadExtensions: di.inject(extensionLoaderInjectable).autoInitExtensions, + loadExtensions: di.inject(loadExtensionsInjectable), registerIpcListeners: di.inject(registerIpcListenersInjectable), ipcRenderer: di.inject(ipcRendererInjectable), bindProtocolAddRouteHandlers: di.inject(bindProtocolAddRouteHandlersInjectable),