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:
parent
170412a2c4
commit
e9bdd3d3f4
20
src/common/configure-packages.ts
Normal file
20
src/common/configure-packages.ts
Normal 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
|
||||||
|
}
|
||||||
@ -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
|
|
||||||
@ -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();
|
||||||
|
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user