diff --git a/src/extensions/extension-store.ts b/src/extensions/extension-store.ts index 8e988f2be9..f1d29a0025 100644 --- a/src/extensions/extension-store.ts +++ b/src/extensions/extension-store.ts @@ -57,13 +57,13 @@ export class ExtensionStore extends BaseStore { } autoEnableOnLoad(getLensRuntimeEnv: () => LensRuntimeRendererEnv, { delay = 0 } = {}) { - logger.info('[EXTENSIONS-STORE]: enabled auto-activation all installed extensions'); + logger.info('[EXTENSIONS-STORE]: auto-activation loaded extensions: ON'); return reaction(() => this.installed.toJS(), installedExtensions => { installedExtensions.forEach(({ extensionModule, manifest, manifestPath }) => { let instance = this.getById(manifestPath); if (!instance) { const LensExtensionClass = extensionModule.default; - instance = new LensExtensionClass({ ...manifest }, manifest); + instance = new LensExtensionClass({ ...manifest, manifestPath, id: manifestPath }, manifest); instance.enable(getLensRuntimeEnv()); this.extensions.set(manifestPath, instance); // save } diff --git a/src/extensions/extension.ts b/src/extensions/extension.ts index 25ef66b162..698422fb54 100644 --- a/src/extensions/extension.ts +++ b/src/extensions/extension.ts @@ -1,7 +1,7 @@ import type { ExtensionModel } from "./extension-store"; import type { LensRuntimeRendererEnv } from "./lens-runtime"; import { readJsonSync } from "fs-extra"; -import { action, observable } from "mobx"; +import { action, observable, toJS } from "mobx"; import extensionManifest from "./example-extension/package.json" import logger from "../main/logger"; @@ -40,13 +40,13 @@ export class LensExtension implements ExtensionModel { async enable(runtime: LensRuntimeRendererEnv) { this.isEnabled = true; this.runtime = runtime; - console.log(`[EXTENSION]: enable ${this.name}@${this.version}`, this.getMeta()); + console.log(`[EXTENSION]: enabled ${this.name}@${this.version}`, this.getMeta()); } async disable() { this.isEnabled = false; this.runtime = {}; - console.log(`[EXTENSION]: disable ${this.name}@${this.version}`, this.getMeta()); + console.log(`[EXTENSION]: disabled ${this.name}@${this.version}`, this.getMeta()); } // todo @@ -64,13 +64,15 @@ export class LensExtension implements ExtensionModel { } getMeta() { - return { + return toJS({ id: this.id, manifest: this.manifest, manifestPath: this.manifestPath, enabled: this.isEnabled, runtime: this.runtime, - } + }, { + recurseEverything: true + }) } toJSON(): ExtensionModel {