From fd19280065214cb71eed6613df934230479854d7 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 12 Aug 2022 09:17:36 -0400 Subject: [PATCH] Introduce and use isDebuggingInjectable Signed-off-by: Sebastian Malton --- .../create-kube-json-api-for-cluster.injectable.ts | 4 +++- src/common/vars.ts | 3 +++ .../is-debugging.global-override-for-injectable.ts | 9 +++++++++ src/common/vars/is-debugging.injectable.ts | 13 +++++++++++++ src/main/k8s/api-base.injectable.ts | 4 +++- src/renderer/k8s/api-base.injectable.ts | 4 +++- 6 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/common/vars/is-debugging.global-override-for-injectable.ts create mode 100644 src/common/vars/is-debugging.injectable.ts diff --git a/src/common/k8s-api/create-kube-json-api-for-cluster.injectable.ts b/src/common/k8s-api/create-kube-json-api-for-cluster.injectable.ts index c74a5a491d..9901731c94 100644 --- a/src/common/k8s-api/create-kube-json-api-for-cluster.injectable.ts +++ b/src/common/k8s-api/create-kube-json-api-for-cluster.injectable.ts @@ -3,7 +3,8 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { apiKubePrefix, isDebugging } from "../vars"; +import { apiKubePrefix } from "../vars"; +import isDebuggingInjectable from "../vars/is-debugging.injectable"; import { apiBaseInjectionToken } from "./api-base"; import createKubeJsonApiInjectable from "./create-kube-json-api.injectable"; import type { KubeJsonApi } from "./kube-json-api"; @@ -15,6 +16,7 @@ const createKubeJsonApiForClusterInjectable = getInjectable({ instantiate: (di): CreateKubeJsonApiForCluster => { const apiBase = di.inject(apiBaseInjectionToken); const createKubeJsonApi = di.inject(createKubeJsonApiInjectable); + const isDebugging = di.inject(isDebuggingInjectable); return (clusterId) => createKubeJsonApi( { diff --git a/src/common/vars.ts b/src/common/vars.ts index a5507e1ee6..94ac631896 100644 --- a/src/common/vars.ts +++ b/src/common/vars.ts @@ -23,6 +23,9 @@ export const isWindows = process.platform === "win32"; */ export const isLinux = process.platform === "linux"; +/** + * @deprecated switch to using `isDebuggingInjectable` + */ export const isDebugging = ["true", "1", "yes", "y", "on"].includes((process.env.DEBUG ?? "").toLowerCase()); /** diff --git a/src/common/vars/is-debugging.global-override-for-injectable.ts b/src/common/vars/is-debugging.global-override-for-injectable.ts new file mode 100644 index 0000000000..7aa500ff2e --- /dev/null +++ b/src/common/vars/is-debugging.global-override-for-injectable.ts @@ -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 isDebuggingInjectable from "./is-debugging.injectable"; + +export default getGlobalOverride(isDebuggingInjectable, () => false); diff --git a/src/common/vars/is-debugging.injectable.ts b/src/common/vars/is-debugging.injectable.ts new file mode 100644 index 0000000000..079086e628 --- /dev/null +++ b/src/common/vars/is-debugging.injectable.ts @@ -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 isDebuggingInjectable = getInjectable({ + id: "is-debugging", + instantiate: () => ["true", "1", "yes", "y", "on"].includes((process.env.DEBUG ?? "").toLowerCase()), + causesSideEffects: true, +}); + +export default isDebuggingInjectable; diff --git a/src/main/k8s/api-base.injectable.ts b/src/main/k8s/api-base.injectable.ts index 8761223cc6..07a9424993 100644 --- a/src/main/k8s/api-base.injectable.ts +++ b/src/main/k8s/api-base.injectable.ts @@ -5,7 +5,8 @@ import { getInjectable } from "@ogre-tools/injectable"; import { apiBaseInjectionToken } from "../../common/k8s-api/api-base"; import createJsonApiInjectable from "../../common/k8s-api/create-json-api.injectable"; -import { apiPrefix, isDebugging } from "../../common/vars"; +import { apiPrefix } from "../../common/vars"; +import isDebuggingInjectable from "../../common/vars/is-debugging.injectable"; import isDevelopmentInjectable from "../../common/vars/is-development.injectable"; import lensProxyPortInjectable from "../lens-proxy/lens-proxy-port.injectable"; @@ -14,6 +15,7 @@ const apiBaseInjectable = getInjectable({ instantiate: (di) => { const proxyPort = di.inject(lensProxyPortInjectable); const createJsonApi = di.inject(createJsonApiInjectable); + const isDebugging = di.inject(isDebuggingInjectable); return createJsonApi({ serverAddress: `http://127.0.0.1:${proxyPort.get()}`, diff --git a/src/renderer/k8s/api-base.injectable.ts b/src/renderer/k8s/api-base.injectable.ts index 55039a7b61..44f2e6831e 100644 --- a/src/renderer/k8s/api-base.injectable.ts +++ b/src/renderer/k8s/api-base.injectable.ts @@ -5,13 +5,15 @@ import { getInjectable } from "@ogre-tools/injectable"; import { apiBaseInjectionToken } from "../../common/k8s-api/api-base"; import createJsonApiInjectable from "../../common/k8s-api/create-json-api.injectable"; -import { apiPrefix, isDebugging } from "../../common/vars"; +import { apiPrefix } from "../../common/vars"; +import isDebuggingInjectable from "../../common/vars/is-debugging.injectable"; import isDevelopmentInjectable from "../../common/vars/is-development.injectable"; const apiBaseInjectable = getInjectable({ id: "api-base", instantiate: (di) => { const createJsonApi = di.inject(createJsonApiInjectable); + const isDebugging = di.inject(isDebuggingInjectable); return createJsonApi( {