1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

extensions-api -- better console output for extension class logs

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2020-09-06 22:39:51 +03:00
parent 95db1b3b11
commit 7ebac4d151
2 changed files with 9 additions and 7 deletions

View File

@ -57,13 +57,13 @@ export class ExtensionStore extends BaseStore<ExtensionStoreModel> {
}
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
}

View File

@ -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 {