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

refactoring configuration of external packages with explicit function-call (mobx/immer)

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2021-05-03 13:17:23 +03:00
parent 170412a2c4
commit e9bdd3d3f4
5 changed files with 32 additions and 25 deletions

View File

@ -0,0 +1,20 @@
// Setup default configuration for external npm-packages.
import * as Mobx from "mobx";
import * as Immer from "immer";
export default function configurePackages() {
// Docs: https://mobx.js.org/configuration.html
Mobx.configure({
enforceActions: "never",
isolateGlobalState: true,
// TODO: enable later (read more: https://mobx.js.org/migrating-from-4-or-5.html)
// computedRequiresReaction: true,
// reactionRequiresObservable: true,
// observableRequiresReaction: true,
});
// Docs: https://immerjs.github.io/immer/
Immer.setAutoFreeze(false); // allow to merge mobx observables
Immer.enableMapSet(); // allow to merge maps and sets
}

View File

@ -1,19 +0,0 @@
// Global configuration setup for external packages.
// Should be imported at the top of app's entry points.
import * as Mobx from "mobx";
import * as Immer from "immer";
// Docs: https://mobx.js.org/configuration.html
Mobx.configure({
enforceActions: "never",
isolateGlobalState: true,
// TODO: enable later (read more: https://mobx.js.org/migrating-from-4-or-5.html)
// computedRequiresReaction: true,
// reactionRequiresObservable: true,
// observableRequiresReaction: true,
});
// Docs: https://immerjs.github.io/immer/
Immer.setAutoFreeze(false); // allow to merge mobx observables
Immer.enableMapSet(); // allow to merge maps and sets

View File

@ -1,6 +1,9 @@
import "./common/libs-config";
import configurePackages from "./common/configure-packages";
import fetchMock from "jest-fetch-mock";
// setup default configuration for external npm-packages
configurePackages();
// rewire global.fetch to call 'fetchMock'
fetchMock.enableMocks();

View File

@ -1,11 +1,10 @@
// Main process
import "../common/system-ca";
import "../common/libs-config";
import "../common/prometheus-providers";
import * as Mobx from "mobx";
import * as LensExtensions from "../extensions/core-api";
import { app, autoUpdater, ipcMain, dialog, powerMonitor } from "electron";
import { app, autoUpdater, dialog, ipcMain, powerMonitor } from "electron";
import { appName, isMac, productName } from "../common/vars";
import path from "path";
import { LensProxy } from "./lens-proxy";
@ -21,7 +20,7 @@ import { UserStore } from "../common/user-store";
import { appEventBus } from "../common/event-bus";
import { ExtensionLoader } from "../extensions/extension-loader";
import { ExtensionsStore } from "../extensions/extensions-store";
import { InstalledExtension, ExtensionDiscovery } from "../extensions/extension-discovery";
import { ExtensionDiscovery, InstalledExtension } from "../extensions/extension-discovery";
import type { LensExtensionId } from "../extensions/lens-extension";
import { FilesystemProvisionerStore } from "./extension-filesystem";
import { installDeveloperTools } from "./developer-tools";
@ -34,6 +33,7 @@ import { CatalogPusher } from "./catalog-pusher";
import { catalogEntityRegistry } from "../common/catalog";
import { HotbarStore } from "../common/hotbar-store";
import { HelmRepoManager } from "./helm/helm-repo-manager";
import configurePackages from "../common/configure-packages";
const workingDir = path.join(app.getPath("appData"), appName);
@ -55,6 +55,7 @@ if (process.env.LENS_DISABLE_GPU) {
app.disableHardwareAcceleration();
}
configurePackages();
mangleProxyEnv();
if (app.commandLine.getSwitchValue("proxy-server") !== "") {
@ -236,7 +237,7 @@ autoUpdater.on("before-quit-for-update", () => blockQuit = false);
app.on("will-quit", (event) => {
// Quit app on Cmd+Q (MacOS)
logger.info("APP:QUIT");
appEventBus.emit({name: "app", action: "close"});
appEventBus.emit({ name: "app", action: "close" });
ClusterManager.getInstance(false)?.stop(); // close cluster connections
if (blockQuit) {

View File

@ -1,5 +1,4 @@
import "./components/app.scss";
import "../common/libs-config";
import React from "react";
import * as Mobx from "mobx";
import * as MobxReact from "mobx-react";
@ -21,6 +20,9 @@ import { LensApp } from "./lens-app";
import { ThemeStore } from "./theme.store";
import { HelmRepoManager } from "../main/helm/helm-repo-manager";
import { ExtensionInstallationStateStore } from "./components/+extensions/extension-install.store";
import configurePackages from "../common/configure-packages";
configurePackages();
/**
* If this is a development buid, wait a second to attach