@k8slens/extensions 5.4.1-git.1077a949ec.0 → 5.4.1-git.54b87efd89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ export type { StatusBarRegistration } from "../../renderer/components/status-bar
6
6
  export type { KubeObjectMenuRegistration, KubeObjectMenuComponents } from "../../renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-registration";
7
7
  export type { AppPreferenceRegistration, AppPreferenceComponents } from "../../renderer/components/+preferences/app-preferences/app-preference-registration";
8
8
  export type { KubeObjectDetailRegistration, KubeObjectDetailComponents } from "../registries/kube-object-detail-registry";
9
- export type { KubeObjectStatusRegistration } from "../registries/kube-object-status-registry";
9
+ export type { KubeObjectStatusRegistration } from "../../renderer/components/kube-object-status-icon/kube-object-status-registration";
10
10
  export type { PageRegistration, RegisteredPage, PageParams, PageComponentProps, PageComponents, PageTarget } from "../registries/page-registry";
11
11
  export type { ClusterPageMenuRegistration, ClusterPageMenuComponents } from "../registries/page-menu-registry";
12
12
  export type { ProtocolHandlerRegistration, RouteParams as ProtocolRouteParams, RouteHandler as ProtocolRouteHandler } from "../registries/protocol-handler";
@@ -34229,7 +34229,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34229
34229
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34230
34230
 
34231
34231
  "use strict";
