From fc18c61d367400fbb18fe81bc3ea7edf1ce8cbf1 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Mon, 17 Apr 2023 16:37:02 -0400 Subject: [PATCH] chore: Switch releaseChannel to not use Initializable at all Signed-off-by: Sebastian Malton --- .../src/common/__tests__/user-store.test.ts | 7 ++---- .../default-update-channel.injectable.ts | 4 ++-- .../update-can-be-downgraded.injectable.ts | 4 ++-- .../common}/release-channel.injectable.ts | 9 ++++---- .../default-update-channel/init.injectable.ts | 4 ++-- .../vars/release-channel/init.injectable.ts | 23 ------------------- .../default-update-channel/init.injectable.ts | 4 ++-- .../vars/release-channel/init.injectable.ts | 23 ------------------- 8 files changed, 14 insertions(+), 64 deletions(-) rename packages/core/src/{common/vars => features/vars/common}/release-channel.injectable.ts (60%) delete mode 100644 packages/core/src/main/vars/release-channel/init.injectable.ts delete mode 100644 packages/core/src/renderer/vars/release-channel/init.injectable.ts diff --git a/packages/core/src/common/__tests__/user-store.test.ts b/packages/core/src/common/__tests__/user-store.test.ts index eee46fa9a4..bbf78aea0e 100644 --- a/packages/core/src/common/__tests__/user-store.test.ts +++ b/packages/core/src/common/__tests__/user-store.test.ts @@ -8,7 +8,6 @@ import { defaultThemeId } from "../vars"; import writeFileInjectable from "../fs/write-file.injectable"; import { getDiForUnitTesting } from "../../main/getDiForUnitTesting"; import storeMigrationVersionInjectable from "../vars/store-migration-version.injectable"; -import releaseChannelInjectable from "../vars/release-channel.injectable"; import defaultUpdateChannelInjectable from "../../features/application-update/common/selected-update-channel/default-update-channel.injectable"; import writeJsonSyncInjectable from "../fs/write-json-sync.injectable"; import writeFileSyncInjectable from "../fs/write-file-sync.injectable"; @@ -18,6 +17,7 @@ import userPreferencesPersistentStorageInjectable from "../../features/user-pref import type { ResetTheme } from "../../features/user-preferences/common/reset-theme.injectable"; import resetThemeInjectable from "../../features/user-preferences/common/reset-theme.injectable"; import type { ClusterStoreModel } from "../../features/cluster/storage/common/storage.injectable"; +import releaseChannelInjectable from "../../features/vars/common/release-channel.injectable"; describe("user store tests", () => { let state: UserPreferencesState; @@ -30,10 +30,7 @@ describe("user store tests", () => { di.override(writeFileInjectable, () => () => Promise.resolve()); di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data"); - di.override(releaseChannelInjectable, () => ({ - get: () => "latest" as const, - init: async () => {}, - })); + di.override(releaseChannelInjectable, () => "latest"); await di.inject(defaultUpdateChannelInjectable).init(); diff --git a/packages/core/src/features/application-update/common/selected-update-channel/default-update-channel.injectable.ts b/packages/core/src/features/application-update/common/selected-update-channel/default-update-channel.injectable.ts index 0be5adca42..11d55c0a68 100644 --- a/packages/core/src/features/application-update/common/selected-update-channel/default-update-channel.injectable.ts +++ b/packages/core/src/features/application-update/common/selected-update-channel/default-update-channel.injectable.ts @@ -2,13 +2,13 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import releaseChannelInjectable from "../../../../common/vars/release-channel.injectable"; import { updateChannels } from "../update-channels"; import { createInitializableState } from "../../../../common/initializable-state/create"; +import releaseChannelInjectable from "../../../vars/common/release-channel.injectable"; const defaultUpdateChannelInjectable = createInitializableState({ id: "default-update-channel", - init: (di) => updateChannels[di.inject(releaseChannelInjectable).get()], + init: (di) => updateChannels[di.inject(releaseChannelInjectable)], }); export default defaultUpdateChannelInjectable; diff --git a/packages/core/src/features/application-update/main/check-for-updates/update-can-be-downgraded.injectable.ts b/packages/core/src/features/application-update/main/check-for-updates/update-can-be-downgraded.injectable.ts index d5f27464be..dae91c6b10 100644 --- a/packages/core/src/features/application-update/main/check-for-updates/update-can-be-downgraded.injectable.ts +++ b/packages/core/src/features/application-update/main/check-for-updates/update-can-be-downgraded.injectable.ts @@ -4,8 +4,8 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { computed } from "mobx"; +import releaseChannelInjectable from "../../../vars/common/release-channel.injectable"; import selectedUpdateChannelInjectable from "../../common/selected-update-channel/selected-update-channel.injectable"; -import releaseChannelInjectable from "../../../../common/vars/release-channel.injectable"; const updateCanBeDowngradedInjectable = getInjectable({ id: "update-can-be-downgraded", @@ -16,7 +16,7 @@ const updateCanBeDowngradedInjectable = getInjectable({ return computed(() => ( selectedUpdateChannel.value.get().id === "latest" - && releaseChannel.get() !== "latest" + && releaseChannel !== "latest" )); }, }); diff --git a/packages/core/src/common/vars/release-channel.injectable.ts b/packages/core/src/features/vars/common/release-channel.injectable.ts similarity index 60% rename from packages/core/src/common/vars/release-channel.injectable.ts rename to packages/core/src/features/vars/common/release-channel.injectable.ts index 01395a760d..485d99e54e 100644 --- a/packages/core/src/common/vars/release-channel.injectable.ts +++ b/packages/core/src/features/vars/common/release-channel.injectable.ts @@ -2,13 +2,12 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { createInitializableState } from "../initializable-state/create"; -import type { ReleaseChannel } from "../../features/application-update/common/update-channels"; -import { semanticBuildVersionInitializable } from "../../features/vars/semantic-build-version/common/token"; +import { getInjectable } from "@ogre-tools/injectable"; +import { semanticBuildVersionInitializable } from "../semantic-build-version/common/token"; -const releaseChannelInjectable = createInitializableState({ +const releaseChannelInjectable = getInjectable({ id: "release-channel", - init: (di): ReleaseChannel => { + instantiate: (di) => { const buildSemanticVersion = di.inject(semanticBuildVersionInitializable.stateToken); const currentReleaseChannel = buildSemanticVersion.prerelease[0]; diff --git a/packages/core/src/main/vars/default-update-channel/init.injectable.ts b/packages/core/src/main/vars/default-update-channel/init.injectable.ts index b0643149a4..56300a1d77 100644 --- a/packages/core/src/main/vars/default-update-channel/init.injectable.ts +++ b/packages/core/src/main/vars/default-update-channel/init.injectable.ts @@ -4,8 +4,8 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application"; -import initReleaseChannelInjectable from "../release-channel/init.injectable"; import defaultUpdateChannelInjectable from "../../../features/application-update/common/selected-update-channel/default-update-channel.injectable"; +import { semanticBuildVersionInitializationInjectable } from "../../../features/vars/semantic-build-version/main/init.injectable"; const initDefaultUpdateChannelInjectable = getInjectable({ id: "init-default-update-channel", @@ -15,7 +15,7 @@ const initDefaultUpdateChannelInjectable = getInjectable({ await defaultUpdateChannel.init(); }, - runAfter: initReleaseChannelInjectable, + runAfter: semanticBuildVersionInitializationInjectable, }), injectionToken: beforeApplicationIsLoadingInjectionToken, }); diff --git a/packages/core/src/main/vars/release-channel/init.injectable.ts b/packages/core/src/main/vars/release-channel/init.injectable.ts deleted file mode 100644 index 8f35e956d7..0000000000 --- a/packages/core/src/main/vars/release-channel/init.injectable.ts +++ /dev/null @@ -1,23 +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 releaseChannelInjectable from "../../../common/vars/release-channel.injectable"; -import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application"; -import { semanticBuildVersionInitializationInjectable } from "../../../features/vars/semantic-build-version/main/init.injectable"; - -const initReleaseChannelInjectable = getInjectable({ - id: "init-release-channel", - instantiate: (di) => ({ - run: async () => { - const releaseChannel = di.inject(releaseChannelInjectable); - - await releaseChannel.init(); - }, - runAfter: semanticBuildVersionInitializationInjectable, - }), - injectionToken: beforeApplicationIsLoadingInjectionToken, -}); - -export default initReleaseChannelInjectable; diff --git a/packages/core/src/renderer/vars/default-update-channel/init.injectable.ts b/packages/core/src/renderer/vars/default-update-channel/init.injectable.ts index 7624d1f335..d36573c2ad 100644 --- a/packages/core/src/renderer/vars/default-update-channel/init.injectable.ts +++ b/packages/core/src/renderer/vars/default-update-channel/init.injectable.ts @@ -4,8 +4,8 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { beforeFrameStartsSecondInjectionToken } from "../../before-frame-starts/tokens"; -import initReleaseChannelInjectable from "../release-channel/init.injectable"; import defaultUpdateChannelInjectable from "../../../features/application-update/common/selected-update-channel/default-update-channel.injectable"; +import { semanticBuildVersionInitializationInjectable } from "../../../features/vars/semantic-build-version/renderer/init.injectable"; const initDefaultUpdateChannelInjectable = getInjectable({ id: "init-default-update-channel", @@ -15,7 +15,7 @@ const initDefaultUpdateChannelInjectable = getInjectable({ await defaultUpdateChannel.init(); }, - runAfter: initReleaseChannelInjectable, + runAfter: semanticBuildVersionInitializationInjectable, }), injectionToken: beforeFrameStartsSecondInjectionToken, }); diff --git a/packages/core/src/renderer/vars/release-channel/init.injectable.ts b/packages/core/src/renderer/vars/release-channel/init.injectable.ts deleted file mode 100644 index e49eeca68a..0000000000 --- a/packages/core/src/renderer/vars/release-channel/init.injectable.ts +++ /dev/null @@ -1,23 +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 releaseChannelInjectable from "../../../common/vars/release-channel.injectable"; -import { semanticBuildVersionInitializationInjectable } from "../../../features/vars/semantic-build-version/renderer/init.injectable"; -import { beforeFrameStartsSecondInjectionToken } from "../../before-frame-starts/tokens"; - -const initReleaseChannelInjectable = getInjectable({ - id: "init-release-channel", - instantiate: (di) => ({ - run: async () => { - const releaseChannel = di.inject(releaseChannelInjectable); - - await releaseChannel.init(); - }, - runAfter: semanticBuildVersionInitializationInjectable, - }), - injectionToken: beforeFrameStartsSecondInjectionToken, -}); - -export default initReleaseChannelInjectable;