mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
attempt to use webpack-dev-server via node-api -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
92a5c785a3
commit
f1efed4d78
@ -178,10 +178,6 @@ di.runSetups().then(() => {
|
|||||||
try {
|
try {
|
||||||
logger.info("🔌 Starting LensProxy");
|
logger.info("🔌 Starting LensProxy");
|
||||||
await lensProxy.listen();
|
await lensProxy.listen();
|
||||||
|
|
||||||
if (isDevelopment) {
|
|
||||||
await createDevServer(lensProxy.port).start();
|
|
||||||
}
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dialog.showErrorBox("Lens Error", `Could not start proxy: ${error?.message || "unknown error"}`);
|
dialog.showErrorBox("Lens Error", `Could not start proxy: ${error?.message || "unknown error"}`);
|
||||||
|
|
||||||
@ -233,6 +229,12 @@ di.runSetups().then(() => {
|
|||||||
logger.info("🖥️ Starting WindowManager");
|
logger.info("🖥️ Starting WindowManager");
|
||||||
const windowManager = WindowManager.createInstance();
|
const windowManager = WindowManager.createInstance();
|
||||||
|
|
||||||
|
if (isDevelopment) {
|
||||||
|
const devServer = createDevServer(lensProxy.port);
|
||||||
|
await devServer.start(); // waiting dev-server to start
|
||||||
|
windowManager.mainContentUrl = `http://localhost:${devServer.options.port}`;
|
||||||
|
}
|
||||||
|
|
||||||
const menuItems = di.inject(electronMenuItemsInjectable);
|
const menuItems = di.inject(electronMenuItemsInjectable);
|
||||||
const trayMenuItems = di.inject(trayMenuItemsInjectable);
|
const trayMenuItems = di.inject(trayMenuItemsInjectable);
|
||||||
|
|
||||||
|
|||||||
@ -124,21 +124,6 @@ export class Router {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// const filename = path.basename(req.url);
|
|
||||||
// redirect requests to [appName].js, [appName].html /sockjs-node/ to webpack-dev-server (for hot-reload support)
|
|
||||||
// const toWebpackDevServer = filename.includes(appName) || filename.includes("hot-update") || req.url.includes("sockjs-node");
|
|
||||||
//
|
|
||||||
// if (isDevelopment /*&& toWebpackDevServer*/) {
|
|
||||||
// const redirectLocation = `http://localhost:${webpackDevServerPort}${req.url}`;
|
|
||||||
//
|
|
||||||
// logger.info(`[ROUTER]: redirecting to dev-server url: ${redirectLocation}`);
|
|
||||||
//
|
|
||||||
// response.statusCode = 307;
|
|
||||||
// response.setHeader("Location", redirectLocation);
|
|
||||||
//
|
|
||||||
// return response.end();
|
|
||||||
// }
|
|
||||||
|
|
||||||
const data = await readFile(asset);
|
const data = await readFile(asset);
|
||||||
|
|
||||||
response.setHeader("Content-Type", getMimeType(asset));
|
response.setHeader("Content-Type", getMimeType(asset));
|
||||||
|
|||||||
@ -34,6 +34,7 @@ export class WindowManager extends Singleton {
|
|||||||
protected disposers: Record<string, Function> = {};
|
protected disposers: Record<string, Function> = {};
|
||||||
|
|
||||||
@observable activeClusterId: ClusterId;
|
@observable activeClusterId: ClusterId;
|
||||||
|
@observable mainContentUrl = `http://localhost:${LensProxy.getInstance().port}`;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
@ -41,10 +42,6 @@ export class WindowManager extends Singleton {
|
|||||||
this.bindEvents();
|
this.bindEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
get mainUrl() {
|
|
||||||
return `http://localhost:${LensProxy.getInstance().port}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
private async initMainWindow(showSplash: boolean) {
|
private async initMainWindow(showSplash: boolean) {
|
||||||
// Manage main window size and position with state persistence
|
// Manage main window size and position with state persistence
|
||||||
if (!this.windowState) {
|
if (!this.windowState) {
|
||||||
@ -142,8 +139,8 @@ export class WindowManager extends Singleton {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (showSplash) await this.showSplash();
|
if (showSplash) await this.showSplash();
|
||||||
logger.info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainUrl} ...`);
|
logger.info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainContentUrl} ...`);
|
||||||
await this.mainWindow.loadURL(this.mainUrl);
|
await this.mainWindow.loadURL(this.mainContentUrl);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error("Loading main window failed", { error });
|
logger.error("Loading main window failed", { error });
|
||||||
dialog.showErrorBox("ERROR!", error.toString());
|
dialog.showErrorBox("ERROR!", error.toString());
|
||||||
|
|||||||
@ -18,18 +18,19 @@ export function createDevServer(lensProxyPort: number): WebpackDevServer {
|
|||||||
},
|
},
|
||||||
allowedHosts: "all",
|
allowedHosts: "all",
|
||||||
host: "localhost",
|
host: "localhost",
|
||||||
// static: buildDir, // aka `devServer.contentBase` in webpack@4
|
static: buildDir, // aka `devServer.contentBase` in webpack@4
|
||||||
hot: true, // enable HMR when supported by modules
|
hot: true, // enable HMR when supported by modules or page refresh by default {liveReload:true}
|
||||||
proxy: {
|
proxy: {
|
||||||
// https://webpack.js.org/configuration/dev-server/#devserverproxy
|
'*': {
|
||||||
"*": `//:localhost:${lensProxyPort}`,
|
// https://webpack.js.org/configuration/dev-server/#devserverproxy
|
||||||
secure: false, // allow http connections
|
target: `http://localhost:${lensProxyPort}`,
|
||||||
changeOrigin: true,
|
secure: false, // allow http connections
|
||||||
context: [buildDir],
|
changeOrigin: true,
|
||||||
bypass: function (req, res, proxyOptions) {
|
bypass: function (req, res, proxyOptions) {
|
||||||
console.log(`[PROXY]: path ${req.path}`);
|
// console.log(`[PROXY]: path bypass ${req.path}`);
|
||||||
return null; // continue with proxy, return false for "404"-error
|
return null; // continue with proxy, return false for "404"-error
|
||||||
},
|
},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
client: {
|
client: {
|
||||||
// don't show warnings and errors on top of rendered app view
|
// don't show warnings and errors on top of rendered app view
|
||||||
|
|||||||
@ -29,7 +29,7 @@ export function webpackLensRenderer(): webpack.Configuration {
|
|||||||
target: "electron-renderer",
|
target: "electron-renderer",
|
||||||
name: "lens-app",
|
name: "lens-app",
|
||||||
mode: isDevelopment ? "development" : "production",
|
mode: isDevelopment ? "development" : "production",
|
||||||
devtool: isDevelopment ? "eval-cheap-source-map" : "source-map",
|
devtool: isDevelopment ? "cheap-module-source-map" : "source-map",
|
||||||
cache: isDevelopment,
|
cache: isDevelopment,
|
||||||
entry: {
|
entry: {
|
||||||
[appName]: path.resolve(rendererDir, "bootstrap.tsx"),
|
[appName]: path.resolve(rendererDir, "bootstrap.tsx"),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user