mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Replace more overrides with global ones
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
5b505e339d
commit
3063afe6e3
@ -1,27 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
||||||
*/
|
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
|
||||||
|
|
||||||
const environmentVariablesInjectable = getInjectable({
|
|
||||||
id: "environment-variables",
|
|
||||||
|
|
||||||
instantiate: () => {
|
|
||||||
const JEST_WORKER_ID = process.env.JEST_WORKER_ID;
|
|
||||||
const CICD = process.env.CICD;
|
|
||||||
|
|
||||||
return {
|
|
||||||
// Compile-time environment variables
|
|
||||||
JEST_WORKER_ID,
|
|
||||||
CICD,
|
|
||||||
|
|
||||||
// Runtime environment variables
|
|
||||||
LENS_DISABLE_GPU: process.env.LENS_DISABLE_GPU,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
causesSideEffects: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
export default environmentVariablesInjectable;
|
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../test-utils/get-global-override";
|
||||||
|
import getRandomIdInjectable from "./get-random-id.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(getRandomIdInjectable, () => () => "some-irrelevant-random-id");
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../test-utils/get-global-override";
|
||||||
|
import lensResourcesDirInjectable from "./lens-resources-dir.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(lensResourcesDirInjectable, () => "/irrelavent-dir-for-lens-resources");
|
||||||
@ -3,11 +3,14 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import processArchInjectable from "./process-arch.injectable";
|
||||||
|
|
||||||
const normalizedPlatformArchitectureInjectable = getInjectable({
|
const normalizedPlatformArchitectureInjectable = getInjectable({
|
||||||
id: "normalized-platform-architecture",
|
id: "normalized-platform-architecture",
|
||||||
instantiate: () => {
|
instantiate: (di) => {
|
||||||
switch (process.arch) {
|
const platformArch = di.inject(processArchInjectable);
|
||||||
|
|
||||||
|
switch (platformArch) {
|
||||||
case "arm64":
|
case "arm64":
|
||||||
return "arm64";
|
return "arm64";
|
||||||
case "x64":
|
case "x64":
|
||||||
@ -18,10 +21,9 @@ const normalizedPlatformArchitectureInjectable = getInjectable({
|
|||||||
case "ia32":
|
case "ia32":
|
||||||
return "ia32";
|
return "ia32";
|
||||||
default:
|
default:
|
||||||
throw new Error(`arch=${process.arch} is unsupported`);
|
throw new Error(`arch=${platformArch} is unsupported`);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
causesSideEffects: true,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default normalizedPlatformArchitectureInjectable;
|
export default normalizedPlatformArchitectureInjectable;
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../test-utils/get-global-override";
|
||||||
|
import platformInjectable from "./platform.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(platformInjectable, () => "darwin");
|
||||||
@ -4,7 +4,6 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
|
||||||
// Todo: OCP by creating distinct injectables for platforms.
|
|
||||||
export const allPlatforms = ["win32", "darwin", "linux"] as const;
|
export const allPlatforms = ["win32", "darwin", "linux"] as const;
|
||||||
|
|
||||||
const platformInjectable = getInjectable({
|
const platformInjectable = getInjectable({
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../test-utils/get-global-override";
|
||||||
|
import processArchInjectable from "./process-arch.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(processArchInjectable, () => "x64");
|
||||||
13
src/common/vars/process-arch.injectable.ts
Normal file
13
src/common/vars/process-arch.injectable.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
|
||||||
|
const processArchInjectable = getInjectable({
|
||||||
|
id: "process-arch",
|
||||||
|
instantiate: () => process.arch,
|
||||||
|
causesSideEffects: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default processArchInjectable;
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../../../common/test-utils/get-global-override";
|
||||||
|
import directoryForIntegrationTestingInjectable from "./directory-for-integration-testing.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(directoryForIntegrationTestingInjectable, () => undefined);
|
||||||
@ -3,16 +3,11 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import environmentVariablesInjectable from "../../../common/utils/environment-variables.injectable";
|
|
||||||
|
|
||||||
const directoryForIntegrationTestingInjectable = getInjectable({
|
const directoryForIntegrationTestingInjectable = getInjectable({
|
||||||
id: "directory-for-integration-testing",
|
id: "directory-for-integration-testing",
|
||||||
|
instantiate: () => process.env.CICD,
|
||||||
instantiate: (di) => {
|
causesSideEffects: true,
|
||||||
const environmentVariables = di.inject(environmentVariablesInjectable);
|
|
||||||
|
|
||||||
return environmentVariables.CICD;
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default directoryForIntegrationTestingInjectable;
|
export default directoryForIntegrationTestingInjectable;
|
||||||
|
|||||||
@ -28,6 +28,17 @@ export default getGlobalOverride(electronAppInjectable, () => {
|
|||||||
hasSwitch: (key) => chromiumArgs.has(key),
|
hasSwitch: (key) => chromiumArgs.has(key),
|
||||||
removeSwitch: (key) => chromiumArgs.delete(key),
|
removeSwitch: (key) => chromiumArgs.delete(key),
|
||||||
},
|
},
|
||||||
|
disableHardwareAcceleration: () => {},
|
||||||
|
requestSingleInstanceLock: () => true,
|
||||||
|
getLoginItemSettings: () => ({
|
||||||
|
executableWillLaunchAtLogin: false,
|
||||||
|
openAtLogin: false,
|
||||||
|
openAsHidden: false,
|
||||||
|
wasOpenedAtLogin: false,
|
||||||
|
wasOpenedAsHidden: false,
|
||||||
|
restoreState: false,
|
||||||
|
launchItems: [],
|
||||||
|
}),
|
||||||
exit: () => {},
|
exit: () => {},
|
||||||
} as Partial<Electron.App> as Electron.App);
|
} as Partial<Electron.App> as Electron.App);
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../../../common/test-utils/get-global-override";
|
||||||
|
import electronDialogInjectable from "./electron-dialog.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(electronDialogInjectable, () => ({
|
||||||
|
showCertificateTrustDialog: async () => {},
|
||||||
|
showErrorBox: () => {},
|
||||||
|
showMessageBox: async () => ({
|
||||||
|
checkboxChecked: false,
|
||||||
|
response: 0,
|
||||||
|
}),
|
||||||
|
showMessageBoxSync: () => 0,
|
||||||
|
showOpenDialog: async () => ({
|
||||||
|
canceled: true,
|
||||||
|
filePaths: [],
|
||||||
|
}),
|
||||||
|
showOpenDialogSync: () => [],
|
||||||
|
showSaveDialog: async () => ({
|
||||||
|
canceled: true,
|
||||||
|
}),
|
||||||
|
showSaveDialogSync: () => "",
|
||||||
|
}));
|
||||||
@ -8,38 +8,25 @@ import type { DiContainer, Injectable } from "@ogre-tools/injectable";
|
|||||||
import { createContainer, isInjectable, getInjectable } from "@ogre-tools/injectable";
|
import { createContainer, isInjectable, getInjectable } from "@ogre-tools/injectable";
|
||||||
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
||||||
import spawnInjectable from "./child-process/spawn.injectable";
|
import spawnInjectable from "./child-process/spawn.injectable";
|
||||||
import commandLineArgumentsInjectable from "./utils/command-line-arguments.injectable";
|
|
||||||
import initializeExtensionsInjectable from "./start-main-application/runnables/initialize-extensions.injectable";
|
import initializeExtensionsInjectable from "./start-main-application/runnables/initialize-extensions.injectable";
|
||||||
import lensResourcesDirInjectable from "../common/vars/lens-resources-dir.injectable";
|
|
||||||
import environmentVariablesInjectable from "../common/utils/environment-variables.injectable";
|
|
||||||
import setupIpcMainHandlersInjectable from "./electron-app/runnables/setup-ipc-main-handlers/setup-ipc-main-handlers.injectable";
|
import setupIpcMainHandlersInjectable from "./electron-app/runnables/setup-ipc-main-handlers/setup-ipc-main-handlers.injectable";
|
||||||
import setupLensProxyInjectable from "./start-main-application/runnables/setup-lens-proxy.injectable";
|
import setupLensProxyInjectable from "./start-main-application/runnables/setup-lens-proxy.injectable";
|
||||||
import setupSyncingOfWeblinksInjectable from "./start-main-application/runnables/setup-syncing-of-weblinks.injectable";
|
import setupSyncingOfWeblinksInjectable from "./start-main-application/runnables/setup-syncing-of-weblinks.injectable";
|
||||||
import stopServicesAndExitAppInjectable from "./stop-services-and-exit-app.injectable";
|
|
||||||
import setupDeepLinkingInjectable from "./electron-app/runnables/setup-deep-linking.injectable";
|
import setupDeepLinkingInjectable from "./electron-app/runnables/setup-deep-linking.injectable";
|
||||||
import requestSingleInstanceLockInjectable from "./electron-app/features/request-single-instance-lock.injectable";
|
|
||||||
import disableHardwareAccelerationInjectable from "./electron-app/features/disable-hardware-acceleration.injectable";
|
|
||||||
import shouldStartHiddenInjectable from "./electron-app/features/should-start-hidden.injectable";
|
|
||||||
import setupMainWindowVisibilityAfterActivationInjectable from "./electron-app/runnables/setup-main-window-visibility-after-activation.injectable";
|
import setupMainWindowVisibilityAfterActivationInjectable from "./electron-app/runnables/setup-main-window-visibility-after-activation.injectable";
|
||||||
import setupDeviceShutdownInjectable from "./electron-app/runnables/setup-device-shutdown.injectable";
|
import setupDeviceShutdownInjectable from "./electron-app/runnables/setup-device-shutdown.injectable";
|
||||||
import setupApplicationNameInjectable from "./electron-app/runnables/setup-application-name.injectable";
|
import setupApplicationNameInjectable from "./electron-app/runnables/setup-application-name.injectable";
|
||||||
import setupRunnablesBeforeClosingOfApplicationInjectable from "./electron-app/runnables/setup-runnables-before-closing-of-application.injectable";
|
import setupRunnablesBeforeClosingOfApplicationInjectable from "./electron-app/runnables/setup-runnables-before-closing-of-application.injectable";
|
||||||
import showMessagePopupInjectable from "./electron-app/features/show-message-popup.injectable";
|
|
||||||
import clusterFramesInjectable from "../common/cluster-frames.injectable";
|
import clusterFramesInjectable from "../common/cluster-frames.injectable";
|
||||||
import type { ClusterFrameInfo } from "../common/cluster-frames";
|
import type { ClusterFrameInfo } from "../common/cluster-frames";
|
||||||
import { observable, runInAction } from "mobx";
|
import { observable, runInAction } from "mobx";
|
||||||
import broadcastMessageInjectable from "../common/ipc/broadcast-message.injectable";
|
import broadcastMessageInjectable from "../common/ipc/broadcast-message.injectable";
|
||||||
import platformInjectable from "../common/vars/platform.injectable";
|
|
||||||
import electronQuitAndInstallUpdateInjectable from "./electron-app/features/electron-quit-and-install-update.injectable";
|
import electronQuitAndInstallUpdateInjectable from "./electron-app/features/electron-quit-and-install-update.injectable";
|
||||||
import electronUpdaterIsActiveInjectable from "./electron-app/features/electron-updater-is-active.injectable";
|
import electronUpdaterIsActiveInjectable from "./electron-app/features/electron-updater-is-active.injectable";
|
||||||
import baseBundledBinariesDirectoryInjectable from "../common/vars/base-bundled-binaries-dir.injectable";
|
|
||||||
import setUpdateOnQuitInjectable from "./electron-app/features/set-update-on-quit.injectable";
|
import setUpdateOnQuitInjectable from "./electron-app/features/set-update-on-quit.injectable";
|
||||||
import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
|
|
||||||
import normalizedPlatformArchitectureInjectable from "../common/vars/normalized-platform-architecture.injectable";
|
|
||||||
import waitUntilBundledExtensionsAreLoadedInjectable from "./start-main-application/lens-window/application-window/wait-until-bundled-extensions-are-loaded.injectable";
|
import waitUntilBundledExtensionsAreLoadedInjectable from "./start-main-application/lens-window/application-window/wait-until-bundled-extensions-are-loaded.injectable";
|
||||||
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
||||||
import electronInjectable from "./utils/resolve-system-proxy/electron.injectable";
|
import electronInjectable from "./utils/resolve-system-proxy/electron.injectable";
|
||||||
import kubectlDownloadingNormalizedArchInjectable from "./kubectl/normalized-arch.injectable";
|
|
||||||
import initializeClusterManagerInjectable from "./cluster/initialize-manager.injectable";
|
import initializeClusterManagerInjectable from "./cluster/initialize-manager.injectable";
|
||||||
import type { GlobalOverride } from "../common/test-utils/get-global-override";
|
import type { GlobalOverride } from "../common/test-utils/get-global-override";
|
||||||
import applicationInformationInjectable from "../common/vars/application-information-injectable";
|
import applicationInformationInjectable from "../common/vars/application-information-injectable";
|
||||||
@ -88,26 +75,16 @@ export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {})
|
|||||||
|
|
||||||
di.override(electronInjectable, () => ({}));
|
di.override(electronInjectable, () => ({}));
|
||||||
di.override(waitUntilBundledExtensionsAreLoadedInjectable, () => async () => {});
|
di.override(waitUntilBundledExtensionsAreLoadedInjectable, () => async () => {});
|
||||||
di.override(getRandomIdInjectable, () => () => "some-irrelevant-random-id");
|
|
||||||
di.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64");
|
|
||||||
|
|
||||||
overrideOperatingSystem(di);
|
|
||||||
overrideRunnablesHavingSideEffects(di);
|
overrideRunnablesHavingSideEffects(di);
|
||||||
overrideElectronFeatures(di);
|
overrideElectronFeatures(di);
|
||||||
getOverrideFsWithFakes()(di);
|
getOverrideFsWithFakes()(di);
|
||||||
|
|
||||||
di.override(environmentVariablesInjectable, () => ({}));
|
|
||||||
di.override(commandLineArgumentsInjectable, () => []);
|
|
||||||
|
|
||||||
di.override(clusterFramesInjectable, () => observable.map<string, ClusterFrameInfo>());
|
di.override(clusterFramesInjectable, () => observable.map<string, ClusterFrameInfo>());
|
||||||
|
|
||||||
di.override(stopServicesAndExitAppInjectable, () => () => {});
|
|
||||||
di.override(lensResourcesDirInjectable, () => "/irrelevant");
|
|
||||||
|
|
||||||
di.override(broadcastMessageInjectable, () => (channel) => {
|
di.override(broadcastMessageInjectable, () => (channel) => {
|
||||||
throw new Error(`Tried to broadcast message to channel "${channel}" over IPC without explicit override.`);
|
throw new Error(`Tried to broadcast message to channel "${channel}" over IPC without explicit override.`);
|
||||||
});
|
});
|
||||||
di.override(baseBundledBinariesDirectoryInjectable, () => "some-bin-directory");
|
|
||||||
di.override(spawnInjectable, () => () => {
|
di.override(spawnInjectable, () => () => {
|
||||||
return {
|
return {
|
||||||
stderr: { on: jest.fn(), removeAllListeners: jest.fn() },
|
stderr: { on: jest.fn(), removeAllListeners: jest.fn() },
|
||||||
@ -136,11 +113,6 @@ const overrideRunnablesHavingSideEffects = (di: DiContainer) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const overrideOperatingSystem = (di: DiContainer) => {
|
|
||||||
di.override(platformInjectable, () => "darwin");
|
|
||||||
di.override(normalizedPlatformArchitectureInjectable, () => "arm64");
|
|
||||||
};
|
|
||||||
|
|
||||||
const overrideElectronFeatures = (di: DiContainer) => {
|
const overrideElectronFeatures = (di: DiContainer) => {
|
||||||
[
|
[
|
||||||
setupMainWindowVisibilityAfterActivationInjectable,
|
setupMainWindowVisibilityAfterActivationInjectable,
|
||||||
@ -155,10 +127,6 @@ const overrideElectronFeatures = (di: DiContainer) => {
|
|||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
di.override(requestSingleInstanceLockInjectable, () => () => true);
|
|
||||||
di.override(disableHardwareAccelerationInjectable, () => () => {});
|
|
||||||
di.override(shouldStartHiddenInjectable, () => false);
|
|
||||||
di.override(showMessagePopupInjectable, () => () => {});
|
|
||||||
di.override(electronQuitAndInstallUpdateInjectable, () => () => {});
|
di.override(electronQuitAndInstallUpdateInjectable, () => () => {});
|
||||||
di.override(setUpdateOnQuitInjectable, () => () => {});
|
di.override(setUpdateOnQuitInjectable, () => () => {});
|
||||||
di.override(electronUpdaterIsActiveInjectable, () => false);
|
di.override(electronUpdaterIsActiveInjectable, () => false);
|
||||||
|
|||||||
@ -3,11 +3,14 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import processArchInjectable from "../../common/vars/process-arch.injectable";
|
||||||
|
|
||||||
const kubectlDownloadingNormalizedArchInjectable = getInjectable({
|
const kubectlDownloadingNormalizedArchInjectable = getInjectable({
|
||||||
id: "kubectl-downloading-normalized-arch",
|
id: "kubectl-downloading-normalized-arch",
|
||||||
instantiate: () => {
|
instantiate: (di) => {
|
||||||
switch (process.arch) {
|
const processArch = di.inject(processArchInjectable);
|
||||||
|
|
||||||
|
switch (processArch) {
|
||||||
case "arm64":
|
case "arm64":
|
||||||
return "arm64";
|
return "arm64";
|
||||||
case "x64":
|
case "x64":
|
||||||
@ -18,10 +21,9 @@ const kubectlDownloadingNormalizedArchInjectable = getInjectable({
|
|||||||
case "ia32":
|
case "ia32":
|
||||||
return "386";
|
return "386";
|
||||||
default:
|
default:
|
||||||
throw new Error(`arch=${process.arch} is unsupported`);
|
throw new Error(`arch=${processArch} is unsupported`);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
causesSideEffects: true,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default kubectlDownloadingNormalizedArchInjectable;
|
export default kubectlDownloadingNormalizedArchInjectable;
|
||||||
|
|||||||
@ -3,15 +3,15 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import environmentVariablesInjectable from "../../../common/utils/environment-variables.injectable";
|
|
||||||
import disableHardwareAccelerationInjectable from "../../electron-app/features/disable-hardware-acceleration.injectable";
|
import disableHardwareAccelerationInjectable from "../../electron-app/features/disable-hardware-acceleration.injectable";
|
||||||
|
import hardwareAccelerationShouldBeDisabledInjectable from "../../vars/hardware-acceleration-should-be-disabled.injectable";
|
||||||
import { beforeElectronIsReadyInjectionToken } from "../runnable-tokens/before-electron-is-ready-injection-token";
|
import { beforeElectronIsReadyInjectionToken } from "../runnable-tokens/before-electron-is-ready-injection-token";
|
||||||
|
|
||||||
const setupHardwareAccelerationInjectable = getInjectable({
|
const setupHardwareAccelerationInjectable = getInjectable({
|
||||||
id: "setup-hardware-acceleration",
|
id: "setup-hardware-acceleration",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const { LENS_DISABLE_GPU: hardwareAccelerationShouldBeDisabled } = di.inject(environmentVariablesInjectable);
|
const hardwareAccelerationShouldBeDisabled = di.inject(hardwareAccelerationShouldBeDisabledInjectable);
|
||||||
const disableHardwareAcceleration = di.inject(disableHardwareAccelerationInjectable);
|
const disableHardwareAcceleration = di.inject(disableHardwareAccelerationInjectable);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../../common/test-utils/get-global-override";
|
||||||
|
import commandLineArgumentsInjectable from "./command-line-arguments.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(commandLineArgumentsInjectable, () => []);
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../../common/test-utils/get-global-override";
|
||||||
|
import hardwareAccelerationShouldBeDisabledInjectable from "./hardware-acceleration-should-be-disabled.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(hardwareAccelerationShouldBeDisabledInjectable, () => false);
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
|
||||||
|
const hardwareAccelerationShouldBeDisabledInjectable = getInjectable({
|
||||||
|
id: "hardware-acceleration-should-be-disabled",
|
||||||
|
instantiate: () => Boolean(process.env.LENS_DISABLE_GPU),
|
||||||
|
causesSideEffects: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default hardwareAccelerationShouldBeDisabledInjectable;
|
||||||
@ -11,16 +11,12 @@ import requestFromChannelInjectable from "./utils/channel/request-from-channel.i
|
|||||||
import { getOverrideFsWithFakes } from "../test-utils/override-fs-with-fakes";
|
import { getOverrideFsWithFakes } from "../test-utils/override-fs-with-fakes";
|
||||||
import terminalSpawningPoolInjectable from "./components/dock/terminal/terminal-spawning-pool.injectable";
|
import terminalSpawningPoolInjectable from "./components/dock/terminal/terminal-spawning-pool.injectable";
|
||||||
import hostedClusterIdInjectable from "./cluster-frame-context/hosted-cluster-id.injectable";
|
import hostedClusterIdInjectable from "./cluster-frame-context/hosted-cluster-id.injectable";
|
||||||
import lensResourcesDirInjectable from "../common/vars/lens-resources-dir.injectable";
|
|
||||||
import { runInAction } from "mobx";
|
import { runInAction } from "mobx";
|
||||||
import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable";
|
import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable";
|
||||||
import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
|
|
||||||
import platformInjectable from "../common/vars/platform.injectable";
|
|
||||||
import startTopbarStateSyncInjectable from "./components/layout/top-bar/start-state-sync.injectable";
|
import startTopbarStateSyncInjectable from "./components/layout/top-bar/start-state-sync.injectable";
|
||||||
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
||||||
import watchHistoryStateInjectable from "./remote-helpers/watch-history-state.injectable";
|
import watchHistoryStateInjectable from "./remote-helpers/watch-history-state.injectable";
|
||||||
import legacyOnChannelListenInjectable from "./ipc/legacy-channel-listen.injectable";
|
import legacyOnChannelListenInjectable from "./ipc/legacy-channel-listen.injectable";
|
||||||
import environmentVariablesInjectable from "../common/utils/environment-variables.injectable";
|
|
||||||
import type { GlobalOverride } from "../common/test-utils/get-global-override";
|
import type { GlobalOverride } from "../common/test-utils/get-global-override";
|
||||||
import applicationInformationInjectable from "../common/vars/application-information-injectable";
|
import applicationInformationInjectable from "../common/vars/application-information-injectable";
|
||||||
import nodeEnvInjectionToken from "../common/vars/node-env-injection-token";
|
import nodeEnvInjectionToken from "../common/vars/node-env-injection-token";
|
||||||
@ -65,9 +61,6 @@ export const getDiForUnitTesting = (
|
|||||||
di.override(globalOverride.injectable, globalOverride.overridingInstantiate);
|
di.override(globalOverride.injectable, globalOverride.overridingInstantiate);
|
||||||
}
|
}
|
||||||
|
|
||||||
di.override(getRandomIdInjectable, () => () => "some-irrelevant-random-id");
|
|
||||||
di.override(platformInjectable, () => "darwin");
|
|
||||||
|
|
||||||
[
|
[
|
||||||
startTopbarStateSyncInjectable,
|
startTopbarStateSyncInjectable,
|
||||||
].forEach((injectable) => {
|
].forEach((injectable) => {
|
||||||
@ -83,8 +76,6 @@ export const getDiForUnitTesting = (
|
|||||||
di.override(legacyOnChannelListenInjectable, () => () => noop);
|
di.override(legacyOnChannelListenInjectable, () => () => noop);
|
||||||
|
|
||||||
di.override(requestAnimationFrameInjectable, () => (callback) => callback());
|
di.override(requestAnimationFrameInjectable, () => (callback) => callback());
|
||||||
di.override(lensResourcesDirInjectable, () => "/irrelevant");
|
|
||||||
di.override(environmentVariablesInjectable, () => ({}));
|
|
||||||
di.override(watchHistoryStateInjectable, () => () => () => {});
|
di.override(watchHistoryStateInjectable, () => () => () => {});
|
||||||
|
|
||||||
di.override(requestFromChannelInjectable, () => () => Promise.resolve(undefined as never));
|
di.override(requestFromChannelInjectable, () => () => Promise.resolve(undefined as never));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user