34232
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ExtensionLoader\": () => (/* binding */ ExtensionLoader)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _registries__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../registries */ \"./src/extensions/registries/index.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nconst logModule = \"[EXTENSIONS-LOADER]\";\n/**\n * Loads installed extensions to the Lens application\n */\nclass ExtensionLoader {\n constructor(dependencies) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"extensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n Object.defineProperty(this, \"instances\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n /**\n * This is the set of extensions that don't come with either\n * - Main.LensExtension when running in the main process\n * - Renderer.LensExtension when running in the renderer process\n */\n Object.defineProperty(this, \"nonInstancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.set()\n });\n /**\n * This is updated by the `observe` in the constructor. DO NOT write directly to it\n */\n Object.defineProperty(this, \"instancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n // emits event \"remove\" of type LensExtension when the extension is removed\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter()\n });\n Object.defineProperty(this, \"isLoaded\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadOnClusterManagerRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on main renderer (cluster manager)`);\n return this.autoInitExtensions(async (extension) => {\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.GlobalPageRegistry.getInstance().add(extension.globalPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.EntitySettingRegistry.getInstance().add(extension.entitySettings),\n _registries__WEBPACK_IMPORTED_MODULE_7__.CatalogEntityDetailRegistry.getInstance().add(extension.catalogEntityDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object.defineProperty(this, \"loadOnClusterRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (getCluster) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on cluster renderer (dashboard)`);\n this.autoInitExtensions(async (extension) => {\n // getCluster must be a callback, as the entity might be available only after an extension has been loaded\n if ((await extension.isEnabledForCluster(getCluster())) === false) {\n return [];\n }\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.ClusterPageRegistry.getInstance().add(extension.clusterPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.ClusterPageMenuRegistry.getInstance().add(extension.clusterPageMenus, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.KubeObjectDetailRegistry.getInstance().add(extension.kubeObjectDetailItems),\n _registries__WEBPACK_IMPORTED_MODULE_7__.KubeObjectStatusRegistry.getInstance().add(extension.kubeObjectStatusTexts),\n _registries__WEBPACK_IMPORTED_MODULE_7__.WorkloadsOverviewDetailRegistry.getInstance().add(extension.kubeWorkloadsOverviewItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.makeObservable)(this);\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.observe)(this.instances, change => {\n switch (change.type) {\n case \"add\":\n if (this.instancesByName.has(change.newValue.name)) {\n throw new TypeError(\"Extension names must be unique\");\n }\n this.instancesByName.set(change.newValue.name, change.newValue);\n break;\n case \"delete\":\n this.instancesByName.delete(change.oldValue.name);\n break;\n case \"update\":\n throw new Error(\"Extension instances shouldn't be updated\");\n }\n });\n }\n get whenLoaded() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_10__.when)(() => this.isLoaded);\n }\n get enabledExtensionInstances() {\n return [...this.instances.values()].filter(extension => extension.isEnabled);\n }\n get userExtensions() {\n const extensions = this.toJSON();\n extensions.forEach((ext, extId) => {\n if (ext.isBundled) {\n extensions.delete(extId);\n }\n });\n return extensions;\n }\n /**\n * Get the extension instance by its manifest name\n * @param name The name of the extension\n * @returns one of the following:\n * - the instance of `Main.LensExtension` on the main process if created\n * - the instance of `Renderer.LensExtension` on the renderer process if created\n * - `null` if no class definition is provided for the current process\n * - `undefined` if the name is not known about\n */\n getInstanceByName(name) {\n if (this.nonInstancesByName.has(name)) {\n return null;\n }\n return this.instancesByName.get(name);\n }\n // Transform userExtensions to a state object for storing into ExtensionsStore\n get storeState() {\n return Object.fromEntries(Array.from(this.userExtensions)\n .map(([extId, extension]) => [extId, {\n enabled: extension.isEnabled,\n name: extension.manifest.name,\n }]));\n }\n async init() {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n await this.initRenderer();\n }\n else {\n await this.initMain();\n }\n await Promise.all([this.whenLoaded]);\n // broadcasting extensions between main/renderer processes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), () => this.broadcastExtensions(), {\n fireImmediately: true,\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.storeState, (state) => {\n this.dependencies.updateExtensionsState(state);\n });\n }\n initExtensions(extensions) {\n this.extensions.replace(extensions);\n }\n addExtension(extension) {\n this.extensions.set(extension.id, extension);\n }\n removeInstance(lensExtensionId) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].info(`${logModule} deleting extension instance ${lensExtensionId}`);\n const instance = this.instances.get(lensExtensionId);\n if (!instance) {\n return;\n }\n try {\n instance.disable();\n this.events.emit(\"remove\", instance);\n this.instances.delete(lensExtensionId);\n this.nonInstancesByName.delete(instance.name);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: deactivation extension error`, { lensExtensionId, error });\n }\n }\n removeExtension(lensExtensionId) {\n this.removeInstance(lensExtensionId);\n if (!this.extensions.delete(lensExtensionId)) {\n throw new Error(`Can't remove extension ${lensExtensionId}, doesn't exist.`);\n }\n }\n setIsEnabled(lensExtensionId, isEnabled) {\n this.extensions.get(lensExtensionId).isEnabled = isEnabled;\n }\n async initMain() {\n this.isLoaded = true;\n this.loadOnMain();\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainHandle)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, () => {\n return Array.from(this.toJSON());\n });\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel, (event, extensions) => {\n this.syncExtensions(extensions);\n });\n }\n async initRenderer() {\n const extensionListHandler = (extensions) => {\n this.isLoaded = true;\n this.syncExtensions(extensions);\n const receivedExtensionIds = extensions.map(([lensExtensionId]) => lensExtensionId);\n // Remove deleted extensions in renderer side only\n this.extensions.forEach((_, lensExtensionId) => {\n if (!receivedExtensionIds.includes(lensExtensionId)) {\n this.removeExtension(lensExtensionId);\n }\n });\n };\n (0,_renderer_ipc__WEBPACK_IMPORTED_MODULE_9__.requestExtensionLoaderInitialState)().then(extensionListHandler);\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcRendererOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, (event, extensions) => {\n extensionListHandler(extensions);\n });\n }\n broadcastExtensions() {\n const channel = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer\n ? _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel\n : _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel;\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.broadcastMessage)(channel, Array.from(this.extensions));\n }\n syncExtensions(extensions) {\n extensions.forEach(([lensExtensionId, extension]) => {\n if (!(0,lodash__WEBPACK_IMPORTED_MODULE_2__.isEqual)(this.extensions.get(lensExtensionId), extension)) {\n this.extensions.set(lensExtensionId, extension);\n }\n });\n }\n loadOnMain() {\n this.autoInitExtensions(() => Promise.resolve([]));\n }\n async loadExtensions(installedExtensions, register) {\n // Steps of the function:\n // 1. require and call .activate for each Extension\n // 2. Wait until every extension's onActivate has been resolved\n // 3. Call .enable for each extension\n // 4. Return ExtensionLoading[]\n const extensions = [...installedExtensions.entries()]\n .map(([extId, extension]) => {\n const alreadyInit = this.instances.has(extId) || this.nonInstancesByName.has(extension.manifest.name);\n if (extension.isCompatible && extension.isEnabled && !alreadyInit) {\n try {\n const LensExtensionClass = this.requireExtension(extension);\n if (!LensExtensionClass) {\n this.nonInstancesByName.add(extension.manifest.name);\n return null;\n }\n const instance = this.dependencies.createExtensionInstance(LensExtensionClass, extension);\n this.instances.set(extId, instance);\n return {\n instance,\n installedExtension: extension,\n activated: instance.activate(),\n };\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: error loading extension`, { ext: extension, err });\n }\n }\n else if (!extension.isEnabled && alreadyInit) {\n this.removeInstance(extId);\n }\n return null;\n })\n // Remove null values\n .filter(extension => Boolean(extension));\n // We first need to wait until each extension's `onActivate` is resolved or rejected,\n // as this might register new catalog categories. Afterwards we can safely .enable the extension.\n await Promise.all(extensions.map(extension => \n // If extension activation fails, log error\n extension.activated.catch((error) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: activation extension error`, { ext: extension.installedExtension, error });\n })));\n // Return ExtensionLoading[]\n return extensions.map(extension => {\n const loaded = extension.instance.enable(register).catch((err) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: failed to enable`, { ext: extension, err });\n });\n return {\n isBundled: extension.installedExtension.isBundled,\n loaded,\n };\n });\n }\n autoInitExtensions(register) {\n // Setup reaction to load extensions on JSON changes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), installedExtensions => this.loadExtensions(installedExtensions, register));\n // Load initial extensions\n return this.loadExtensions(this.toJSON(), register);\n }\n requireExtension(extension) {\n const entryPointName = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer ? \"renderer\" : \"main\";\n const extRelativePath = extension.manifest[entryPointName];\n if (!extRelativePath) {\n return null;\n }\n const extAbsolutePath = path__WEBPACK_IMPORTED_MODULE_3___default().resolve(path__WEBPACK_IMPORTED_MODULE_3___default().join(path__WEBPACK_IMPORTED_MODULE_3___default().dirname(extension.manifestPath), extRelativePath));\n try {\n return require(extAbsolutePath).default;\n }\n catch (error) {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n console.error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error.stack || error}`, extension);\n }\n else {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error}`, { extension });\n }\n }\n return null;\n }\n getExtension(extId) {\n return this.extensions.get(extId);\n }\n getInstanceById(extId) {\n return this.instances.get(extId);\n }\n toJSON() {\n return (0,_common_utils__WEBPACK_IMPORTED_MODULE_5__.toJS)(this.extensions);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.observable,\n __metadata(\"design:type\", Object)\n], ExtensionLoader.prototype, \"isLoaded\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"enabledExtensionInstances\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"userExtensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"storeState\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ExtensionLoader.prototype, \"init\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], ExtensionLoader.prototype, \"removeInstance\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-loader.ts?");
34232
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ExtensionLoader\": () => (/* binding */ ExtensionLoader)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _registries__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../registries */ \"./src/extensions/registries/index.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nconst logModule = \"[EXTENSIONS-LOADER]\";\n/**\n * Loads installed extensions to the Lens application\n */\nclass ExtensionLoader {\n constructor(dependencies) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"extensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n Object.defineProperty(this, \"instances\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n /**\n * This is the set of extensions that don't come with either\n * - Main.LensExtension when running in the main process\n * - Renderer.LensExtension when running in the renderer process\n */\n Object.defineProperty(this, \"nonInstancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.set()\n });\n /**\n * This is updated by the `observe` in the constructor. DO NOT write directly to it\n */\n Object.defineProperty(this, \"instancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n // emits event \"remove\" of type LensExtension when the extension is removed\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter()\n });\n Object.defineProperty(this, \"isLoaded\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadOnClusterManagerRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on main renderer (cluster manager)`);\n return this.autoInitExtensions(async (extension) => {\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.GlobalPageRegistry.getInstance().add(extension.globalPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.EntitySettingRegistry.getInstance().add(extension.entitySettings),\n _registries__WEBPACK_IMPORTED_MODULE_7__.CatalogEntityDetailRegistry.getInstance().add(extension.catalogEntityDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object.defineProperty(this, \"loadOnClusterRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (getCluster) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on cluster renderer (dashboard)`);\n this.autoInitExtensions(async (extension) => {\n // getCluster must be a callback, as the entity might be available only after an extension has been loaded\n if ((await extension.isEnabledForCluster(getCluster())) === false) {\n return [];\n }\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.ClusterPageRegistry.getInstance().add(extension.clusterPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.ClusterPageMenuRegistry.getInstance().add(extension.clusterPageMenus, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.KubeObjectDetailRegistry.getInstance().add(extension.kubeObjectDetailItems),\n _registries__WEBPACK_IMPORTED_MODULE_7__.WorkloadsOverviewDetailRegistry.getInstance().add(extension.kubeWorkloadsOverviewItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.makeObservable)(this);\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.observe)(this.instances, change => {\n switch (change.type) {\n case \"add\":\n if (this.instancesByName.has(change.newValue.name)) {\n throw new TypeError(\"Extension names must be unique\");\n }\n this.instancesByName.set(change.newValue.name, change.newValue);\n break;\n case \"delete\":\n this.instancesByName.delete(change.oldValue.name);\n break;\n case \"update\":\n throw new Error(\"Extension instances shouldn't be updated\");\n }\n });\n }\n get whenLoaded() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_10__.when)(() => this.isLoaded);\n }\n get enabledExtensionInstances() {\n return [...this.instances.values()].filter(extension => extension.isEnabled);\n }\n get userExtensions() {\n const extensions = this.toJSON();\n extensions.forEach((ext, extId) => {\n if (ext.isBundled) {\n extensions.delete(extId);\n }\n });\n return extensions;\n }\n /**\n * Get the extension instance by its manifest name\n * @param name The name of the extension\n * @returns one of the following:\n * - the instance of `Main.LensExtension` on the main process if created\n * - the instance of `Renderer.LensExtension` on the renderer process if created\n * - `null` if no class definition is provided for the current process\n * - `undefined` if the name is not known about\n */\n getInstanceByName(name) {\n if (this.nonInstancesByName.has(name)) {\n return null;\n }\n return this.instancesByName.get(name);\n }\n // Transform userExtensions to a state object for storing into ExtensionsStore\n get storeState() {\n return Object.fromEntries(Array.from(this.userExtensions)\n .map(([extId, extension]) => [extId, {\n enabled: extension.isEnabled,\n name: extension.manifest.name,\n }]));\n }\n async init() {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n await this.initRenderer();\n }\n else {\n await this.initMain();\n }\n await Promise.all([this.whenLoaded]);\n // broadcasting extensions between main/renderer processes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), () => this.broadcastExtensions(), {\n fireImmediately: true,\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.storeState, (state) => {\n this.dependencies.updateExtensionsState(state);\n });\n }\n initExtensions(extensions) {\n this.extensions.replace(extensions);\n }\n addExtension(extension) {\n this.extensions.set(extension.id, extension);\n }\n removeInstance(lensExtensionId) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].info(`${logModule} deleting extension instance ${lensExtensionId}`);\n const instance = this.instances.get(lensExtensionId);\n if (!instance) {\n return;\n }\n try {\n instance.disable();\n this.events.emit(\"remove\", instance);\n this.instances.delete(lensExtensionId);\n this.nonInstancesByName.delete(instance.name);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: deactivation extension error`, { lensExtensionId, error });\n }\n }\n removeExtension(lensExtensionId) {\n this.removeInstance(lensExtensionId);\n if (!this.extensions.delete(lensExtensionId)) {\n throw new Error(`Can't remove extension ${lensExtensionId}, doesn't exist.`);\n }\n }\n setIsEnabled(lensExtensionId, isEnabled) {\n this.extensions.get(lensExtensionId).isEnabled = isEnabled;\n }\n async initMain() {\n this.isLoaded = true;\n this.loadOnMain();\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainHandle)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, () => {\n return Array.from(this.toJSON());\n });\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel, (event, extensions) => {\n this.syncExtensions(extensions);\n });\n }\n async initRenderer() {\n const extensionListHandler = (extensions) => {\n this.isLoaded = true;\n this.syncExtensions(extensions);\n const receivedExtensionIds = extensions.map(([lensExtensionId]) => lensExtensionId);\n // Remove deleted extensions in renderer side only\n this.extensions.forEach((_, lensExtensionId) => {\n if (!receivedExtensionIds.includes(lensExtensionId)) {\n this.removeExtension(lensExtensionId);\n }\n });\n };\n (0,_renderer_ipc__WEBPACK_IMPORTED_MODULE_9__.requestExtensionLoaderInitialState)().then(extensionListHandler);\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcRendererOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, (event, extensions) => {\n extensionListHandler(extensions);\n });\n }\n broadcastExtensions() {\n const channel = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer\n ? _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel\n : _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel;\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.broadcastMessage)(channel, Array.from(this.extensions));\n }\n syncExtensions(extensions) {\n extensions.forEach(([lensExtensionId, extension]) => {\n if (!(0,lodash__WEBPACK_IMPORTED_MODULE_2__.isEqual)(this.extensions.get(lensExtensionId), extension)) {\n this.extensions.set(lensExtensionId, extension);\n }\n });\n }\n loadOnMain() {\n this.autoInitExtensions(() => Promise.resolve([]));\n }\n async loadExtensions(installedExtensions, register) {\n // Steps of the function:\n // 1. require and call .activate for each Extension\n // 2. Wait until every extension's onActivate has been resolved\n // 3. Call .enable for each extension\n // 4. Return ExtensionLoading[]\n const extensions = [...installedExtensions.entries()]\n .map(([extId, extension]) => {\n const alreadyInit = this.instances.has(extId) || this.nonInstancesByName.has(extension.manifest.name);\n if (extension.isCompatible && extension.isEnabled && !alreadyInit) {\n try {\n const LensExtensionClass = this.requireExtension(extension);\n if (!LensExtensionClass) {\n this.nonInstancesByName.add(extension.manifest.name);\n return null;\n }\n const instance = this.dependencies.createExtensionInstance(LensExtensionClass, extension);\n this.instances.set(extId, instance);\n return {\n instance,\n installedExtension: extension,\n activated: instance.activate(),\n };\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: error loading extension`, { ext: extension, err });\n }\n }\n else if (!extension.isEnabled && alreadyInit) {\n this.removeInstance(extId);\n }\n return null;\n })\n // Remove null values\n .filter(extension => Boolean(extension));\n // We first need to wait until each extension's `onActivate` is resolved or rejected,\n // as this might register new catalog categories. Afterwards we can safely .enable the extension.\n await Promise.all(extensions.map(extension => \n // If extension activation fails, log error\n extension.activated.catch((error) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: activation extension error`, { ext: extension.installedExtension, error });\n })));\n // Return ExtensionLoading[]\n return extensions.map(extension => {\n const loaded = extension.instance.enable(register).catch((err) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: failed to enable`, { ext: extension, err });\n });\n return {\n isBundled: extension.installedExtension.isBundled,\n loaded,\n };\n });\n }\n autoInitExtensions(register) {\n // Setup reaction to load extensions on JSON changes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), installedExtensions => this.loadExtensions(installedExtensions, register));\n // Load initial extensions\n return this.loadExtensions(this.toJSON(), register);\n }\n requireExtension(extension) {\n const entryPointName = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer ? \"renderer\" : \"main\";\n const extRelativePath = extension.manifest[entryPointName];\n if (!extRelativePath) {\n return null;\n }\n const extAbsolutePath = path__WEBPACK_IMPORTED_MODULE_3___default().resolve(path__WEBPACK_IMPORTED_MODULE_3___default().join(path__WEBPACK_IMPORTED_MODULE_3___default().dirname(extension.manifestPath), extRelativePath));\n try {\n return require(extAbsolutePath).default;\n }\n catch (error) {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n console.error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error.stack || error}`, extension);\n }\n else {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error}`, { extension });\n }\n }\n return null;\n }\n getExtension(extId) {\n return this.extensions.get(extId);\n }\n getInstanceById(extId) {\n return this.instances.get(extId);\n }\n toJSON() {\n return (0,_common_utils__WEBPACK_IMPORTED_MODULE_5__.toJS)(this.extensions);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.observable,\n __metadata(\"design:type\", Object)\n], ExtensionLoader.prototype, \"isLoaded\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"enabledExtensionInstances\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"userExtensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"storeState\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ExtensionLoader.prototype, \"init\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], ExtensionLoader.prototype, \"removeInstance\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-loader.ts?");
34233
34233
 
