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:
parent
72a01cdc17
commit
1b96a94c14
@ -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;
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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);
|
||||
};
|
||||
|
||||
@ -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();
|
||||
},
|
||||
});
|
||||
@ -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;
|
||||
@ -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);
|
||||
},
|
||||
});
|
||||
@ -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",
|
||||
@ -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,
|
||||
});
|
||||
|
||||
@ -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({
|
||||
instantiate: (di) => route({
|
||||
method: "get",
|
||||
path: `/version`,
|
||||
})(() => ({
|
||||
response: {
|
||||
version: buildVersion.get(),
|
||||
},
|
||||
}));
|
||||
version: di.inject(buildVersionInitializable.stateToken),
|
||||
},
|
||||
})),
|
||||
});
|
||||
|
||||
export default getVersionRouteInjectable;
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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"); });
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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;
|
||||
@ -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;
|
||||
@ -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,
|
||||
|
||||
@ -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;
|
||||
@ -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;
|
||||
@ -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,
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user