diff --git a/src/extensions/extension-api.ts b/src/extensions/extension-api.ts index e4a8a77334..ec04e9cffe 100644 --- a/src/extensions/extension-api.ts +++ b/src/extensions/extension-api.ts @@ -1,4 +1,5 @@ -// Extension-api types generation bundle +// Extensions-api types bundle (main + renderer) +// Available for lens-extensions via NPM-package "@k8slens/extensions" export * from "./core-api"; export * from "./renderer-api"; diff --git a/src/main/index.ts b/src/main/index.ts index 90e99d9ca9..eb0c20d3c5 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -3,7 +3,7 @@ import "../common/system-ca"; import "../common/prometheus-providers"; import * as Mobx from "mobx"; -import * as LensExtensions from "../extensions/core-api"; +import * as LensExtensionsCoreApi from "../extensions/core-api"; import { app, autoUpdater, ipcMain, dialog, powerMonitor } from "electron"; import { appName, isMac, productName } from "../common/vars"; import path from "path"; @@ -250,12 +250,16 @@ app.on("open-url", (event, rawUrl) => { .catch(error => logger.error(`${LensProtocolRouterMain.LoggingPrefix}: an error occured`, { error, rawUrl })); }); -// Extensions-api runtime exports -export const LensExtensionsApi = { - ...LensExtensions, +/** + * Exports for virtual package "@k8slens/extensions" for main-process. + * All exporting names available in global runtime scope: + * e.g. global.Mobx, global.LensExtensions + */ +const LensExtensions = { + ...LensExtensionsCoreApi, }; export { Mobx, - LensExtensionsApi as LensExtensions, + LensExtensions, }; diff --git a/src/renderer/bootstrap.tsx b/src/renderer/bootstrap.tsx index b20497c8b7..4f4d78640b 100644 --- a/src/renderer/bootstrap.tsx +++ b/src/renderer/bootstrap.tsx @@ -5,13 +5,14 @@ import * as Mobx from "mobx"; import * as MobxReact from "mobx-react"; import * as ReactRouter from "react-router"; import * as ReactRouterDom from "react-router-dom"; +import * as LensExtensionsCoreApi from "../extensions/core-api"; +import * as LensExtensionsRendererApi from "../extensions/renderer-api"; import { render, unmountComponentAtNode } from "react-dom"; import { delay } from "../common/utils"; import { isMac, isDevelopment } from "../common/vars"; import { HotbarStore } from "../common/hotbar-store"; import { ClusterStore } from "../common/cluster-store"; import { UserStore } from "../common/user-store"; -import * as LensExtensions from "../extensions/extension-api"; import { ExtensionDiscovery } from "../extensions/extension-discovery"; import { ExtensionLoader } from "../extensions/extension-loader"; import { ExtensionsStore } from "../extensions/extensions-store"; @@ -41,15 +42,6 @@ type AppComponent = React.ComponentType & { init?(): Promise; }; -export { - React, - ReactRouter, - ReactRouterDom, - Mobx, - MobxReact, - LensExtensions -}; - export async function bootstrap(App: AppComponent) { const rootElem = document.getElementById("app"); @@ -102,3 +94,23 @@ export async function bootstrap(App: AppComponent) { // run bootstrap(process.isMainFrame ? LensApp : App); + + +/** + * Exports for virtual package "@k8slens/extensions" for renderer-process. + * All exporting names available in global runtime scope: + * e.g. Devtools -> Console -> window.LensExtensions (renderer) + */ +const LensExtensions = { + ...LensExtensionsCoreApi, + ...LensExtensionsRendererApi, +}; + +export { + React, + ReactRouter, + ReactRouterDom, + Mobx, + MobxReact, + LensExtensions, +};