From 7ac6bd858e5906566187128c8f74cebd4b79f379 Mon Sep 17 00:00:00 2001 From: Lauri Nevala Date: Tue, 2 Feb 2021 09:20:26 +0200 Subject: [PATCH] Refactoring Signed-off-by: Lauri Nevala --- src/common/utils/app-version.ts | 11 +++++++++++ src/main/developer-tools.ts | 3 +++ src/main/index.ts | 16 ++++------------ 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/common/utils/app-version.ts b/src/common/utils/app-version.ts index a45f5a55bb..d625f44cd7 100644 --- a/src/common/utils/app-version.ts +++ b/src/common/utils/app-version.ts @@ -1,3 +1,4 @@ +import requestPromise from "request-promise-native"; import packageInfo from "../../../package.json"; export function getAppVersion(): string { @@ -11,3 +12,13 @@ export function getBundledKubectlVersion(): string { export function getBundledExtensions(): string[] { return packageInfo.lens?.extensions || []; } + +export async function getAppVersionFromProxyServer(proxyPort: number): Promise { + const response = await requestPromise({ + method: "GET", + uri: `http://localhost:${proxyPort}/version`, + resolveWithFullResponse: true + }); + + return JSON.parse(response.body).version; +} diff --git a/src/main/developer-tools.ts b/src/main/developer-tools.ts index 3a3d5009f8..d0d7e2ae01 100644 --- a/src/main/developer-tools.ts +++ b/src/main/developer-tools.ts @@ -1,9 +1,12 @@ +import logger from "./logger"; + /** * Installs Electron developer tools in the development build. * The dependency is not bundled to the production build. */ export const installDeveloperTools = async () => { if (process.env.NODE_ENV === "development") { + logger.info("🤓 Installing developer tools"); const { default: devToolsInstaller, REACT_DEVELOPER_TOOLS } = await import("electron-devtools-installer"); return devToolsInstaller([REACT_DEVELOPER_TOOLS]); diff --git a/src/main/index.ts b/src/main/index.ts index edd1f2087a..7e3b4441ae 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -26,8 +26,7 @@ import { InstalledExtension, extensionDiscovery } from "../extensions/extension- import type { LensExtensionId } from "../extensions/lens-extension"; import { installDeveloperTools } from "./developer-tools"; import { filesystemProvisionerStore } from "./extension-filesystem"; -import requestPromise from "request-promise-native"; -import { getAppVersion } from "../common/utils"; +import { getAppVersion, getAppVersionFromProxyServer } from "../common/utils"; const workingDir = path.join(app.getPath("appData"), appName); let proxyPort: number; @@ -77,7 +76,6 @@ app.on("ready", async () => { registerFileProtocol("static", __static); - logger.info("🤓 Installing developer tools"); await installDeveloperTools(); logger.info("💾 Loading stores"); @@ -117,16 +115,10 @@ app.on("ready", async () => { // test proxy connection try { logger.info("🔎 Testing LensProxy connection ..."); - const response = await requestPromise({ - method: "GET", - uri: `http://localhost:${proxyPort}/version`, - resolveWithFullResponse: true - }); + const versionFromProxy = await getAppVersionFromProxyServer(proxyPort); - const appVersion = JSON.parse(response.body).version; - - if (getAppVersion() != appVersion) { - logger.error(`Proxy server responded with invalid response: ${response.body}`); + if (getAppVersion() !== versionFromProxy) { + logger.error(`Proxy server responded with invalid response`); } logger.info("⚡ LensProxy connection OK"); } catch (error) {