Move updateChecker into InstalledExtension type

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

No files matched your search

@@ -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]";
@@ -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);
@@ -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);
+1 -1
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;
@@ -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);