34234
34234
  /***/ }),
34235
34235
 
@@ -34460,7 +34460,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34460
34460
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34461
34461
 
34462
34462
  "use strict";
34463
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterPageRegistry\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.ClusterPageRegistry),\n/* harmony export */ \"GlobalPageRegistry\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.GlobalPageRegistry),\n/* harmony export */ \"getExtensionPageUrl\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.getExtensionPageUrl),\n/* harmony export */ \"ClusterPageMenuRegistry\": () => (/* reexport safe */ _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__.ClusterPageMenuRegistry),\n/* harmony export */ \"KubeObjectDetailRegistry\": () => (/* reexport safe */ _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__.KubeObjectDetailRegistry),\n/* harmony export */ \"KubeObjectStatusRegistry\": () => (/* reexport safe */ _kube_object_status_registry__WEBPACK_IMPORTED_MODULE_3__.KubeObjectStatusRegistry),\n/* harmony export */ \"EntitySettingRegistry\": () => (/* reexport safe */ _entity_setting_registry__WEBPACK_IMPORTED_MODULE_4__.EntitySettingRegistry),\n/* harmony export */ \"CatalogEntityDetailRegistry\": () => (/* reexport safe */ _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_5__.CatalogEntityDetailRegistry),\n/* harmony export */ \"WorkloadsOverviewDetailRegistry\": () => (/* reexport safe */ _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_6__.WorkloadsOverviewDetailRegistry)\n/* harmony export */ });\n/* harmony import */ var _page_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony import */ var _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-menu-registry */ \"./src/extensions/registries/page-menu-registry.ts\");\n/* harmony import */ var _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-object-detail-registry */ \"./src/extensions/registries/kube-object-detail-registry.ts\");\n/* harmony import */ var _kube_object_status_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./kube-object-status-registry */ \"./src/extensions/registries/kube-object-status-registry.ts\");\n/* harmony import */ var _entity_setting_registry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./entity-setting-registry */ \"./src/extensions/registries/entity-setting-registry.ts\");\n/* harmony import */ var _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./catalog-entity-detail-registry */ \"./src/extensions/registries/catalog-entity-detail-registry.ts\");\n/* harmony import */ var _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./workloads-overview-detail-registry */ \"./src/extensions/registries/workloads-overview-detail-registry.ts\");\n/* harmony import */ var _protocol_handler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./protocol-handler */ \"./src/extensions/registries/protocol-handler.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// All registries managed by extensions api\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/index.ts?");
34463
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterPageRegistry\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.ClusterPageRegistry),\n/* harmony export */ \"GlobalPageRegistry\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.GlobalPageRegistry),\n/* harmony export */ \"getExtensionPageUrl\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.getExtensionPageUrl),\n/* harmony export */ \"ClusterPageMenuRegistry\": () => (/* reexport safe */ _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__.ClusterPageMenuRegistry),\n/* harmony export */ \"KubeObjectDetailRegistry\": () => (/* reexport safe */ _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__.KubeObjectDetailRegistry),\n/* harmony export */ \"EntitySettingRegistry\": () => (/* reexport safe */ _entity_setting_registry__WEBPACK_IMPORTED_MODULE_3__.EntitySettingRegistry),\n/* harmony export */ \"CatalogEntityDetailRegistry\": () => (/* reexport safe */ _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_4__.CatalogEntityDetailRegistry),\n/* harmony export */ \"WorkloadsOverviewDetailRegistry\": () => (/* reexport safe */ _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_5__.WorkloadsOverviewDetailRegistry)\n/* harmony export */ });\n/* harmony import */ var _page_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony import */ var _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-menu-registry */ \"./src/extensions/registries/page-menu-registry.ts\");\n/* harmony import */ var _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-object-detail-registry */ \"./src/extensions/registries/kube-object-detail-registry.ts\");\n/* harmony import */ var _entity_setting_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./entity-setting-registry */ \"./src/extensions/registries/entity-setting-registry.ts\");\n/* harmony import */ var _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./catalog-entity-detail-registry */ \"./src/extensions/registries/catalog-entity-detail-registry.ts\");\n/* harmony import */ var _workloads_overview_detail_registry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./workloads-overview-detail-registry */ \"./src/extensions/registries/workloads-overview-detail-registry.ts\");\n/* harmony import */ var _protocol_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./protocol-handler */ \"./src/extensions/registries/protocol-handler.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// All registries managed by extensions api\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/index.ts?");
34464
34464
 
