Remove global version of appEventBus (#6096)

* Remove global version of appEventBus

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Introduce a temporary but better shape of ExecFileInjectable error

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2022-10-31 14:59:05 +02:00
1 parent ba349e8b8d
commit 900f02fd8c
53 files changed
+330 -283

No files matched your search

@@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { afterApplicationIsLoadedInjectionToken } from "../../../main/start-main-application/runnable-tokens/after-application-is-loaded-injection-token";
import emitEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
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";
@@ -12,13 +12,13 @@ const emitCurrentVersionToAnalyticsInjectable = getInjectable({
id: "emit-current-version-to-analytics",
instantiate: (di) => {
const emitEvent = di.inject(emitEventInjectable);
const emitAppEvent = di.inject(emitAppEventInjectable);
const buildVersion = di.inject(buildVersionInjectable);
return {
id: "emit-current-version-to-analytics",
run: () => {
emitEvent({
emitAppEvent({
name: "app",
action: "current-version",
@@ -9,7 +9,7 @@ import discoveredUpdateVersionInjectable from "../common/discovered-update-versi
import { runInAction } from "mobx";
import downloadUpdateInjectable from "./download-update/download-update.injectable";
import checkForUpdatesStartingFromChannelInjectable from "./check-for-updates/check-for-updates-starting-from-channel.injectable";
import emitEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import { getCurrentDateTime } from "../../../common/utils/date/get-current-date-time";
const processCheckingForUpdatesInjectable = getInjectable({
@@ -21,7 +21,7 @@ const processCheckingForUpdatesInjectable = getInjectable({
const checkingForUpdatesState = di.inject(updatesAreBeingDiscoveredInjectable);
const discoveredVersionState = di.inject(discoveredUpdateVersionInjectable);
const checkForUpdatesStartingFromChannel = di.inject(checkForUpdatesStartingFromChannelInjectable);
const emitEvent = di.inject(emitEventInjectable);
const emitEvent = di.inject(emitAppEventInjectable);
return async (source: string) => {
emitEvent({
@@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import electronQuitAndInstallUpdateInjectable from "../../../main/electron-app/features/electron-quit-and-install-update.injectable";
import { getCurrentDateTime } from "../../../common/utils/date/get-current-date-time";
import emitEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
import discoveredUpdateVersionInjectable from "../common/discovered-update-version/discovered-update-version.injectable";
const quitAndInstallUpdateInjectable = getInjectable({
@@ -16,7 +16,7 @@ const quitAndInstallUpdateInjectable = getInjectable({
electronQuitAndInstallUpdateInjectable,
);
const emitEvent = di.inject(emitEventInjectable);
const emitEvent = di.inject(emitAppEventInjectable);
const discoveredUpdateVersion = di.inject(discoveredUpdateVersionInjectable);
return () => {
@@ -17,7 +17,6 @@ import { type ApplicationBuilder, getApplicationBuilder } from "../../../rendere
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
import type { Cluster } from "../../../common/cluster/cluster";
import navigateToCatalogInjectable from "../../../common/front-end-routing/routes/catalog/navigate-to-catalog.injectable";
import appEventBusInjectable from "../../../common/app-event-bus/app-event-bus.injectable";
import directoryForKubeConfigsInjectable from "../../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
import joinPathsInjectable from "../../../common/path/join-paths.injectable";
@@ -93,9 +92,6 @@ describe("Deleting a cluster", () => {
builder.beforeWindowStart((windowDi) => {
windowDi.override(storesAndApisCanBeCreatedInjectable, () => true);
openDeleteClusterDialog = windowDi.inject(openDeleteClusterDialogInjectable);
// TODO: remove this line when all global uses of appEventBus are removed
windowDi.permitSideEffects(appEventBusInjectable);
});
builder.afterWindowStart(windowDi => {
@@ -2,19 +2,20 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import appEventBusInjectable from "../../../../common/app-event-bus/app-event-bus.injectable";
import emitAppEventInjectable from "../../../../common/app-event-bus/emit-event.injectable";
import clusterFramesInjectable from "../../../../common/cluster-frames.injectable";
import clusterStoreInjectable from "../../../../common/cluster-store/cluster-store.injectable";
import directoryForLensLocalStorageInjectable from "../../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
import deleteFileInjectable from "../../../../common/fs/delete-file.injectable";
import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
import { noop } from "../../../../common/utils";
import { getRequestChannelListenerInjectable } from "../../../../main/utils/channel/channel-listeners/listener-tokens";
import { deleteClusterChannel } from "../common/delete-channel";
const deleteClusterChannelListenerInjectable = getRequestChannelListenerInjectable({
channel: deleteClusterChannel,
handler: (di) => {
const appEventBus = di.inject(appEventBusInjectable);
const emitAppEvent = di.inject(emitAppEventInjectable);
const clusterStore = di.inject(clusterStoreInjectable);
const clusterFrames = di.inject(clusterFramesInjectable);
const joinPaths = di.inject(joinPathsInjectable);
@@ -22,7 +23,7 @@ const deleteClusterChannelListenerInjectable = getRequestChannelListenerInjectab
const deleteFile = di.inject(deleteFileInjectable);
return async (clusterId) => {
appEventBus.emit({ name: "cluster", action: "remove" });
emitAppEvent({ name: "cluster", action: "remove" });
const cluster = clusterStore.getById(clusterId);
@@ -36,14 +37,10 @@ const deleteClusterChannelListenerInjectable = getRequestChannelListenerInjectab
// Remove from the cluster store as well, this should clear any old settings
clusterStore.clusters.delete(cluster.id);
try {
// remove the local storage file
const localStorageFilePath = joinPaths(directoryForLensLocalStorage, `${cluster.id}.json`);
// remove the local storage file
const localStorageFilePath = joinPaths(directoryForLensLocalStorage, `${cluster.id}.json`);
await deleteFile(localStorageFilePath);
} catch {
// ignore error
}
await deleteFile(localStorageFilePath).catch(noop);
};
},
});
@@ -185,10 +185,9 @@ describe("add custom helm repository in preferences", () => {
beforeEach(async () => {
await execFileMock.resolve({
callWasSuccessful: false,
error: {
error: new Error("Some error"),
error: Object.assign(new Error("Some error"), {
stderr: "",
},
}),
});
});
@@ -130,10 +130,9 @@ describe("add helm repository from list in preferences", () => {
beforeEach(async () => {
await execFileMock.resolve({
callWasSuccessful: false,
error: {
error: new Error("Some error"),
error: Object.assign(new Error("Some error"), {
stderr: "",
},
}),
});
});
@@ -85,10 +85,9 @@ describe("listing active helm repositories in preferences", () => {
beforeEach(async () => {
await execFileMock.resolve({
callWasSuccessful: false,
error: {
error: new Error("some error"),
error: Object.assign(new Error("Some error"), {
stderr: "some-error",
},
}),
});
});
@@ -235,10 +234,9 @@ describe("listing active helm repositories in preferences", () => {
beforeEach(async () => {
await execFileMock.resolve({
callWasSuccessful: false,
error: {
error: new Error("Some error"),
error: Object.assign(new Error("Some error"), {
stderr: "Some error",
},
}),
});
});
@@ -271,10 +269,9 @@ describe("listing active helm repositories in preferences", () => {
await execFileMock.resolve({
callWasSuccessful: false,
error: {
error: new Error("no repositories found. You must add one before updating"),
error: Object.assign(new Error("no repositories found. You must add one before updating"), {
stderr: "no repositories found. You must add one before updating",
},
}),
});
});
@@ -300,10 +297,9 @@ describe("listing active helm repositories in preferences", () => {
beforeEach(async () => {
await execFileMock.resolve({
callWasSuccessful: false,
error: {
error: new Error("Some error"),
error: Object.assign(new Error("Some error"), {
stderr: "Some error",
},
}),
});
});