mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
- Add distinction between `getInstance` and `getInstanceOrCreate` since it is not always possible to create an instance (since you might not know the correct arguments) - Remove all the `export const *Store = *Store.getInstance<*Store>();` calls as it defeats the purpose of `Singleton`. Plus with the typing changes the appropriate `*Store.getInstance()` is "short enough". - Special case the two extension export facades to not need to use `getInstanceOrCreate`. Plus since they are just facades it is always possible to create them. - Move some other types to be also `Singleton`'s: ExtensionLoader, ExtensionDiscovery, ThemeStore, LocalizationStore, ... - Fixed dev-run always using the same port with electron inspect - Update Store documentation with new recommendations about creating instances of singletons - Fix all unit tests to create their dependent singletons Signed-off-by: Sebastian Malton <sebastian@malton.name>
24 lines
675 B
TypeScript
24 lines
675 B
TypeScript
import { app } from "electron";
|
|
import { WindowManager } from "./window-manager";
|
|
import { appEventBus } from "../common/event-bus";
|
|
import { ClusterManager } from "./cluster-manager";
|
|
import logger from "./logger";
|
|
|
|
export function exitApp() {
|
|
console.log("before windowManager");
|
|
const windowManager = WindowManager.getInstance(false);
|
|
|
|
console.log("before clusterManager");
|
|
const clusterManager = ClusterManager.getInstance(false);
|
|
|
|
console.log("after clusterManager");
|
|
|
|
appEventBus.emit({ name: "service", action: "close" });
|
|
windowManager?.hide();
|
|
clusterManager?.stop();
|
|
logger.info("SERVICE:QUIT");
|
|
setTimeout(() => {
|
|
app.exit();
|
|
}, 1000);
|
|
}
|