34465
34465
  /***/ }),
34466
34466
 
@@ -34475,17 +34475,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34475
34475
 
34476
34476
  /***/ }),
34477
34477
 
34478
- /***/ "./src/extensions/registries/kube-object-status-registry.ts":
34479
- /*!******************************************************************!*\
34480
- !*** ./src/extensions/registries/kube-object-status-registry.ts ***!
34481
- \******************************************************************/
34482
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34483
-
34484
- "use strict";
34485
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectStatusRegistry\": () => (/* binding */ KubeObjectStatusRegistry)\n/* harmony export */ });\n/* harmony import */ var _base_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-registry */ \"./src/extensions/registries/base-registry.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nclass KubeObjectStatusRegistry extends _base_registry__WEBPACK_IMPORTED_MODULE_0__.BaseRegistry {\n getItemsForKind(kind, apiVersion) {\n return this.getItems()\n .filter((item) => (item.kind === kind\n && item.apiVersions.includes(apiVersion)));\n }\n getItemsForObject(src) {\n return this.getItemsForKind(src.kind, src.apiVersion)\n .map(item => item.resolve(src))\n .filter(Boolean);\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/kube-object-status-registry.ts?");
34486
-
34487
- /***/ }),
34488
-
34489
34478
  /***/ "./src/extensions/registries/page-menu-registry.ts":
