From 5c31203e505c62cac979b5fcd7d58d07ce92b36b Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Wed, 27 Apr 2022 10:52:24 +0300 Subject: [PATCH] Deprecate vars in favor of injectables Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- src/common/vars.ts | 22 ++++++++++++++++++++ src/common/vars/is-development.injectable.ts | 5 +++-- src/common/vars/is-linux.injectable.ts | 3 +-- src/common/vars/is-mac.injectable.ts | 3 +-- src/common/vars/is-windows.injectable.ts | 3 +-- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/common/vars.ts b/src/common/vars.ts index 52c9a15156..8e0a1acf79 100644 --- a/src/common/vars.ts +++ b/src/common/vars.ts @@ -9,21 +9,43 @@ import { SemVer } from "semver"; import packageInfo from "../../package.json"; import { lazyInitialized } from "./utils/lazy-initialized"; +/** + * @deprecated Switch to using isMacInjectable + */ export const isMac = process.platform === "darwin"; + +/** + * @deprecated Switch to using isWindowsInjectable + */ export const isWindows = process.platform === "win32"; + +/** + * @deprecated Switch to using isLinuxInjectable + */ export const isLinux = process.platform === "linux"; + export const isDebugging = ["true", "1", "yes", "y", "on"].includes((process.env.DEBUG ?? "").toLowerCase()); export const isSnap = !!process.env.SNAP; export const isProduction = process.env.NODE_ENV === "production"; export const isTestEnv = !!process.env.JEST_WORKER_ID; + +/** + * @deprecated Switch to using isDevelopmentInjectable + */ export const isDevelopment = !isTestEnv && !isProduction; + export const isPublishConfigured = Object.keys(packageInfo.build).includes("publish"); export const integrationTestingArg = "--integration-testing"; export const isIntegrationTesting = process.argv.includes(integrationTestingArg); export const productName = packageInfo.productName; + +/** + * @deprecated Switch to using appNameInjectable + */ export const appName = `${packageInfo.productName}${isDevelopment ? "Dev" : ""}`; + export const publicPath = "/build/" as string; export const defaultTheme = "lens-dark" as string; export const defaultFontSize = 12; diff --git a/src/common/vars/is-development.injectable.ts b/src/common/vars/is-development.injectable.ts index a731ae5a9f..62f27a8e5e 100644 --- a/src/common/vars/is-development.injectable.ts +++ b/src/common/vars/is-development.injectable.ts @@ -3,11 +3,12 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { isDevelopment } from "../vars"; +import { isProduction, isTestEnv } from "../vars"; const isDevelopmentInjectable = getInjectable({ id: "is-development", - instantiate: () => isDevelopment, + instantiate: () => !isTestEnv && !isProduction, + causesSideEffects: true, }); export default isDevelopmentInjectable; diff --git a/src/common/vars/is-linux.injectable.ts b/src/common/vars/is-linux.injectable.ts index dbd3436129..4c9ce94e91 100644 --- a/src/common/vars/is-linux.injectable.ts +++ b/src/common/vars/is-linux.injectable.ts @@ -3,11 +3,10 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { isLinux } from "../vars"; const isLinuxInjectable = getInjectable({ id: "is-linux", - instantiate: () => isLinux, + instantiate: () => process.platform === "linux", causesSideEffects: true, }); diff --git a/src/common/vars/is-mac.injectable.ts b/src/common/vars/is-mac.injectable.ts index 6a956b2426..7a66119443 100644 --- a/src/common/vars/is-mac.injectable.ts +++ b/src/common/vars/is-mac.injectable.ts @@ -3,11 +3,10 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { isMac } from "../vars"; const isMacInjectable = getInjectable({ id: "is-mac", - instantiate: () => isMac, + instantiate: () => process.platform === "darwin", causesSideEffects: true, }); diff --git a/src/common/vars/is-windows.injectable.ts b/src/common/vars/is-windows.injectable.ts index 4b92b78a3b..3ec7fad4b0 100644 --- a/src/common/vars/is-windows.injectable.ts +++ b/src/common/vars/is-windows.injectable.ts @@ -3,11 +3,10 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { isWindows } from "../vars"; const isWindowsInjectable = getInjectable({ id: "is-windows", - instantiate: () => isWindows, + instantiate: () => process.platform === "win32", causesSideEffects: true, });