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

make it fast

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen 2022-03-08 10:08:42 +02:00
parent 92479396af
commit 80f3c5c3b7
10 changed files with 25 additions and 43 deletions

View File

@ -61,7 +61,7 @@ endif
yarn run electron-builder --publish onTag $(ELECTRON_BUILDER_EXTRA_ARGS) yarn run electron-builder --publish onTag $(ELECTRON_BUILDER_EXTRA_ARGS)
$(extension_node_modules): node_modules $(extension_node_modules): node_modules
cd $(@:/node_modules=) && ../../node_modules/.bin/npm install --no-audit --no-fund cd $(@:/node_modules=) && ../../node_modules/.bin/npm install --no-audit --no-fund --no-save
$(extension_dists): src/extensions/npm/extensions/dist $(extension_dists): src/extensions/npm/extensions/dist
cd $(@:/dist=) && ../../node_modules/.bin/npm run build cd $(@:/dist=) && ../../node_modules/.bin/npm run build

View File

@ -8,8 +8,8 @@
"styles": [] "styles": []
}, },
"scripts": { "scripts": {
"build": "webpack && npm pack", "build": "npx webpack && npm pack",
"dev": "webpack --watch", "dev": "npx webpack --watch",
"test": "echo NO TESTS" "test": "echo NO TESTS"
}, },
"files": [ "files": [
@ -17,9 +17,6 @@
], ],
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions", "@k8slens/extensions": "file:../../src/extensions/npm/extensions"
"ts-loader": "latest",
"typescript": "latest",
"webpack": "latest"
} }
} }

View File

@ -8,9 +8,9 @@
"styles": [] "styles": []
}, },
"scripts": { "scripts": {
"build": "webpack && npm pack", "build": "npx webpack && npm pack",
"dev": "webpack --watch", "dev": "npx webpack --watch",
"test": "jest --passWithNoTests --env=jsdom src $@", "test": "npx jest --passWithNoTests --env=jsdom src $@",
"clean": "rm -rf dist/ && rm *.tgz" "clean": "rm -rf dist/ && rm *.tgz"
}, },
"files": [ "files": [
@ -19,10 +19,6 @@
], ],
"devDependencies": { "devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions", "@k8slens/extensions": "file:../../src/extensions/npm/extensions",
"semver": "^7.3.2", "semver": "^7.3.2"
"jest": "latest",
"ts-loader": "latest",
"typescript": "latest",
"webpack": "latest"
} }
} }

View File

@ -8,19 +8,15 @@
"styles": [] "styles": []
}, },
"scripts": { "scripts": {
"build": "webpack && npm pack", "build": "npx webpack && npm pack",
"dev": "webpack --watch", "dev": "npx webpack --watch",
"test": "jest --passWithNoTests --env=jsdom src $@" "test": "npx jest --passWithNoTests --env=jsdom src $@"
}, },
"files": [ "files": [
"dist/**/*" "dist/**/*"
], ],
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions", "@k8slens/extensions": "file:../../src/extensions/npm/extensions"
"jest": "latest",
"ts-loader": "latest",
"typescript": "latest",
"webpack": "latest"
} }
} }

View File

@ -8,19 +8,15 @@
"styles": [] "styles": []
}, },
"scripts": { "scripts": {
"build": "webpack && npm pack", "build": "npx webpack && npm pack",
"dev": "webpack --watch", "dev": "npx webpack --watch",
"test": "jest --passWithNoTests --env=jsdom src $@" "test": "npx jest --passWithNoTests --env=jsdom src $@"
}, },
"files": [ "files": [
"dist/**/*" "dist/**/*"
], ],
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions", "@k8slens/extensions": "file:../../src/extensions/npm/extensions"
"jest": "latest",
"ts-loader": "latest",
"typescript": "latest",
"webpack": "latest"
} }
} }

View File

@ -79,12 +79,13 @@ export class LensProxy extends Singleton {
this.proxyServer this.proxyServer
.on("upgrade", (req: http.IncomingMessage, socket: net.Socket, head: Buffer) => { .on("upgrade", (req: http.IncomingMessage, socket: net.Socket, head: Buffer) => {
console.log("upgrade", req.url);
const isInternal = req.url.startsWith(`${apiPrefix}?`); const isInternal = req.url.startsWith(`${apiPrefix}?`);
const cluster = getClusterForRequest(req); const cluster = getClusterForRequest(req);
if (!cluster) { if (!cluster) {
return void logger.error(`[LENS-PROXY]: Could not find cluster for upgrade request from url=${req.url}`); logger.error(`[LENS-PROXY]: Could not find cluster for upgrade request from url=${req.url}`);
return socket.destroy();
} }
const reqHandler = isInternal ? shellApiRequest : kubeApiRequest; const reqHandler = isInternal ? shellApiRequest : kubeApiRequest;

View File

@ -151,7 +151,9 @@ export class Router {
this.router.add({ method: "get", path: "/{path*}" }, (apiReq: LensApiRequest) => { this.router.add({ method: "get", path: "/{path*}" }, (apiReq: LensApiRequest) => {
const { req, res } = apiReq.raw; const { req, res } = apiReq.raw;
if (req.url === "/" || !req.url.startsWith("/build/")) req.url = "/build/OpenLensDev.html"; if (req.url === "/" || !req.url.startsWith("/build/")) {
req.url = `${publicPath}/${appName}.html`;
}
this.dependencies.httpProxy.web(req, res, { this.dependencies.httpProxy.web(req, res, {
target: "http://127.0.0.1:8080", target: "http://127.0.0.1:8080",

View File

@ -20,6 +20,7 @@ function createDevServer(): WebpackDevServer {
const compiler = Webpack(config); const compiler = Webpack(config);
const server = new WebpackDevServer({ const server = new WebpackDevServer({
setupExitSignals: true,
headers: { headers: {
"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Origin": "*",
}, },
@ -50,11 +51,3 @@ function createDevServer(): WebpackDevServer {
const server = createDevServer(); const server = createDevServer();
server.start(); server.start();
process.once("SIGTERM", () => {
server.stop().then(() => process.exit(0));
});
process.once("SIGINT", () => {
server.stop().then(() => process.exit(0));
});

View File

@ -19,6 +19,7 @@ configs.push((): webpack.Configuration => {
const { mainDir, buildDir, isDevelopment } = vars; const { mainDir, buildDir, isDevelopment } = vars;
return { return {
name: "lens-app-main",
context: __dirname, context: __dirname,
target: "electron-main", target: "electron-main",
mode: isDevelopment ? "development" : "production", mode: isDevelopment ? "development" : "production",

View File

@ -24,7 +24,7 @@ export function webpackLensRenderer({ showVars = true } = {}): webpack.Configura
return { return {
target: "electron-renderer", target: "electron-renderer",
name: "lens-app", name: "lens-app-renderer",
mode: isDevelopment ? "development" : "production", mode: isDevelopment ? "development" : "production",
// https://webpack.js.org/configuration/devtool/ (see description of each option) // https://webpack.js.org/configuration/devtool/ (see description of each option)
devtool: isDevelopment ? "cheap-module-source-map" : "source-map", devtool: isDevelopment ? "cheap-module-source-map" : "source-map",