34490
34479
  /*!*********************************************************!*\
34491
34480
  !*** ./src/extensions/registries/page-menu-registry.ts ***!
@@ -36396,7 +36385,29 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36396
36385
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36397
36386
 
36398
36387
  "use strict";
36399
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectStatusIcon\": () => (/* binding */ KubeObjectStatusIcon)\n/* harmony export */ });\n/* harmony import */ var _kube_object_status_icon_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./kube-object-status-icon.scss */ \"./src/renderer/components/kube-object-status-icon/kube-object-status-icon.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../..//extensions/renderer-api/k8s-api */ \"./src/extensions/renderer-api/k8s-api.ts\");\n/* harmony import */ var _extensions_registries__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../extensions/registries */ \"./src/extensions/registries/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nfunction statusClassName(level) {\n switch (level) {\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO:\n return \"info\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING:\n return \"warning\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL:\n return \"error\";\n }\n}\nfunction statusTitle(level) {\n switch (level) {\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO:\n return \"Info\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING:\n return \"Warning\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL:\n return \"Critical\";\n }\n}\nfunction getAge(timestamp) {\n return timestamp\n ? (0,_utils__WEBPACK_IMPORTED_MODULE_3__.formatDuration)(Date.now() - new Date(timestamp).getTime(), true)\n : \"\";\n}\n/**\n * This function returns the class level for corresponding to the highest status level\n * and the statuses split by their levels.\n * @param src a list of status items\n */\nfunction splitByLevel(src) {\n var _a, _b, _c, _d;\n const parts = new Map(Object.values(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel).map(v => [v, []]));\n src.forEach(status => parts.get(status.level).push(status));\n const criticals = parts.get(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL);\n const warnings = parts.get(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING);\n const infos = parts.get(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO);\n const maxLevel = statusClassName((_d = (_b = (_a = criticals[0]) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : (_c = warnings[0]) === null || _c === void 0 ? void 0 : _c.level) !== null && _d !== void 0 ? _d : infos[0].level);\n return { maxLevel, criticals, warnings, infos };\n}\nclass KubeObjectStatusIcon extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n renderStatuses(statuses, level) {\n const filteredStatuses = statuses.filter((item) => item.level == level);\n return filteredStatuses.length > 0 && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"level\", statusClassName(level)) },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", { className: \"title\" }, statusTitle(level)),\n filteredStatuses.map((status, index) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { key: `kube-resource-status-${level}-${index}`, className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"status\", \"msg\") },\n \"- \",\n status.text,\n \" \",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", { className: \"age\" },\n \" \\u00B7 \",\n getAge(status.timestamp)))))));\n }\n render() {\n const statuses = _extensions_registries__WEBPACK_IMPORTED_MODULE_5__.KubeObjectStatusRegistry.getInstance().getItemsForObject(this.props.object);\n if (statuses.length === 0) {\n return null;\n }\n const { maxLevel, criticals, warnings, infos } = splitByLevel(statuses);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { material: maxLevel, className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"KubeObjectStatusIcon\", maxLevel), tooltip: {\n children: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"KubeObjectStatusTooltip\" },\n this.renderStatuses(criticals, _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL),\n this.renderStatuses(warnings, _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING),\n this.renderStatuses(infos, _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO))),\n } }));\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-status-icon/kube-object-status-icon.tsx?");
36388
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectStatusIcon\": () => (/* binding */ KubeObjectStatusIcon)\n/* harmony export */ });\n/* harmony import */ var _kube_object_status_icon_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./kube-object-status-icon.scss */ \"./src/renderer/components/kube-object-status-icon/kube-object-status-icon.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../..//extensions/renderer-api/k8s-api */ \"./src/extensions/renderer-api/k8s-api.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _statuses_for_kube_object_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./statuses-for-kube-object.injectable */ \"./src/renderer/components/kube-object-status-icon/statuses-for-kube-object.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\nfunction statusClassName(level) {\n switch (level) {\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO:\n return \"info\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING:\n return \"warning\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL:\n return \"error\";\n }\n}\nfunction statusTitle(level) {\n switch (level) {\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO:\n return \"Info\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING:\n return \"Warning\";\n case _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL:\n return \"Critical\";\n }\n}\nfunction getAge(timestamp) {\n return timestamp\n ? (0,_utils__WEBPACK_IMPORTED_MODULE_3__.formatDuration)(Date.now() - new Date(timestamp).getTime(), true)\n : \"\";\n}\n/**\n * This function returns the class level for corresponding to the highest status level\n * and the statuses split by their levels.\n * @param src a list of status items\n */\nfunction splitByLevel(src) {\n var _a, _b, _c, _d;\n const parts = new Map(Object.values(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel).map(v => [v, []]));\n src.forEach(status => parts.get(status.level).push(status));\n const criticals = parts.get(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL);\n const warnings = parts.get(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING);\n const infos = parts.get(_extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO);\n const maxLevel = statusClassName((_d = (_b = (_a = criticals[0]) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : (_c = warnings[0]) === null || _c === void 0 ? void 0 : _c.level) !== null && _d !== void 0 ? _d : infos[0].level);\n return { maxLevel, criticals, warnings, infos };\n}\nclass NonInjectedKubeObjectStatusIcon extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n renderStatuses(statuses, level) {\n const filteredStatuses = statuses.filter((item) => item.level == level);\n return filteredStatuses.length > 0 && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"level\", statusClassName(level)) },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", { className: \"title\" }, statusTitle(level)),\n filteredStatuses.map((status, index) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { key: `kube-resource-status-${level}-${index}`, className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"status\", \"msg\") },\n \"- \",\n status.text,\n \" \",\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", { className: \"age\" },\n \" \\u00B7 \",\n getAge(status.timestamp)))))));\n }\n render() {\n const statuses = this.props.statuses;\n if (statuses.length === 0) {\n return null;\n }\n const { maxLevel, criticals, warnings, infos } = splitByLevel(statuses);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { material: maxLevel, className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"KubeObjectStatusIcon\", maxLevel), tooltip: {\n children: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"KubeObjectStatusTooltip\" },\n this.renderStatuses(criticals, _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.CRITICAL),\n this.renderStatuses(warnings, _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.WARNING),\n this.renderStatuses(infos, _extensions_renderer_api_k8s_api__WEBPACK_IMPORTED_MODULE_4__.KubeObjectStatusLevel.INFO))),\n } }));\n }\n}\nconst KubeObjectStatusIcon = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__.withInjectables)(NonInjectedKubeObjectStatusIcon, {\n getProps: (di, props) => ({\n statuses: di.inject(_statuses_for_kube_object_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"], props.object),\n ...props,\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-status-icon/kube-object-status-icon.tsx?");
36389
+
36390
+ /***/ }),
36391
+
36392
+ /***/ "./src/renderer/components/kube-object-status-icon/status-registrations.injectable.ts":
36393
+ /*!********************************************************************************************!*\
36394
+ !*** ./src/renderer/components/kube-object-status-icon/status-registrations.injectable.ts ***!
36395
+ \********************************************************************************************/
36396
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36397
+
36398
+ "use strict";
36399
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _extensions_renderer_extensions_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../extensions/renderer-extensions.injectable */ \"./src/extensions/renderer-extensions.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst statusRegistrationsInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"status-registrations\",\n instantiate: (di) => {\n const extensions = di.inject(_extensions_renderer_extensions_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => extensions.get().flatMap((extension) => extension.kubeObjectStatusTexts));\n },\n lifecycle: _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.lifecycleEnum.singleton,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (statusRegistrationsInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-status-icon/status-registrations.injectable.ts?");
36400
+
36401
+ /***/ }),
36402
+
36403
+ /***/ "./src/renderer/components/kube-object-status-icon/statuses-for-kube-object.injectable.ts":
36404
+ /*!************************************************************************************************!*\
36405
+ !*** ./src/renderer/components/kube-object-status-icon/statuses-for-kube-object.injectable.ts ***!
36406
+ \************************************************************************************************/
36407
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36408
+
36409
+ "use strict";
36410
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _status_registrations_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./status-registrations.injectable */ \"./src/renderer/components/kube-object-status-icon/status-registrations.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst statusesForKubeObjectInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"statuses-for-kube-object\",\n instantiate: (di, kubeObject) => di\n .inject(_status_registrations_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n .get()\n .filter(toKubeObjectRelated(kubeObject))\n .map(toStatus(kubeObject))\n .filter(Boolean),\n lifecycle: _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.lifecycleEnum.transient,\n});\nconst toKubeObjectRelated = (kubeObject) => (0,lodash_fp__WEBPACK_IMPORTED_MODULE_2__.conforms)({\n kind: (0,lodash_fp__WEBPACK_IMPORTED_MODULE_2__.eq)(kubeObject.kind),\n apiVersions: (0,lodash_fp__WEBPACK_IMPORTED_MODULE_2__.includes)(kubeObject.apiVersion),\n});\nconst toStatus = (kubeObject) => (item) => item.resolve(kubeObject);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (statusesForKubeObjectInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-status-icon/statuses-for-kube-object.injectable.ts?");
36400
36411
 
