diff --git a/src/common/vars.ts b/src/common/vars.ts index af61a29655..52c9a15156 100644 --- a/src/common/vars.ts +++ b/src/common/vars.ts @@ -127,5 +127,3 @@ export const appSemVer = new SemVer(packageInfo.version); export const docsUrl = "https://docs.k8slens.dev/main/" as string; export const sentryDsn = packageInfo.config?.sentryDsn ?? ""; - -export const webpackDevServerPort: number = Number(process.env.WEBPACK_DEV_SERVER_PORT) || 9191; diff --git a/src/main/routes/static-file-route.injectable.ts b/src/main/routes/static-file-route.injectable.ts index bc7fa1a51e..9e90e23eef 100644 --- a/src/main/routes/static-file-route.injectable.ts +++ b/src/main/routes/static-file-route.injectable.ts @@ -8,7 +8,7 @@ import type { SupportedFileExtension } from "../router/router-content-types"; import { contentTypes } from "../router/router-content-types"; import logger from "../logger"; import { routeInjectionToken } from "../router/router.injectable"; -import { appName, publicPath, staticFilesDirectory, webpackDevServerPort } from "../../common/vars"; +import { appName, publicPath, staticFilesDirectory } from "../../common/vars"; import path from "path"; import isDevelopmentInjectable from "../../common/vars/is-development.injectable"; import httpProxy from "http-proxy"; @@ -17,6 +17,7 @@ import type { GetAbsolutePath } from "../../common/path/get-absolute-path.inject import getAbsolutePathInjectable from "../../common/path/get-absolute-path.injectable"; import type { JoinPaths } from "../../common/path/join-paths.injectable"; import joinPathsInjectable from "../../common/path/join-paths.injectable"; +import { webpackDevServerPort } from "../../../webpack/vars"; interface ProductionDependencies { readFileBuffer: (path: string) => Promise; diff --git a/webpack/dev-server.ts b/webpack/dev-server.ts index 3614d56f93..d4d62ddb0c 100644 --- a/webpack/dev-server.ts +++ b/webpack/dev-server.ts @@ -7,7 +7,7 @@ import Webpack from "webpack"; import WebpackDevServer from "webpack-dev-server"; import { webpackLensRenderer } from "./renderer"; import logger from "../src/common/logger"; -import { buildDir } from "./vars"; +import { buildDir, webpackDevServerPort } from "./vars"; /** * API docs: @@ -24,6 +24,7 @@ const server = new WebpackDevServer({ }, allowedHosts: "all", host: "localhost", + port: webpackDevServerPort, static: buildDir, // aka `devServer.contentBase` in webpack@4 hot: "only", // use HMR only without errors liveReload: false, diff --git a/webpack/vars.ts b/webpack/vars.ts index 478b04459d..fd0b4bcee9 100644 --- a/webpack/vars.ts +++ b/webpack/vars.ts @@ -3,6 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ +import assert from "assert"; import path from "path"; import packageInfo from "../package.json"; @@ -19,3 +20,6 @@ export const appName = isDevelopment export const htmlTemplate = path.resolve(rendererDir, "template.html"); export const publicPath = "/build/"; export const sassCommonVars = path.resolve(rendererDir, "components/vars.scss"); +export const webpackDevServerPort = Number(process.env.WEBPACK_DEV_SERVER_PORT) || 9191; + +assert(Number.isInteger(webpackDevServerPort), "WEBPACK_DEV_SERVER_PORT environment variable must only be an integer");