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"; import fetchMock from "jest-fetch-mock";
// setup default configuration for external npm-packages
configurePackages();
// rewire global.fetch to call 'fetchMock' // rewire global.fetch to call 'fetchMock'
fetchMock.enableMocks(); fetchMock.enableMocks();

View File

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

View File

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