36401
36412
  /***/ }),
36402
36413
 
@@ -40922,7 +40933,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
40922
40933
  /***/ ((module) => {
40923
40934
 
40924
40935
  "use strict";
40925
- eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.4.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run compile:renderer --watch --progress\",\"dev:extension-types\":\"yarn run compile:extension-types --watch --progress\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack.main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack.renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack.extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download-bins\":\"concurrently yarn:download:*\",\"download:kubectl\":\"yarn run ts-node build/download_kubectl.ts\",\"download:helm\":\"yarn run ts-node build/download_helm.ts\",\"download:k8s-proxy\":\"yarn run ts-node build/download_k8s_proxy.ts\",\"build:tray-icons\":\"yarn run ts-node build/build_tray_icon.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.1.2\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"<rootDir>/__mocks__/styleMock.ts\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/${arch}/helm3/helm3\",\"to\":\"./helm3/helm3\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/${arch}/helm3/helm3\",\"to\":\"./helm3/helm3\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/x64/kubectl.exe\",\"to\":\"./x64/kubectl.exe\"},{\"from\":\"binaries/client/windows/ia32/kubectl.exe\",\"to\":\"./ia32/kubectl.exe\"},{\"from\":\"binaries/client/windows/x64/lens-k8s-proxy\",\"to\":\"./x64/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/ia32/lens-k8s-proxy\",\"to\":\"./ia32/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/x64/helm3/helm3.exe\",\"to\":\"./helm3/helm3.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.1\",\"@ogre-tools/injectable\":\"5.0.1\",\"@ogre-tools/injectable-react\":\"5.0.1\",\"@sentry/electron\":\"^2.5.4\",\"@sentry/integrations\":\"^6.15.0\",\"@types/circular-dependency-plugin\":\"5.0.4\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"autobind-decorator\":\"^2.4.0\",\"await-lock\":\"^2.1.0\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.4.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.1\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.5\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.6\",\"joi\":\"^17.5.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"jsonpath\":\"^1.1.1\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.10\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.3.7\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.2.1\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.1\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.15\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.8\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"semver\":\"^7.3.2\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.3\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.4.5\",\"winston\":\"^3.3.3\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.5\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.4\",\"@sentry/types\":\"^6.14.1\",\"@testing-library/jest-dom\":\"^5.16.1\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.34\",\"@types/color\":\"^3.0.2\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.1\",\"@types/electron-devtools-installer\":\"^2.2.0\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.7\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.13\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.177\",\"@types/marked\":\"^4.0.1\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.17.33\",\"@types/node-fetch\":\"^2.5.12\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.34\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.11\",\"@types/react-router-dom\":\"^5.3.2\",\"@types/react-select\":\"3.1.2\",\"@types/react-table\":\"^7.7.9\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.12\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.29.4\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tcp-port-used\":\"^1.0.0\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.5\",\"@types/uuid\":\"^8.3.3\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.10.1\",\"@typescript-eslint/parser\":\"^5.10.1\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.5.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.4\",\"electron\":\"^14.2.4\",\"electron-builder\":\"^22.14.5\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.13.15\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.7.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.28.0\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.5.2\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.17.1\",\"postcss\":\"^8.4.5\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.3\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.1.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.45.1\",\"sass-loader\":\"^12.4.0\",\"sharp\":\"^0.29.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.7\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.6\",\"ts-node\":\"^10.4.0\",\"type-fest\":\"^1.0.2\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.2\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.15.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40936
+ eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.4.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run compile:renderer --watch --progress\",\"dev:extension-types\":\"yarn run compile:extension-types --watch --progress\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack.main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack.renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack.extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download-bins\":\"concurrently yarn:download:*\",\"download:kubectl\":\"yarn run ts-node build/download_kubectl.ts\",\"download:helm\":\"yarn run ts-node build/download_helm.ts\",\"download:k8s-proxy\":\"yarn run ts-node build/download_k8s_proxy.ts\",\"build:tray-icons\":\"yarn run ts-node build/build_tray_icon.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.1.5\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"<rootDir>/__mocks__/styleMock.ts\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/${arch}/helm3/helm3\",\"to\":\"./helm3/helm3\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/${arch}/helm3/helm3\",\"to\":\"./helm3/helm3\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/x64/kubectl.exe\",\"to\":\"./x64/kubectl.exe\"},{\"from\":\"binaries/client/windows/ia32/kubectl.exe\",\"to\":\"./ia32/kubectl.exe\"},{\"from\":\"binaries/client/windows/x64/lens-k8s-proxy\",\"to\":\"./x64/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/ia32/lens-k8s-proxy\",\"to\":\"./ia32/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/x64/helm3/helm3.exe\",\"to\":\"./helm3/helm3.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.1\",\"@ogre-tools/injectable\":\"5.0.1\",\"@ogre-tools/injectable-react\":\"5.0.1\",\"@sentry/electron\":\"^2.5.4\",\"@sentry/integrations\":\"^6.15.0\",\"@types/circular-dependency-plugin\":\"5.0.4\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"autobind-decorator\":\"^2.4.0\",\"await-lock\":\"^2.1.0\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.4.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.1\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.5\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.6\",\"joi\":\"^17.5.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"jsonpath\":\"^1.1.1\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.10\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.3.7\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.2.1\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.1\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.15\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.8\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"semver\":\"^7.3.2\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.3\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.4.5\",\"winston\":\"^3.3.3\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.5\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.4\",\"@sentry/types\":\"^6.14.1\",\"@testing-library/jest-dom\":\"^5.16.1\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.34\",\"@types/color\":\"^3.0.2\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.1\",\"@types/electron-devtools-installer\":\"^2.2.0\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.7\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.13\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.177\",\"@types/marked\":\"^4.0.1\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.17.33\",\"@types/node-fetch\":\"^2.5.12\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.34\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.11\",\"@types/react-router-dom\":\"^5.3.2\",\"@types/react-select\":\"3.1.2\",\"@types/react-table\":\"^7.7.9\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.12\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.29.4\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tcp-port-used\":\"^1.0.0\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.5\",\"@types/uuid\":\"^8.3.3\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.10.1\",\"@typescript-eslint/parser\":\"^5.10.1\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.5.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.4\",\"electron\":\"^14.2.4\",\"electron-builder\":\"^22.14.5\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.13.15\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.7.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.28.0\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.5.2\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.17.1\",\"postcss\":\"^8.4.5\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.3\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.1.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.45.1\",\"sass-loader\":\"^12.4.0\",\"sharp\":\"^0.29.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.7\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.6\",\"ts-node\":\"^10.4.0\",\"type-fest\":\"^1.0.2\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.2\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.15.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40926
40937
 
40927
40938
  /***/ }),
