From 5596088f86128444f0f46c2ee271715c1ce89da2 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 16 Dec 2022 14:06:48 -0500 Subject: [PATCH] Remove lens-node-menu intree extension Signed-off-by: Sebastian Malton --- extensions/node-menu/package.json | 22 ----- extensions/node-menu/renderer.tsx | 21 ----- extensions/node-menu/src/node-menu.tsx | 122 ------------------------- extensions/node-menu/tsconfig.json | 27 ------ extensions/node-menu/webpack.config.js | 44 --------- package.json | 3 - 6 files changed, 239 deletions(-) delete mode 100644 extensions/node-menu/package.json delete mode 100644 extensions/node-menu/renderer.tsx delete mode 100644 extensions/node-menu/src/node-menu.tsx delete mode 100644 extensions/node-menu/tsconfig.json delete mode 100644 extensions/node-menu/webpack.config.js diff --git a/extensions/node-menu/package.json b/extensions/node-menu/package.json deleted file mode 100644 index df2d490ee0..0000000000 --- a/extensions/node-menu/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "lens-node-menu", - "version": "6.1.0", - "description": "Lens node menu", - "renderer": "dist/renderer.js", - "lens": { - "metadata": {}, - "styles": [] - }, - "scripts": { - "build": "npx webpack", - "dev": "npx webpack -- --watch", - "test": "npx jest --passWithNoTests --env=jsdom src $@" - }, - "files": [ - "dist/**/*" - ], - "dependencies": {}, - "devDependencies": { - "@k8slens/extensions": "file:../../src/extensions/npm/extensions" - } -} diff --git a/extensions/node-menu/renderer.tsx b/extensions/node-menu/renderer.tsx deleted file mode 100644 index 31557c908d..0000000000 --- a/extensions/node-menu/renderer.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { Renderer } from "@k8slens/extensions"; -import React from "react"; -import type { NodeMenuProps } from "./src/node-menu"; -import { NodeMenu } from "./src/node-menu"; - -export default class NodeMenuRendererExtension extends Renderer.LensExtension { - kubeObjectMenuItems = [ - { - kind: "Node", - apiVersions: ["v1"], - components: { - MenuItem: (props: NodeMenuProps) => , - }, - }, - ]; -} diff --git a/extensions/node-menu/src/node-menu.tsx b/extensions/node-menu/src/node-menu.tsx deleted file mode 100644 index adc7576206..0000000000 --- a/extensions/node-menu/src/node-menu.tsx +++ /dev/null @@ -1,122 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import React from "react"; -import { Common, Renderer } from "@k8slens/extensions"; - -type Node = Renderer.K8sApi.Node; - -const { - Component: { - terminalStore, - createTerminalTab, - ConfirmDialog, - MenuItem, - Icon, - }, - Navigation, -} = Renderer; -const { - App, -} = Common; - - -export interface NodeMenuProps extends Renderer.Component.KubeObjectMenuProps { -} - -export function NodeMenu(props: NodeMenuProps) { - const { object: node, toolbar } = props; - - if (!node) { - return null; - } - - const nodeName = node.getName(); - const kubectlPath = App.Preferences.getKubectlPath() || "kubectl"; - - const sendToTerminal = (command: string) => { - terminalStore.sendCommand(command, { - enter: true, - newTab: true, - }); - Navigation.hideDetails(); - }; - - const shell = () => { - createTerminalTab({ - title: `Node: ${nodeName}`, - node: nodeName, - }); - Navigation.hideDetails(); - }; - - const cordon = () => { - sendToTerminal(`${kubectlPath} cordon ${nodeName}`); - }; - - const unCordon = () => { - sendToTerminal(`${kubectlPath} uncordon ${nodeName}`); - }; - - const drain = () => { - const command = `${kubectlPath} drain ${nodeName} --delete-local-data --ignore-daemonsets --force`; - - ConfirmDialog.open({ - ok: () => sendToTerminal(command), - labelOk: `Drain Node`, - message: ( -

- {"Are you sure you want to drain "} - {nodeName} - ? -

- ), - }); - }; - - return ( - <> - - - Shell - - { - node.isUnschedulable() - ? ( - - - Uncordon - - ) - : ( - - - Cordon - - ) - } - - - Drain - - - ); -} diff --git a/extensions/node-menu/tsconfig.json b/extensions/node-menu/tsconfig.json deleted file mode 100644 index 5b6c61577e..0000000000 --- a/extensions/node-menu/tsconfig.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "compilerOptions": { - "outDir": "dist", - "module": "CommonJS", - "target": "ES2017", - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "moduleResolution": "Node", - "sourceMap": false, - "declaration": false, - "strict": false, - "noImplicitAny": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "experimentalDecorators": true, - "useDefineForClassFields": true, - "jsx": "react" - }, - "include": [ - "./*.ts", - "./*.tsx" - ], - "exclude": [ - "node_modules", - "*.js" - ] -} diff --git a/extensions/node-menu/webpack.config.js b/extensions/node-menu/webpack.config.js deleted file mode 100644 index 8fe82e48a7..0000000000 --- a/extensions/node-menu/webpack.config.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -const path = require("path"); - -module.exports = [ - { - entry: "./renderer.tsx", - context: __dirname, - target: "electron-renderer", - mode: "production", - optimization: { - minimize: false, - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: "ts-loader", - exclude: /node_modules/, - }, - ], - }, - externals: [ - { - "@k8slens/extensions": "var global.LensExtensions", - "react": "var global.React", - "react-dom": "var global.ReactDOM", - "mobx": "var global.Mobx", - "mobx-react": "var global.MobxReact", - }, - ], - resolve: { - extensions: [ ".tsx", ".ts", ".js" ], - }, - output: { - libraryTarget: "commonjs2", - globalObject: "this", - filename: "renderer.js", - path: path.resolve(__dirname, "dist"), - }, - }, -]; diff --git a/package.json b/package.json index 2890a96b4e..11dd80cb87 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,6 @@ "contentSecurityPolicy": "script-src 'unsafe-eval' 'self'; frame-src http://*.localhost:*/; img-src * data:", "welcomeRoute": "/welcome", "extensions": [ - "node-menu", "pod-menu" ] }, @@ -232,7 +231,6 @@ "joi": "^17.7.0", "js-yaml": "^4.1.0", "jsdom": "^16.7.0", - "lens-node-menu": "file:./extensions/node-menu", "lens-pod-menu": "file:./extensions/pod-menu", "lodash": "^4.17.15", "marked": "^4.2.4", @@ -247,7 +245,6 @@ "monaco-editor": "^0.29.1", "monaco-editor-webpack-plugin": "^5.0.0", "node-fetch": "^3.3.0", - "node-menu": "file:./extensions/node-menu", "node-pty": "0.10.1", "npm": "^8.19.3", "p-limit": "^3.1.0",