chore: Switch buildVersion to use new Initializable

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton committed 2023-04-18 08:16:40 -04:00
1 parent 72a01cdc17
commit 1b96a94c14
26 files changed
+105 -152

No files matched your search

@@ -7,16 +7,16 @@ import showMessagePopupInjectable from "../../../../../../main/electron-app/feat
import isWindowsInjectable from "../../../../../../common/vars/is-windows.injectable";
import appNameInjectable from "../../../../../../common/vars/app-name.injectable";
import productNameInjectable from "../../../../../../common/vars/product-name.injectable";
import buildVersionInjectable from "../../../../../../main/vars/build-version/build-version.injectable";
import extensionApiVersionInjectable from "../../../../../../common/vars/extension-api-version.injectable";
import applicationCopyrightInjectable from "../../../../../../common/vars/application-copyright.injectable";
import specificVersionsInjectable from "./about-bundled-extensions.injectable";
import { buildVersionInitializable } from "../../../../../vars/build-version/common/token";
const showAboutInjectable = getInjectable({
id: "show-about",
instantiate: (di) => {
const buildVersion = di.inject(buildVersionInjectable);
const buildVersion = di.inject(buildVersionInitializable.stateToken);
const extensionApiVersion = di.inject(extensionApiVersionInjectable);
const showMessagePopup = di.inject(showMessagePopupInjectable);
const isWindows = di.inject(isWindowsInjectable);
@@ -27,7 +27,7 @@ const showAboutInjectable = getInjectable({
return () => {
const appInfo = [
`${appName}: ${buildVersion.get()}`,
`${appName}: ${buildVersion}`,
`Extension API: ${extensionApiVersion}`,
`Electron: ${process.versions.electron}`,
`Chrome: ${process.versions.chrome}`,
@@ -19,7 +19,7 @@ import quitAndInstallUpdateInjectable from "./main/quit-and-install-update.injec
import periodicalCheckForUpdatesInjectable from "./child-features/periodical-checking-of-updates/main/periodical-check-for-updates.injectable";
import { advanceFakeTime, testUsingFakeTime } from "../../test-utils/use-fake-time";
import emitEventInjectable from "../../common/app-event-bus/emit-event.injectable";
import getBuildVersionInjectable from "../../main/vars/build-version/get-build-version.injectable";
import getBuildVersionInjectable from "../../main/electron-app/features/get-build-version.injectable";
describe("analytics for installing update", () => {
let builder: ApplicationBuilder;
@@ -23,7 +23,7 @@ import showInfoNotificationInjectable from "../../../../renderer/components/noti
import processCheckingForUpdatesInjectable from "../../main/process-checking-for-updates.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import getBuildVersionInjectable
from "../../../../main/vars/build-version/get-build-version.injectable";
from "../../../../main/electron-app/features/get-build-version.injectable";
describe("selection of update stability", () => {
let builder: ApplicationBuilder;
@@ -14,7 +14,7 @@ import processCheckingForUpdatesInjectable from "./main/process-checking-for-upd
import selectedUpdateChannelInjectable from "./common/selected-update-channel/selected-update-channel.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import { updateChannels } from "./common/update-channels";
import getBuildVersionInjectable from "../../main/vars/build-version/get-build-version.injectable";
import getBuildVersionInjectable from "../../main/electron-app/features/get-build-version.injectable";
describe("downgrading version update", () => {
let applicationBuilder: ApplicationBuilder;
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import { afterApplicationIsLoadedInjectionToken } from "@k8slens/application";
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import { getCurrentDateTime } from "../../../common/utils/date/get-current-date-time";
import buildVersionInjectable from "../../../main/vars/build-version/build-version.injectable";
import { buildVersionInitializable } from "../../vars/build-version/common/token";
const emitCurrentVersionToAnalyticsInjectable = getInjectable({
id: "emit-current-version-to-analytics",
@@ -14,14 +14,14 @@ const emitCurrentVersionToAnalyticsInjectable = getInjectable({
instantiate: (di) => ({
run: () => {
const emitAppEvent = di.inject(emitAppEventInjectable);
const buildVersion = di.inject(buildVersionInjectable);
const buildVersion = di.inject(buildVersionInitializable.stateToken);
emitAppEvent({
name: "app",
action: "current-version",
params: {
version: buildVersion.get(),
version: buildVersion,
currentDateTime: getCurrentDateTime(),
},
});
@@ -0,0 +1,13 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type { RequestChannel } from "@k8slens/messaging";
import { getInitializable } from "../../../../common/initializable-state/create";
export const buildVersionInitializable = getInitializable<string>("build-version");
export const buildVersionChannel: RequestChannel<void, string> = {
id: "build-version",
};
@@ -0,0 +1,22 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application";
import { getInjectablesForInitializable } from "../../../../common/initializable-state/create";
import getBuildVersionInjectable from "../../../../main/electron-app/features/get-build-version.injectable";
import { buildVersionInitializable } from "../common/token";
export const {
stateInjectable: buildVersionStateInjectable,
initializationInjectable: buildVersionInitializationInjectable,
} = getInjectablesForInitializable({
token: buildVersionInitializable,
phase: beforeApplicationIsLoadingInjectionToken,
init: (di) => {
const getBuildVersion = di.inject(getBuildVersionInjectable);
return getBuildVersion();
},
});
@@ -0,0 +1,14 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getRequestChannelListenerInjectable } from "@k8slens/messaging";
import { buildVersionChannel, buildVersionInitializable } from "../common/token";
const buildVersionChannelListenerInjectable = getRequestChannelListenerInjectable({
id: "build-version-channel-listener",
channel: buildVersionChannel,
getHandler: (di) => () => di.inject(buildVersionInitializable.stateToken),
});
export default buildVersionChannelListenerInjectable;
@@ -0,0 +1,22 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { requestFromChannelInjectionToken } from "@k8slens/messaging";
import { getInjectablesForInitializable } from "../../../../common/initializable-state/create";
import { beforeFrameStartsSecondInjectionToken } from "../../../../renderer/before-frame-starts/tokens";
import { buildVersionChannel, buildVersionInitializable } from "../common/token";
export const {
stateInjectable: buildVersionStateInjectable,
initializationInjectable: buildVersionInitializationInjectable,
} = getInjectablesForInitializable({
token: buildVersionInitializable,
phase: beforeFrameStartsSecondInjectionToken,
init: async (di) => {
const requestFromChannel = di.inject(requestFromChannelInjectionToken);
return requestFromChannel(buildVersionChannel);
},
});