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

fix: wait lensProxy.listen() to obtain lensProxy.port for webpack-dev-server

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2022-02-08 15:30:03 +02:00
parent 2ef9861d10
commit 29c75e18c6
3 changed files with 10 additions and 17 deletions

View File

@ -10,7 +10,7 @@ import * as Mobx from "mobx";
import * as LensExtensionsCommonApi from "../extensions/common-api";
import * as LensExtensionsMainApi from "../extensions/main-api";
import { app, autoUpdater, dialog, powerMonitor } from "electron";
import { appName, isIntegrationTesting, isMac, isWindows, productName } from "../common/vars";
import { appName, isIntegrationTesting, isMac, isWindows, productName, isDevelopment } from "../common/vars";
import { LensProxy } from "./lens-proxy";
import { WindowManager } from "./window-manager";
import { ClusterManager } from "./cluster-manager";
@ -177,7 +177,6 @@ di.runSetups().then(() => {
kubeApiRequest,
shellApiRequest,
});
const devServer = createDevServer(lensProxy.port);
ClusterManager.createInstance().init();
@ -185,10 +184,7 @@ di.runSetups().then(() => {
try {
logger.info("🔌 Starting LensProxy");
await Promise.all([
lensProxy.listen(),
devServer?.start(),
]);
await lensProxy.listen(); // lensProxy.port available
} catch (error) {
dialog.showErrorBox("Lens Error", `Could not start proxy: ${error?.message || "unknown error"}`);
@ -239,8 +235,11 @@ di.runSetups().then(() => {
logger.info("🖥️ Starting WindowManager");
const windowManager = WindowManager.createInstance();
if (devServer) {
// override main content view url to local webpack-dev-server to support HMR / live-reload
// Override main content view url to local webpack-dev-server to support HMR / live-reload
if (isDevelopment) {
const devServer = createDevServer(lensProxy.port);
await devServer.start();
windowManager.mainContentUrl = `http://localhost:${devServer.options.port}`;
}

View File

@ -6,7 +6,7 @@
import Webpack from "webpack";
import WebpackDevServer from "webpack-dev-server";
import { webpackLensRenderer } from "./webpack.renderer";
import { buildDir, isDevelopment, webpackDevServerPort } from "./src/common/vars";
import { buildDir, webpackDevServerPort } from "./src/common/vars";
import logger from "./src/common/logger";
export interface DevServer extends WebpackDevServer {
@ -18,11 +18,7 @@ export interface DevServer extends WebpackDevServer {
* @url https://webpack.js.org/configuration/dev-server/
* @url https://github.com/chimurai/http-proxy-middleware
*/
export function createDevServer(lensProxyPort: number): DevServer | undefined {
if (!isDevelopment) {
return undefined;
}
export function createDevServer(lensProxyPort: number): DevServer {
const config = webpackLensRenderer();
const compiler = Webpack(config);

View File

@ -184,6 +184,4 @@ export function cssModulesWebpackRule(
};
}
export default [
webpackLensRenderer,
];
export default webpackLensRenderer;