From 36077a9feac645752e43a5fd91bbf7dfe81fc73e Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Tue, 16 Aug 2022 15:04:31 +0300 Subject: [PATCH] Show extension api version (#6038) * show extension api version in about dialog Signed-off-by: Jari Kolehmainen * move buildVersionInjectable from common to main Signed-off-by: Jari Kolehmainen Signed-off-by: Jari Kolehmainen --- .../build-version.global-override-for-injectable.ts | 9 +++++++++ src/main/menu/build-version.injectable.ts | 13 +++++++++++++ src/main/menu/menu.ts | 9 ++++++--- src/main/menu/show-about.injectable.ts | 8 +++++++- 4 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 src/main/menu/build-version.global-override-for-injectable.ts create mode 100644 src/main/menu/build-version.injectable.ts diff --git a/src/main/menu/build-version.global-override-for-injectable.ts b/src/main/menu/build-version.global-override-for-injectable.ts new file mode 100644 index 0000000000..9c2331f72d --- /dev/null +++ b/src/main/menu/build-version.global-override-for-injectable.ts @@ -0,0 +1,9 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ + +import { getGlobalOverride } from "../../common/test-utils/get-global-override"; +import buildVersionInjectable from "./build-version.injectable"; + +export default getGlobalOverride(buildVersionInjectable, () => "6.0.0"); diff --git a/src/main/menu/build-version.injectable.ts b/src/main/menu/build-version.injectable.ts new file mode 100644 index 0000000000..d94594cc84 --- /dev/null +++ b/src/main/menu/build-version.injectable.ts @@ -0,0 +1,13 @@ +/** + * 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 electronAppInjectable from "../electron-app/electron-app.injectable"; + +const buildVersionInjectable = getInjectable({ + id: "build-version", + instantiate: (di) => di.inject(electronAppInjectable).getVersion(), +}); + +export default buildVersionInjectable; diff --git a/src/main/menu/menu.ts b/src/main/menu/menu.ts index fd6bc6c264..1454f38999 100644 --- a/src/main/menu/menu.ts +++ b/src/main/menu/menu.ts @@ -2,7 +2,7 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { app, Menu } from "electron"; +import { Menu } from "electron"; import { appName, isWindows, productName } from "../../common/vars"; import packageJson from "../../../package.json"; import type { MenuItemOpts } from "./application-menu-items.injectable"; @@ -11,12 +11,15 @@ import type { ShowMessagePopup } from "../electron-app/features/show-message-pop export type MenuTopId = "mac" | "file" | "edit" | "view" | "help"; interface Dependencies { + appVersion: string; + extensionApiVersion: string; showMessagePopup: ShowMessagePopup; } -export const showAbout = ({ showMessagePopup }: Dependencies) => async () => { +export const showAbout = ({ showMessagePopup, extensionApiVersion, appVersion }: Dependencies) => async () => { const appInfo = [ - `${appName}: ${app.getVersion()}`, + `${appName}: ${appVersion}`, + `Extension API: ${extensionApiVersion}`, `Electron: ${process.versions.electron}`, `Chrome: ${process.versions.chrome}`, `Node: ${process.versions.node}`, diff --git a/src/main/menu/show-about.injectable.ts b/src/main/menu/show-about.injectable.ts index e79923d4c2..b65530261d 100644 --- a/src/main/menu/show-about.injectable.ts +++ b/src/main/menu/show-about.injectable.ts @@ -5,12 +5,18 @@ import { getInjectable } from "@ogre-tools/injectable"; import { showAbout } from "./menu"; import showMessagePopupInjectable from "../electron-app/features/show-message-popup.injectable"; +import appVersionInjectable from "../../common/vars/app-version.injectable"; +import buildVersionInjectable from "./build-version.injectable"; const showAboutInjectable = getInjectable({ id: "show-about", instantiate: (di) => - showAbout({ showMessagePopup: di.inject(showMessagePopupInjectable) }), + showAbout({ + appVersion: di.inject(buildVersionInjectable), + extensionApiVersion: di.inject(appVersionInjectable), + showMessagePopup: di.inject(showMessagePopupInjectable), + }), }); export default showAboutInjectable;