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

Move updateChecker into InstalledExtension type

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-01-26 14:29:39 +03:00
parent 518702c127
commit bc0ca6c3a0
5 changed files with 10 additions and 9 deletions

View File

@ -24,6 +24,7 @@ import type { LensExtensionId, LensExtensionManifest } from "../lens-extension";
import { isProduction } from "../../common/vars";
import type { ExtensionInstallationStateStore } from "../extension-installation-state-store/extension-installation-state-store";
import type { PackageJson } from "type-fest";
import type { LensExtensionUpdateChecker } from "../lens-extension-update-checker";
interface Dependencies {
extensionLoader: ExtensionLoader;
@ -57,6 +58,7 @@ export interface InstalledExtension {
version: string;
input: string;
}
updateChecker?: LensExtensionUpdateChecker
}
const logModule = "[EXTENSION-DISCOVERY]";

View File

@ -8,12 +8,11 @@ import {
LensExtensionDependencies,
setLensExtensionDependencies,
} from "../../lens-extension-set-dependencies";
import type { LensExtensionUpdateChecker } from "../../lens-extension-update-checker";
export const createExtensionInstance =
(dependencies: LensExtensionDependencies) =>
(ExtensionClass: LensExtensionConstructor, extension: InstalledExtension, updateChecker?: LensExtensionUpdateChecker) => {
const instance = new ExtensionClass(extension, updateChecker);
(ExtensionClass: LensExtensionConstructor, extension: InstalledExtension) => {
const instance = new ExtensionClass(extension);
instance[setLensExtensionDependencies](dependencies);

View File

@ -27,7 +27,7 @@ const logModule = "[EXTENSIONS-LOADER]";
interface Dependencies {
updateExtensionsState: (extensionsState: Record<LensExtensionId, LensExtensionState>) => void
createExtensionInstance: (ExtensionClass: LensExtensionConstructor, extension: InstalledExtension, updateChecker: LensExtensionUpdateChecker) => LensExtension,
createExtensionInstance: (ExtensionClass: LensExtensionConstructor, extension: InstalledExtension) => LensExtension,
}
export interface ExtensionLoading {
@ -354,8 +354,10 @@ export class ExtensionLoader {
// const instance = new LensExtensionClass(extension, this.extensionUpdateChecker);
const instance = this.dependencies.createExtensionInstance(
LensExtensionClass,
extension,
this.extensionUpdateChecker,
{
...extension,
updateChecker: this.extensionUpdateChecker
}
);
this.instances.set(extId, instance);

View File

@ -45,7 +45,7 @@ export class LensExtension {
[Disposers] = disposer();
constructor({ id, manifest, manifestPath, isBundled }: InstalledExtension, updateChecker?: LensExtensionUpdateChecker) {
constructor({ id, manifest, manifestPath, isBundled, updateChecker }: InstalledExtension) {
makeObservable(this);
this.id = id;
this.manifest = manifest;

View File

@ -22,8 +22,6 @@ export class BundledExtensionsUpdater extends ExtensionUpdater {
this.dependencies.ipcRenderer.on(UpdateBundledExtension, async (event, extensionId: string) => {
const extension = this.dependencies.extensions.find(extension => extension.id == extensionId);
console.log({extension})
if (extension?.isBundled && extension?.availableUpdate) {
try {
await this.update(extension);