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

chore: Switch buildVersion to use new Initializable

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-04-17 16:14:32 -04:00
parent 72a01cdc17
commit 1b96a94c14
26 changed files with 105 additions and 152 deletions

View File

@ -3,27 +3,13 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectionToken } from "@ogre-tools/injectable";
import { SemVer } from "semver";
import type { InitializableState } from "../initializable-state/create";
import { buildVersionInitializable } from "../../features/vars/build-version/common/token";
import { createInitializableState } from "../initializable-state/create";
import type { RequestChannel } from "@k8slens/messaging";
export const buildVersionInjectionToken = getInjectionToken<InitializableState<string>>({
id: "build-version-token",
});
export const buildVersionChannel: RequestChannel<void, string> = {
id: "build-version",
};
const buildSemanticVersionInjectable = createInitializableState({
id: "build-semantic-version",
init: (di) => {
const buildVersion = di.inject(buildVersionInjectionToken);
return new SemVer(buildVersion.get());
},
init: (di) => new SemVer(di.inject(buildVersionInitializable.stateToken)),
});
export default buildSemanticVersionInjectable;

View File

@ -10,11 +10,11 @@ import isSnapPackageInjectable from "../../common/vars/is-snap-package.injectabl
import isWindowsInjectable from "../../common/vars/is-windows.injectable";
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
import { issuesTrackerUrl } from "../../common/vars";
import { buildVersionInjectionToken } from "../../common/vars/build-semantic-version.injectable";
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
import enabledExtensionsInjectable from "../../features/extensions/enabled/common/enabled-extensions.injectable";
import userPreferencesStateInjectable from "../../features/user-preferences/common/state.injectable";
import { lensBuildEnvironmentInjectionToken } from "@k8slens/application";
import { buildVersionInitializable } from "../../features/vars/build-version/common/token";
const userStore = asLegacyGlobalForExtensionApi(userPreferencesStateInjectable);
const enabledExtensions = asLegacyGlobalForExtensionApi(enabledExtensionsInjectable);
@ -27,7 +27,7 @@ export const App = {
get version() {
const di = getLegacyGlobalDiForExtensionApi();
return di.inject(buildVersionInjectionToken).get();
return di.inject(buildVersionInitializable.stateToken);
},
get appName() {
const di = getLegacyGlobalDiForExtensionApi();

View File

@ -4,7 +4,7 @@
*/
import openLinkInBrowserInjectable from "../../common/utils/open-link-in-browser.injectable";
import buildVersionInjectable from "../../main/vars/build-version/build-version.injectable";
import { buildVersionInitializable } from "../../features/vars/build-version/common/token";
import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api";
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
@ -60,5 +60,5 @@ export const openBrowser = asLegacyGlobalFunctionForExtensionApi(openLinkInBrows
export const getAppVersion = () => {
const di = getLegacyGlobalDiForExtensionApi();
return di.inject(buildVersionInjectable).get();
return di.inject(buildVersionInitializable.stateToken);
};

View File

@ -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}`,

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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(),
},
});

View File

@ -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",
};

View File

@ -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();
},
});

View File

@ -2,18 +2,13 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { buildVersionChannel } from "../../common/vars/build-semantic-version.injectable";
import { getRequestChannelListenerInjectable } from "@k8slens/messaging";
import buildVersionInjectable from "../vars/build-version/build-version.injectable";
import { buildVersionChannel, buildVersionInitializable } from "../common/token";
const buildVersionChannelListenerInjectable = getRequestChannelListenerInjectable({
id: "build-version-channel-listener",
channel: buildVersionChannel,
getHandler: (di) => {
const buildVersion = di.inject(buildVersionInjectable);
return () => buildVersion.get();
},
getHandler: (di) => () => di.inject(buildVersionInitializable.stateToken),
});
export default buildVersionChannelListenerInjectable;

View File

@ -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);
},
});

View File

@ -3,7 +3,7 @@
* 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";
import electronAppInjectable from "../electron-app.injectable";
const getBuildVersionInjectable = getInjectable({
id: "get-build-version",

View File

@ -6,18 +6,20 @@ import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application";
import { getInjectable } from "@ogre-tools/injectable";
import loggerInjectable from "../../common/logger.injectable";
import appNameInjectable from "../../common/vars/app-name.injectable";
import buildVersionInjectable from "../vars/build-version/build-version.injectable";
import { buildVersionInitializable } from "../../features/vars/build-version/common/token";
import { buildVersionInitializationInjectable } from "../../features/vars/build-version/main/init.injectable";
const logVersionOnStartInjectable = getInjectable({
id: "log-version-on-start",
instantiate: (di) => ({
run: () => {
const logger = di.inject(loggerInjectable);
const buildVersion = di.inject(buildVersionInjectable).get();
const buildVersion = di.inject(buildVersionInitializable.stateToken);
const appName = di.inject(appNameInjectable);
logger.info(`Starting v${buildVersion} of ${appName}...`);
},
runAfter: buildVersionInitializationInjectable,
}),
injectionToken: beforeApplicationIsLoadingInjectionToken,
});

View File

@ -4,23 +4,19 @@
*/
import { getRouteInjectable } from "../../router/router.injectable";
import { route } from "../../router/route";
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
import { buildVersionInitializable } from "../../../features/vars/build-version/common/token";
const getVersionRouteInjectable = getRouteInjectable({
id: "get-version-route",
instantiate: (di) => {
const buildVersion = di.inject(buildVersionInjectable);
return route({
method: "get",
path: `/version`,
})(() => ({
response: {
version: buildVersion.get(),
},
}));
},
instantiate: (di) => route({
method: "get",
path: `/version`,
})(() => ({
response: {
version: di.inject(buildVersionInitializable.stateToken),
},
})),
});
export default getVersionRouteInjectable;

View File

@ -19,7 +19,6 @@ import getBasenameOfPathInjectable from "../../../common/path/get-basename.injec
import computeShellEnvironmentInjectable from "../../../features/shell-sync/main/compute-shell-environment.injectable";
import spawnPtyInjectable from "../spawn-pty.injectable";
import appNameInjectable from "../../../common/vars/app-name.injectable";
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import statInjectable from "../../../common/fs/stat.injectable";
import kubeconfigManagerInjectable from "../../kubeconfig-manager/kubeconfig-manager.injectable";
@ -27,6 +26,7 @@ import userPreferencesStateInjectable from "../../../features/user-preferences/c
import userShellSettingInjectable from "../../../features/user-preferences/common/shell-setting.injectable";
import shellSessionEnvsInjectable from "../shell-envs.injectable";
import shellSessionProcessesInjectable from "../processes.injectable";
import { buildVersionInitializable } from "../../../features/vars/build-version/common/token";
export interface OpenLocalShellSessionArgs {
websocket: WebSocket;
@ -49,7 +49,7 @@ const openLocalShellSessionInjectable = getInjectable({
state: di.inject(userPreferencesStateInjectable),
userShellSetting: di.inject(userShellSettingInjectable),
appName: di.inject(appNameInjectable),
buildVersion: di.inject(buildVersionInjectable),
buildVersion: di.inject(buildVersionInitializable.stateToken),
shellSessionEnvs: di.inject(shellSessionEnvsInjectable),
shellSessionProcesses: di.inject(shellSessionProcessesInjectable),
modifyTerminalShellEnv: di.inject(modifyTerminalShellEnvInjectable),

View File

@ -14,13 +14,13 @@ import readJsonSyncInjectable from "../../../common/fs/read-json-sync.injectable
import statInjectable from "../../../common/fs/stat.injectable";
import writeJsonSyncInjectable from "../../../common/fs/write-json-sync.injectable";
import platformInjectable from "../../../common/vars/platform.injectable";
import { buildVersionStateInjectable } from "../../../features/vars/build-version/main/init.injectable";
import { getDiForUnitTesting } from "../../getDiForUnitTesting";
import type { KubeconfigManager } from "../../kubeconfig-manager/kubeconfig-manager";
import kubeconfigManagerInjectable from "../../kubeconfig-manager/kubeconfig-manager.injectable";
import createKubectlInjectable from "../../kubectl/create-kubectl.injectable";
import type { Kubectl } from "../../kubectl/kubectl";
import lensProxyPortInjectable from "../../lens-proxy/lens-proxy-port.injectable";
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
import type { OpenShellSession } from "../create-shell-session.injectable";
import type { SpawnPty } from "../spawn-pty.injectable";
import spawnPtyInjectable from "../spawn-pty.injectable";
@ -34,9 +34,7 @@ describe("technical unit tests for local shell sessions", () => {
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
di.override(directoryForTempInjectable, () => "/some-directory-for-tmp");
di.override(buildVersionInjectable, () => ({
get: () => "1.1.1",
}));
di.override(buildVersionStateInjectable, () => "1.1.1");
di.override(pathExistsInjectable, () => () => { throw new Error("tried call pathExists without override"); });
di.override(pathExistsSyncInjectable, () => () => { throw new Error("tried call pathExistsSync without override"); });
di.override(readJsonSyncInjectable, () => () => { throw new Error("tried call readJsonSync without override"); });

View File

@ -15,7 +15,6 @@ import createKubeJsonApiForClusterInjectable from "../../../common/k8s-api/creat
import computeShellEnvironmentInjectable from "../../../features/shell-sync/main/compute-shell-environment.injectable";
import spawnPtyInjectable from "../spawn-pty.injectable";
import appNameInjectable from "../../../common/vars/app-name.injectable";
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import statInjectable from "../../../common/fs/stat.injectable";
import createKubeApiInjectable from "../../../common/k8s-api/create-kube-api.injectable";
@ -24,6 +23,7 @@ import kubeconfigManagerInjectable from "../../kubeconfig-manager/kubeconfig-man
import userShellSettingInjectable from "../../../features/user-preferences/common/shell-setting.injectable";
import shellSessionEnvsInjectable from "../shell-envs.injectable";
import shellSessionProcessesInjectable from "../processes.injectable";
import { buildVersionInitializable } from "../../../features/vars/build-version/common/token";
export interface NodeShellSessionArgs {
websocket: WebSocket;
@ -44,7 +44,7 @@ const openNodeShellSessionInjectable = getInjectable({
logger: di.inject(loggerInjectable),
userShellSetting: di.inject(userShellSettingInjectable),
appName: di.inject(appNameInjectable),
buildVersion: di.inject(buildVersionInjectable),
buildVersion: di.inject(buildVersionInitializable.stateToken),
shellSessionEnvs: di.inject(shellSessionEnvsInjectable),
shellSessionProcesses: di.inject(shellSessionProcessesInjectable),
createKubeJsonApiForCluster: di.inject(createKubeJsonApiForClusterInjectable),

View File

@ -15,7 +15,6 @@ import { type TerminalMessage, TerminalChannels } from "../../common/terminal/ch
import type { Logger } from "../../common/logger";
import type { ComputeShellEnvironment } from "../../features/shell-sync/main/compute-shell-environment.injectable";
import type { SpawnPty } from "./spawn-pty.injectable";
import type { InitializableState } from "../../common/initializable-state/create";
import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable";
import type { Stat } from "../../common/fs/stat.injectable";
import type { IComputedValue } from "mobx";
@ -112,7 +111,7 @@ export interface ShellSessionDependencies {
readonly logger: Logger;
readonly userShellSetting: IComputedValue<string>;
readonly appName: string;
readonly buildVersion: InitializableState<string>;
readonly buildVersion: string;
readonly proxyKubeconfigPath: string;
readonly directoryContainingKubectl: string;
readonly shellSessionEnvs: ShellSessionEnvs;
@ -363,7 +362,7 @@ export abstract class ShellSession {
env.PTYPID = process.pid.toString();
env.KUBECONFIG = this.dependencies.proxyKubeconfigPath;
env.TERM_PROGRAM = this.dependencies.appName;
env.TERM_PROGRAM_VERSION = this.dependencies.buildVersion.get();
env.TERM_PROGRAM_VERSION = this.dependencies.buildVersion;
if (this.cluster.preferences.httpsProxy) {
env.HTTPS_PROXY = this.cluster.preferences.httpsProxy;

View File

@ -10,11 +10,11 @@ import lensProxyPortInjectable from "../../lens-proxy/lens-proxy-port.injectable
import isWindowsInjectable from "../../../common/vars/is-windows.injectable";
import showErrorPopupInjectable from "../../electron-app/features/show-error-popup.injectable";
import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application";
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
import initializeBuildVersionInjectable from "../../vars/build-version/init.injectable";
import lensProxyCertificateInjectable from "../../../common/certificate/lens-proxy-certificate.injectable";
import fetchInjectable from "../../../common/fetch/fetch.injectable";
import { Agent } from "https";
import { buildVersionInitializable } from "../../../features/vars/build-version/common/token";
import { buildVersionInitializationInjectable } from "../../../features/vars/build-version/main/init.injectable";
const setupLensProxyInjectable = getInjectable({
id: "setup-lens-proxy",
@ -27,7 +27,7 @@ const setupLensProxyInjectable = getInjectable({
const lensProxyPort = di.inject(lensProxyPortInjectable);
const isWindows = di.inject(isWindowsInjectable);
const showErrorPopup = di.inject(showErrorPopupInjectable);
const buildVersion = di.inject(buildVersionInjectable);
const buildVersion = di.inject(buildVersionInitializable.stateToken);
const lensProxyCertificate = di.inject(lensProxyCertificateInjectable);
const fetch = di.inject(fetchInjectable);
@ -51,7 +51,7 @@ const setupLensProxyInjectable = getInjectable({
const { version: versionFromProxy } = await versionResponse.json() as { version: string };
if (buildVersion.get() !== versionFromProxy) {
if (buildVersion !== versionFromProxy) {
logger.error("Proxy server responded with invalid response");
return forceAppExit();
@ -76,7 +76,7 @@ const setupLensProxyInjectable = getInjectable({
return forceAppExit();
}
},
runAfter: initializeBuildVersionInjectable,
runAfter: buildVersionInitializationInjectable,
}),
causesSideEffects: true,

View File

@ -1,19 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { createInitializableState } from "../../../common/initializable-state/create";
import { buildVersionInjectionToken } from "../../../common/vars/build-semantic-version.injectable";
import getBuildVersionInjectable from "./get-build-version.injectable";
const buildVersionInjectable = createInitializableState({
id: "build-version",
init: (di) => {
const getBuildVersion = di.inject(getBuildVersionInjectable);
return getBuildVersion();
},
injectionToken: buildVersionInjectionToken,
});
export default buildVersionInjectable;

View File

@ -1,21 +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 { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application";
import buildVersionInjectable from "./build-version.injectable";
const initializeBuildVersionInjectable = getInjectable({
id: "initialize-build-version",
instantiate: (di) => ({
run: async () => {
const buildVersion = di.inject(buildVersionInjectable);
await buildVersion.init();
},
}),
injectionToken: beforeApplicationIsLoadingInjectionToken,
});
export default initializeBuildVersionInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import buildSemanticVersionInjectable from "../../../common/vars/build-semantic-version.injectable";
import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application";
import initializeBuildVersionInjectable from "../build-version/init.injectable";
import { buildVersionInitializationInjectable } from "../../../features/vars/build-version/main/init.injectable";
const initSemanticBuildVersionInjectable = getInjectable({
id: "init-semantic-build-version",
@ -16,7 +16,7 @@ const initSemanticBuildVersionInjectable = getInjectable({
await buildSemanticVersion.init();
},
runAfter: initializeBuildVersionInjectable,
runAfter: buildVersionInitializationInjectable,
};
},
injectionToken: beforeApplicationIsLoadingInjectionToken,

View File

@ -1,19 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { createInitializableState } from "../../../common/initializable-state/create";
import { requestFromChannelInjectionToken } from "@k8slens/messaging";
import { buildVersionChannel, buildVersionInjectionToken } from "../../../common/vars/build-semantic-version.injectable";
const buildVersionInjectable = createInitializableState({
id: "build-version",
init: (di) => {
const requestFromChannel = di.inject(requestFromChannelInjectionToken);
return requestFromChannel(buildVersionChannel);
},
injectionToken: buildVersionInjectionToken,
});
export default buildVersionInjectable;

View File

@ -1,21 +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 { beforeFrameStartsSecondInjectionToken } from "../../before-frame-starts/tokens";
import buildVersionInjectable from "./build-version.injectable";
const initializeBuildVersionInjectable = getInjectable({
id: "initialize-build-version",
instantiate: (di) => ({
run: async () => {
const buildVersion = di.inject(buildVersionInjectable);
await buildVersion.init();
},
}),
injectionToken: beforeFrameStartsSecondInjectionToken,
});
export default initializeBuildVersionInjectable;

View File

@ -4,8 +4,8 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import buildSemanticVersionInjectable from "../../../common/vars/build-semantic-version.injectable";
import { buildVersionInitializationInjectable } from "../../../features/vars/build-version/renderer/init.injectable";
import { beforeFrameStartsSecondInjectionToken } from "../../before-frame-starts/tokens";
import initializeBuildVersionInjectable from "../build-version/init.injectable";
const initSemanticBuildVersionInjectable = getInjectable({
id: "init-semantic-build-version",
@ -15,7 +15,7 @@ const initSemanticBuildVersionInjectable = getInjectable({
await buildSemanticVersion.init();
},
runAfter: initializeBuildVersionInjectable,
runAfter: buildVersionInitializationInjectable,
}),
injectionToken: beforeFrameStartsSecondInjectionToken,
});