40928
40939
 
@@ -18,11 +18,12 @@ import type { AdditionalCategoryColumnRegistration } from "../renderer/component
18
18
  import type { CustomCategoryViewRegistration } from "../renderer/components/+catalog/custom-views";
19
19
  import type { StatusBarRegistration } from "../renderer/components/status-bar/status-bar-registration";
20
20
  import type { KubeObjectMenuRegistration } from "../renderer/components/kube-object-menu/dependencies/kube-object-menu-items/kube-object-menu-registration";
21
+ import type { KubeObjectStatusRegistration } from "../renderer/components/kube-object-status-icon/kube-object-status-registration";
21
22
  export declare class LensRendererExtension extends LensExtension {
22
23
  globalPages: registries.PageRegistration[];
23
24
  clusterPages: registries.PageRegistration[];
24
25
  clusterPageMenus: registries.ClusterPageMenuRegistration[];
25
- kubeObjectStatusTexts: registries.KubeObjectStatusRegistration[];
26
+ kubeObjectStatusTexts: KubeObjectStatusRegistration[];
26
27
  appPreferences: AppPreferenceRegistration[];
27
28
  entitySettings: registries.EntitySettingRegistration[];
28
29
  statusBarItems: StatusBarRegistration[];
@@ -5,7 +5,6 @@
5
5
  export * from "./page-registry";
6
6
  export * from "./page-menu-registry";
7
7
  export * from "./kube-object-detail-registry";
8
- export * from "./kube-object-status-registry";
9
8
  export * from "./entity-setting-registry";
10
9
  export * from "./catalog-entity-detail-registry";
11
10
  export * from "./workloads-overview-detail-registry";
@@ -4,11 +4,10 @@
4
4
  */
5
5
  import "./kube-object-status-icon.scss";
6
6
  import React from "react";
7
- import { KubeObject, KubeObjectStatus } from "../../..//extensions/renderer-api/k8s-api";
7
+ import { KubeObject } from "../../..//extensions/renderer-api/k8s-api";
8
8
  export interface KubeObjectStatusIconProps {
9
9
  object: KubeObject;
10
10
  }
11
- export declare class KubeObjectStatusIcon extends React.Component<KubeObjectStatusIconProps> {
12
- renderStatuses(statuses: KubeObjectStatus[], level: number): JSX.Element;
13
- render(): JSX.Element;
14
- }
11
+ export declare const KubeObjectStatusIcon: React.ForwardRefExoticComponent<KubeObjectStatusIconProps & React.RefAttributes<any> & {
12
+ children?: React.ReactNode;
13
+ }>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) OpenLens Authors. All rights reserved.
3
+ * Licensed under MIT License. See LICENSE in root directory for more information.
4
+ */
5
+ import type { KubeObject } from "../../../common/k8s-api/kube-object";
6
+ import type { KubeObjectStatus } from "../../../extensions/renderer-api/kube-object-status";
7
+ export interface KubeObjectStatusRegistration {
8
+ kind: string;
9
+ apiVersions: string[];
10
+ resolve: (object: KubeObject) => KubeObjectStatus;
11
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ declare const statusRegistrationsInjectable: import("@ogre-tools/injectable").NormalInjectable<import("mobx").IComputedValue<import("./kube-object-status-registration").KubeObjectStatusRegistration[]>, unknown>;
3
+ export default statusRegistrationsInjectable;
@@ -0,0 +1,4 @@
1
+ /// <reference types="@ogre-tools/injectable" />
2
+ import type { KubeObject } from "../../../common/k8s-api/kube-object";
3
+ declare const statusesForKubeObjectInjectable: import("@ogre-tools/injectable").NormalInjectable<import("../../../extensions/renderer-api/kube-object-status").KubeObjectStatus[], KubeObject<import("../../../common/k8s-api/kube-object").KubeObjectMetadata, any, any>>;
4
+ export default statusesForKubeObjectInjectable;
@@ -13,5 +13,5 @@ export interface SwitcherProps extends SwitchProps {
13
13
  /**
14
14
  * @deprecated Use <Switch/> instead from "../switch.tsx".
15
15
  */
16
- export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "name" | "id" | "title" | "value" | "size" | "key" | "prefix" | "defaultValue" | "form" | "slot" | "style" | "hidden" | "className" | "color" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>;
16
+ export declare const Switcher: React.ComponentType<Pick<SwitcherProps, "name" | "id" | "title" | "value" | "size" | "key" | "className" | "prefix" | "defaultValue" | "form" | "slot" | "style" | "color" | "ref" | "action" | "autoFocus" | "checked" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "placeholder" | "readOnly" | "required" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "icon" | "inputProps" | "innerRef" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputRef"> & import("@material-ui/core/styles").StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>;
17
17
  export {};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@k8slens/extensions",
3
3
  "productName": "OpenLens extensions",
4
4
  "description": "OpenLens - Open Source Kubernetes IDE: extensions",
5
- "version": "5.4.1-git.1077a949ec.0",
5
+ "version": "5.4.1-git.54b87efd89.0",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",
@@ -1,15 +0,0 @@
1
- /**
2
- * Copyright (c) OpenLens Authors. All rights reserved.
3
- * Licensed under MIT License. See LICENSE in root directory for more information.
4
- */
5
- import type { KubeObject, KubeObjectStatus } from "../renderer-api/k8s-api";
6
- import { BaseRegistry } from "./base-registry";
7
- export interface KubeObjectStatusRegistration {
8
- kind: string;
9
- apiVersions: string[];
10
- resolve: (object: KubeObject) => KubeObjectStatus;
11
- }
12
- export declare class KubeObjectStatusRegistry extends BaseRegistry<KubeObjectStatusRegistration> {
13
- getItemsForKind(kind: string, apiVersion: string): KubeObjectStatusRegistration[];
14
- getItemsForObject(src: KubeObject): KubeObjectStatus[];
15
- }