From 100bd870d7ae386496bedd949cc2a7a537ad45f4 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 8 Sep 2022 06:34:36 -0400 Subject: [PATCH] Assume that bundled extensions are always compatible (#6195) Signed-off-by: Sebastian Malton Signed-off-by: Sebastian Malton --- .../extension-discovery.injectable.ts | 18 ++---------------- .../extension-discovery/extension-discovery.ts | 8 ++------ ...-compatible-bundled-extension.injectable.ts | 16 ---------------- .../is-compatible-bundled-extension.ts | 16 ---------------- 4 files changed, 4 insertions(+), 54 deletions(-) delete mode 100644 src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.injectable.ts delete mode 100644 src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.ts diff --git a/src/extensions/extension-discovery/extension-discovery.injectable.ts b/src/extensions/extension-discovery/extension-discovery.injectable.ts index e6ebaa769c..48e9b225a0 100644 --- a/src/extensions/extension-discovery/extension-discovery.injectable.ts +++ b/src/extensions/extension-discovery/extension-discovery.injectable.ts @@ -6,7 +6,6 @@ import { getInjectable } from "@ogre-tools/injectable"; import { ExtensionDiscovery } from "./extension-discovery"; import extensionLoaderInjectable from "../extension-loader/extension-loader.injectable"; import isCompatibleExtensionInjectable from "./is-compatible-extension/is-compatible-extension.injectable"; -import isCompatibleBundledExtensionInjectable from "./is-compatible-bundled-extension/is-compatible-bundled-extension.injectable"; import extensionsStoreInjectable from "../extensions-store/extensions-store.injectable"; import extensionInstallationStateStoreInjectable from "../extension-installation-state-store/extension-installation-state-store.injectable"; import installExtensionInjectable from "../extension-installer/install-extension/install-extension.injectable"; @@ -25,24 +24,11 @@ const extensionDiscoveryInjectable = getInjectable({ new ExtensionDiscovery({ extensionLoader: di.inject(extensionLoaderInjectable), extensionsStore: di.inject(extensionsStoreInjectable), - - extensionInstallationStateStore: di.inject( - extensionInstallationStateStoreInjectable, - ), - - isCompatibleBundledExtension: di.inject( - isCompatibleBundledExtensionInjectable, - ), - + extensionInstallationStateStore: di.inject(extensionInstallationStateStoreInjectable), isCompatibleExtension: di.inject(isCompatibleExtensionInjectable), - installExtension: di.inject(installExtensionInjectable), installExtensions: di.inject(installExtensionsInjectable), - - extensionPackageRootDirectory: di.inject( - extensionPackageRootDirectoryInjectable, - ), - + extensionPackageRootDirectory: di.inject(extensionPackageRootDirectoryInjectable), staticFilesDirectory: di.inject(staticFilesDirectoryInjectable), readJsonFile: di.inject(readJsonFileInjectable), pathExists: di.inject(pathExistsInjectable), diff --git a/src/extensions/extension-discovery/extension-discovery.ts b/src/extensions/extension-discovery/extension-discovery.ts index 1de6425c19..40df43ebdf 100644 --- a/src/extensions/extension-discovery/extension-discovery.ts +++ b/src/extensions/extension-discovery/extension-discovery.ts @@ -27,12 +27,8 @@ import type { Watch } from "../../common/fs/watch/watch.injectable"; interface Dependencies { extensionLoader: ExtensionLoader; extensionsStore: ExtensionsStore; - extensionInstallationStateStore: ExtensionInstallationStateStore; - - isCompatibleBundledExtension: (manifest: LensExtensionManifest) => boolean; isCompatibleExtension: (manifest: LensExtensionManifest) => boolean; - installExtension: (name: string) => Promise; installExtensions: (packageJsonPath: string, packagesJson: PackageJson) => Promise; extensionPackageRootDirectory: string; @@ -102,7 +98,7 @@ export class ExtensionDiscovery { public events = new EventEmitter(); - constructor(protected dependencies : Dependencies) { + constructor(protected readonly dependencies: Dependencies) { makeObservable(this); } @@ -369,7 +365,7 @@ export class ExtensionDiscovery { const extensionDir = path.dirname(manifestPath); const npmPackage = path.join(extensionDir, `${manifest.name}-${manifest.version}.tgz`); const absolutePath = (isProduction && await this.dependencies.pathExists(npmPackage)) ? npmPackage : extensionDir; - const isCompatible = (isBundled && this.dependencies.isCompatibleBundledExtension(manifest)) || this.dependencies.isCompatibleExtension(manifest); + const isCompatible = isBundled || this.dependencies.isCompatibleExtension(manifest); return { id, diff --git a/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.injectable.ts b/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.injectable.ts deleted file mode 100644 index 7a29daf23c..0000000000 --- a/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.injectable.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * 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 appSemanticVersionInjectable from "../../../common/vars/app-semantic-version.injectable"; -import { isCompatibleBundledExtension } from "./is-compatible-bundled-extension"; - -const isCompatibleBundledExtensionInjectable = getInjectable({ - id: "is-compatible-bundled-extension", - instantiate: (di) => isCompatibleBundledExtension({ - appSemVer: di.inject(appSemanticVersionInjectable), - }), -}); - -export default isCompatibleBundledExtensionInjectable; diff --git a/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.ts b/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.ts deleted file mode 100644 index 6ae1e0b5d3..0000000000 --- a/src/extensions/extension-discovery/is-compatible-bundled-extension/is-compatible-bundled-extension.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import type { LensExtensionManifest } from "../../lens-extension"; -import { isProduction } from "../../../common/vars"; -import type { SemVer } from "semver"; - -interface Dependencies { - appSemVer: SemVer; -} - -export const isCompatibleBundledExtension = - ({ appSemVer }: Dependencies) => - (manifest: LensExtensionManifest): boolean => - !isProduction || manifest.version === appSemVer.raw;