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

Refactoring

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
Lauri Nevala 2021-02-02 09:20:26 +02:00
parent eae970d8da
commit 7ac6bd858e
3 changed files with 18 additions and 12 deletions

View File

@ -1,3 +1,4 @@
import requestPromise from "request-promise-native";
import packageInfo from "../../../package.json"; import packageInfo from "../../../package.json";
export function getAppVersion(): string { export function getAppVersion(): string {
@ -11,3 +12,13 @@ export function getBundledKubectlVersion(): string {
export function getBundledExtensions(): string[] { export function getBundledExtensions(): string[] {
return packageInfo.lens?.extensions || []; return packageInfo.lens?.extensions || [];
} }
export async function getAppVersionFromProxyServer(proxyPort: number): Promise<string> {
const response = await requestPromise({
method: "GET",
uri: `http://localhost:${proxyPort}/version`,
resolveWithFullResponse: true
});
return JSON.parse(response.body).version;
}

View File

@ -1,9 +1,12 @@
import logger from "./logger";
/** /**
* Installs Electron developer tools in the development build. * Installs Electron developer tools in the development build.
* The dependency is not bundled to the production build. * The dependency is not bundled to the production build.
*/ */
export const installDeveloperTools = async () => { export const installDeveloperTools = async () => {
if (process.env.NODE_ENV === "development") { if (process.env.NODE_ENV === "development") {
logger.info("🤓 Installing developer tools");
const { default: devToolsInstaller, REACT_DEVELOPER_TOOLS } = await import("electron-devtools-installer"); const { default: devToolsInstaller, REACT_DEVELOPER_TOOLS } = await import("electron-devtools-installer");
return devToolsInstaller([REACT_DEVELOPER_TOOLS]); return devToolsInstaller([REACT_DEVELOPER_TOOLS]);

View File

@ -26,8 +26,7 @@ import { InstalledExtension, extensionDiscovery } from "../extensions/extension-
import type { LensExtensionId } from "../extensions/lens-extension"; import type { LensExtensionId } from "../extensions/lens-extension";
import { installDeveloperTools } from "./developer-tools"; import { installDeveloperTools } from "./developer-tools";
import { filesystemProvisionerStore } from "./extension-filesystem"; import { filesystemProvisionerStore } from "./extension-filesystem";
import requestPromise from "request-promise-native"; import { getAppVersion, getAppVersionFromProxyServer } from "../common/utils";
import { getAppVersion } from "../common/utils";
const workingDir = path.join(app.getPath("appData"), appName); const workingDir = path.join(app.getPath("appData"), appName);
let proxyPort: number; let proxyPort: number;
@ -77,7 +76,6 @@ app.on("ready", async () => {
registerFileProtocol("static", __static); registerFileProtocol("static", __static);
logger.info("🤓 Installing developer tools");
await installDeveloperTools(); await installDeveloperTools();
logger.info("💾 Loading stores"); logger.info("💾 Loading stores");
@ -117,16 +115,10 @@ app.on("ready", async () => {
// test proxy connection // test proxy connection
try { try {
logger.info("🔎 Testing LensProxy connection ..."); logger.info("🔎 Testing LensProxy connection ...");
const response = await requestPromise({ const versionFromProxy = await getAppVersionFromProxyServer(proxyPort);
method: "GET",
uri: `http://localhost:${proxyPort}/version`,
resolveWithFullResponse: true
});
const appVersion = JSON.parse(response.body).version; if (getAppVersion() !== versionFromProxy) {
logger.error(`Proxy server responded with invalid response`);
if (getAppVersion() != appVersion) {
logger.error(`Proxy server responded with invalid response: ${response.body}`);
} }
logger.info("⚡ LensProxy connection OK"); logger.info("⚡ LensProxy connection OK");
} catch (error) { } catch (error) {