diff --git a/packages/core/src/common/vars/build-semantic-version.injectable.ts b/packages/core/src/common/vars/build-semantic-version.injectable.ts deleted file mode 100644 index 279740adf5..0000000000 --- a/packages/core/src/common/vars/build-semantic-version.injectable.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { SemVer } from "semver"; -import { buildVersionInitializable } from "../../features/vars/build-version/common/token"; -import { createInitializableState } from "../initializable-state/create"; - -const buildSemanticVersionInjectable = createInitializableState({ - id: "build-semantic-version", - init: (di) => new SemVer(di.inject(buildVersionInitializable.stateToken)), -}); - -export default buildSemanticVersionInjectable; - diff --git a/packages/core/src/common/vars/release-channel.injectable.ts b/packages/core/src/common/vars/release-channel.injectable.ts index 6554fbc0ac..01395a760d 100644 --- a/packages/core/src/common/vars/release-channel.injectable.ts +++ b/packages/core/src/common/vars/release-channel.injectable.ts @@ -3,14 +3,14 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { createInitializableState } from "../initializable-state/create"; -import buildSemanticVersionInjectable from "./build-semantic-version.injectable"; import type { ReleaseChannel } from "../../features/application-update/common/update-channels"; +import { semanticBuildVersionInitializable } from "../../features/vars/semantic-build-version/common/token"; const releaseChannelInjectable = createInitializableState({ id: "release-channel", init: (di): ReleaseChannel => { - const buildSemanticVersion = di.inject(buildSemanticVersionInjectable); - const currentReleaseChannel = buildSemanticVersion.get().prerelease[0]; + const buildSemanticVersion = di.inject(semanticBuildVersionInitializable.stateToken); + const currentReleaseChannel = buildSemanticVersion.prerelease[0]; switch (currentReleaseChannel) { case "latest": diff --git a/packages/core/src/features/application-menu/main/menu-items/special-menu-for-mac-application/show-about-application/about-bundled-extensions.injectable.ts b/packages/core/src/features/application-menu/main/menu-items/special-menu-for-mac-application/show-about-application/about-bundled-extensions.injectable.ts index 59787ebfa1..d7e20147ec 100644 --- a/packages/core/src/features/application-menu/main/menu-items/special-menu-for-mac-application/show-about-application/about-bundled-extensions.injectable.ts +++ b/packages/core/src/features/application-menu/main/menu-items/special-menu-for-mac-application/show-about-application/about-bundled-extensions.injectable.ts @@ -6,16 +6,16 @@ import { applicationInformationToken } from "@k8slens/application"; import { getInjectable } from "@ogre-tools/injectable"; import { bundledExtensionInjectionToken } from "@k8slens/legacy-extensions"; import { object } from "@k8slens/utilities"; -import buildSemanticVersionInjectable from "../../../../../../common/vars/build-semantic-version.injectable"; +import { semanticBuildVersionInitializable } from "../../../../../vars/semantic-build-version/common/token"; const specificVersionsInjectable = getInjectable({ id: "specific-versions", instantiate: (di) => { - const buildSemanticVersion = di.inject(buildSemanticVersionInjectable); + const buildSemanticVersion = di.inject(semanticBuildVersionInitializable.stateToken); const bundledExtensions = di.injectMany(bundledExtensionInjectionToken); const applicationInformation = di.inject(applicationInformationToken); - if (buildSemanticVersion.get().prerelease[0] === "latest") { + if (buildSemanticVersion.prerelease[0] === "latest") { return []; } diff --git a/packages/core/src/features/vars/semantic-build-version/common/token.ts b/packages/core/src/features/vars/semantic-build-version/common/token.ts new file mode 100644 index 0000000000..e36e8d8026 --- /dev/null +++ b/packages/core/src/features/vars/semantic-build-version/common/token.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 type { SemVer } from "semver"; +import { getInitializable } from "../../../../common/initializable-state/create"; + +export const semanticBuildVersionInitializable = getInitializable("semantic-build-version"); diff --git a/packages/core/src/features/vars/semantic-build-version/main/init.injectable.ts b/packages/core/src/features/vars/semantic-build-version/main/init.injectable.ts new file mode 100644 index 0000000000..95c76ac62b --- /dev/null +++ b/packages/core/src/features/vars/semantic-build-version/main/init.injectable.ts @@ -0,0 +1,19 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ + +import { SemVer } from "semver"; +import { getInjectablesForInitializable } from "../../../../common/initializable-state/create"; +import { buildVersionInitializable } from "../../build-version/common/token"; +import { buildVersionInitializationInjectable } from "../../build-version/main/init.injectable"; +import { semanticBuildVersionInitializable } from "../common/token"; + +export const { + stateInjectable: semanticBuildVersionStateInjectable, + initializationInjectable: semanticBuildVersionInitializationInjectable, +} = getInjectablesForInitializable({ + init: (di) => new SemVer(di.inject(buildVersionInitializable.stateToken)), + token: semanticBuildVersionInitializable, + runAfter: buildVersionInitializationInjectable, +}); diff --git a/packages/core/src/features/vars/semantic-build-version/renderer/init.injectable.ts b/packages/core/src/features/vars/semantic-build-version/renderer/init.injectable.ts new file mode 100644 index 0000000000..98679a8519 --- /dev/null +++ b/packages/core/src/features/vars/semantic-build-version/renderer/init.injectable.ts @@ -0,0 +1,19 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ + +import { SemVer } from "semver"; +import { getInjectablesForInitializable } from "../../../../common/initializable-state/create"; +import { buildVersionInitializable } from "../../build-version/common/token"; +import { buildVersionInitializationInjectable } from "../../build-version/renderer/init.injectable"; +import { semanticBuildVersionInitializable } from "../common/token"; + +export const { + stateInjectable: semanticBuildVersionStateInjectable, + initializationInjectable: semanticBuildVersionInitializationInjectable, +} = getInjectablesForInitializable({ + init: (di) => new SemVer(di.inject(buildVersionInitializable.stateToken)), + token: semanticBuildVersionInitializable, + runAfter: buildVersionInitializationInjectable, +}); diff --git a/packages/core/src/main/vars/release-channel/init.injectable.ts b/packages/core/src/main/vars/release-channel/init.injectable.ts index 4871025132..8f35e956d7 100644 --- a/packages/core/src/main/vars/release-channel/init.injectable.ts +++ b/packages/core/src/main/vars/release-channel/init.injectable.ts @@ -5,7 +5,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import releaseChannelInjectable from "../../../common/vars/release-channel.injectable"; import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application"; -import initSemanticBuildVersionInjectable from "../semantic-build-version/init.injectable"; +import { semanticBuildVersionInitializationInjectable } from "../../../features/vars/semantic-build-version/main/init.injectable"; const initReleaseChannelInjectable = getInjectable({ id: "init-release-channel", @@ -15,7 +15,7 @@ const initReleaseChannelInjectable = getInjectable({ await releaseChannel.init(); }, - runAfter: initSemanticBuildVersionInjectable, + runAfter: semanticBuildVersionInitializationInjectable, }), injectionToken: beforeApplicationIsLoadingInjectionToken, }); diff --git a/packages/core/src/main/vars/semantic-build-version/init.injectable.ts b/packages/core/src/main/vars/semantic-build-version/init.injectable.ts deleted file mode 100644 index acf2ba8861..0000000000 --- a/packages/core/src/main/vars/semantic-build-version/init.injectable.ts +++ /dev/null @@ -1,25 +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 buildSemanticVersionInjectable from "../../../common/vars/build-semantic-version.injectable"; -import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application"; -import { buildVersionInitializationInjectable } from "../../../features/vars/build-version/main/init.injectable"; - -const initSemanticBuildVersionInjectable = getInjectable({ - id: "init-semantic-build-version", - instantiate: (di) => { - return { - run: async () => { - const buildSemanticVersion = di.inject(buildSemanticVersionInjectable); - - await buildSemanticVersion.init(); - }, - runAfter: buildVersionInitializationInjectable, - }; - }, - injectionToken: beforeApplicationIsLoadingInjectionToken, -}); - -export default initSemanticBuildVersionInjectable; diff --git a/packages/core/src/renderer/vars/release-channel/init.injectable.ts b/packages/core/src/renderer/vars/release-channel/init.injectable.ts index e49b9649a8..e49eeca68a 100644 --- a/packages/core/src/renderer/vars/release-channel/init.injectable.ts +++ b/packages/core/src/renderer/vars/release-channel/init.injectable.ts @@ -4,8 +4,8 @@ */ 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"; -import initSemanticBuildVersionInjectable from "../semantic-build-version/init.injectable"; const initReleaseChannelInjectable = getInjectable({ id: "init-release-channel", @@ -15,7 +15,7 @@ const initReleaseChannelInjectable = getInjectable({ await releaseChannel.init(); }, - runAfter: initSemanticBuildVersionInjectable, + runAfter: semanticBuildVersionInitializationInjectable, }), injectionToken: beforeFrameStartsSecondInjectionToken, }); diff --git a/packages/core/src/renderer/vars/semantic-build-version/init.injectable.ts b/packages/core/src/renderer/vars/semantic-build-version/init.injectable.ts deleted file mode 100644 index 7c11a19c31..0000000000 --- a/packages/core/src/renderer/vars/semantic-build-version/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 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"; - -const initSemanticBuildVersionInjectable = getInjectable({ - id: "init-semantic-build-version", - instantiate: (di) => ({ - run: async () => { - const buildSemanticVersion = di.inject(buildSemanticVersionInjectable); - - await buildSemanticVersion.init(); - }, - runAfter: buildVersionInitializationInjectable, - }), - injectionToken: beforeFrameStartsSecondInjectionToken, -}); - -export default initSemanticBuildVersionInjectable;