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

chore: Switch semanticBuildVersion to use new Initializable

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-04-17 16:27:22 -04:00
parent 8a3e204e74
commit 6fa9e2cde6
10 changed files with 57 additions and 74 deletions

View File

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

View File

@ -3,14 +3,14 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { createInitializableState } from "../initializable-state/create"; import { createInitializableState } from "../initializable-state/create";
import buildSemanticVersionInjectable from "./build-semantic-version.injectable";
import type { ReleaseChannel } from "../../features/application-update/common/update-channels"; import type { ReleaseChannel } from "../../features/application-update/common/update-channels";
import { semanticBuildVersionInitializable } from "../../features/vars/semantic-build-version/common/token";
const releaseChannelInjectable = createInitializableState({ const releaseChannelInjectable = createInitializableState({
id: "release-channel", id: "release-channel",
init: (di): ReleaseChannel => { init: (di): ReleaseChannel => {
const buildSemanticVersion = di.inject(buildSemanticVersionInjectable); const buildSemanticVersion = di.inject(semanticBuildVersionInitializable.stateToken);
const currentReleaseChannel = buildSemanticVersion.get().prerelease[0]; const currentReleaseChannel = buildSemanticVersion.prerelease[0];
switch (currentReleaseChannel) { switch (currentReleaseChannel) {
case "latest": case "latest":

View File

@ -6,16 +6,16 @@ import { applicationInformationToken } from "@k8slens/application";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { bundledExtensionInjectionToken } from "@k8slens/legacy-extensions"; import { bundledExtensionInjectionToken } from "@k8slens/legacy-extensions";
import { object } from "@k8slens/utilities"; 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({ const specificVersionsInjectable = getInjectable({
id: "specific-versions", id: "specific-versions",
instantiate: (di) => { instantiate: (di) => {
const buildSemanticVersion = di.inject(buildSemanticVersionInjectable); const buildSemanticVersion = di.inject(semanticBuildVersionInitializable.stateToken);
const bundledExtensions = di.injectMany(bundledExtensionInjectionToken); const bundledExtensions = di.injectMany(bundledExtensionInjectionToken);
const applicationInformation = di.inject(applicationInformationToken); const applicationInformation = di.inject(applicationInformationToken);
if (buildSemanticVersion.get().prerelease[0] === "latest") { if (buildSemanticVersion.prerelease[0] === "latest") {
return []; return [];
} }

View File

@ -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<SemVer>("semantic-build-version");

View File

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

View File

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

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import releaseChannelInjectable from "../../../common/vars/release-channel.injectable"; import releaseChannelInjectable from "../../../common/vars/release-channel.injectable";
import { beforeApplicationIsLoadingInjectionToken } from "@k8slens/application"; 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({ const initReleaseChannelInjectable = getInjectable({
id: "init-release-channel", id: "init-release-channel",
@ -15,7 +15,7 @@ const initReleaseChannelInjectable = getInjectable({
await releaseChannel.init(); await releaseChannel.init();
}, },
runAfter: initSemanticBuildVersionInjectable, runAfter: semanticBuildVersionInitializationInjectable,
}), }),
injectionToken: beforeApplicationIsLoadingInjectionToken, injectionToken: beforeApplicationIsLoadingInjectionToken,
}); });

View File

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

View File

@ -4,8 +4,8 @@
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import releaseChannelInjectable from "../../../common/vars/release-channel.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 { beforeFrameStartsSecondInjectionToken } from "../../before-frame-starts/tokens";
import initSemanticBuildVersionInjectable from "../semantic-build-version/init.injectable";
const initReleaseChannelInjectable = getInjectable({ const initReleaseChannelInjectable = getInjectable({
id: "init-release-channel", id: "init-release-channel",
@ -15,7 +15,7 @@ const initReleaseChannelInjectable = getInjectable({
await releaseChannel.init(); await releaseChannel.init();
}, },
runAfter: initSemanticBuildVersionInjectable, runAfter: semanticBuildVersionInitializationInjectable,
}), }),
injectionToken: beforeFrameStartsSecondInjectionToken, injectionToken: beforeFrameStartsSecondInjectionToken,
}); });

View File

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