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

Introduce injectable for package.json being side-effect

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2022-05-09 12:48:34 +03:00
parent 01faf8d0de
commit 3ae4c67647
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
3 changed files with 19 additions and 1 deletions

View File

@ -0,0 +1,14 @@
/**
* 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";
import packageJson from "../../../package.json";
const packageJsonInjectable = getInjectable({
id: "package-json",
instantiate: () => packageJson,
causesSideEffects: true,
});
export default packageJsonInjectable;

View File

@ -31,7 +31,7 @@ import joinPathsInjectable from "../common/path/join-paths.injectable";
import { joinPathsFake } from "../common/test-utils/join-paths-fake";
import hotbarStoreInjectable from "../common/hotbars/store.injectable";
import type { GetDiForUnitTestingOptions } from "../test-utils/get-dis-for-unit-testing";
import isAutoUpdateEnabledInjectable from "./is-auto-update-enabled.injectable";
import isAutoUpdateEnabledInjectable from "./update-app/is-auto-update-enabled.injectable";
import appEventBusInjectable from "../common/app-event-bus/app-event-bus.injectable";
import { EventEmitter } from "../common/event-emitter";
import type { AppEvent } from "../common/app-event-bus/event-bus";
@ -80,6 +80,7 @@ import platformInjectable from "../common/vars/platform.injectable";
import productNameInjectable from "./app-paths/app-name/product-name.injectable";
import syncUpdateIsReadyToBeInstalledInjectable from "./electron-app/runnables/update-application/sync-update-is-ready-to-be-installed.injectable";
import quitAndInstallUpdateInjectable from "./electron-app/features/quit-and-install-update.injectable";
import packageJsonInjectable from "../common/vars/package-json.injectable";
export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) {
const {
@ -116,6 +117,7 @@ export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) {
di.override(isDevelopmentInjectable, () => false);
di.override(environmentVariablesInjectable, () => ({}));
di.override(commandLineArgumentsInjectable, () => []);
di.override(packageJsonInjectable, () => ({}));
di.override(productNameInjectable, () => "some-product-name");

View File

@ -44,6 +44,7 @@ import setupOnApiErrorListenersInjectable from "./api/setup-on-api-errors.inject
import { observable } from "mobx";
import defaultShellInjectable from "./components/+preferences/default-shell.injectable";
import themeStoreInjectable from "./themes/store.injectable";
import packageJsonInjectable from "../common/vars/package-json.injectable";
export const getDiForUnitTesting = (opts: GetDiForUnitTestingOptions = {}) => {
const {
@ -69,6 +70,7 @@ export const getDiForUnitTesting = (opts: GetDiForUnitTestingOptions = {}) => {
di.override(isMacInjectable, () => true);
di.override(isWindowsInjectable, () => false);
di.override(isLinuxInjectable, () => false);
di.override(packageJsonInjectable, () => ({}));
di.override(terminalSpawningPoolInjectable, () => document.createElement("div"));
di.override(hostedClusterIdInjectable, () => undefined);