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

refactoring: extensions-api exports clarification for "@k8slens/extensions"

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2021-05-12 14:04:42 +03:00
parent b9354584cf
commit b15713cc42
3 changed files with 33 additions and 16 deletions

View File

@ -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 "./core-api";
export * from "./renderer-api"; export * from "./renderer-api";

View File

@ -3,7 +3,7 @@
import "../common/system-ca"; import "../common/system-ca";
import "../common/prometheus-providers"; import "../common/prometheus-providers";
import * as Mobx from "mobx"; 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 { app, autoUpdater, ipcMain, dialog, powerMonitor } from "electron";
import { appName, isMac, productName } from "../common/vars"; import { appName, isMac, productName } from "../common/vars";
import path from "path"; 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 })); .catch(error => logger.error(`${LensProtocolRouterMain.LoggingPrefix}: an error occured`, { error, rawUrl }));
}); });
// Extensions-api runtime exports /**
export const LensExtensionsApi = { * Exports for virtual package "@k8slens/extensions" for main-process.
...LensExtensions, * All exporting names available in global runtime scope:
* e.g. global.Mobx, global.LensExtensions
*/
const LensExtensions = {
...LensExtensionsCoreApi,
}; };
export { export {
Mobx, Mobx,
LensExtensionsApi as LensExtensions, LensExtensions,
}; };

View File

@ -5,13 +5,14 @@ import * as Mobx from "mobx";
import * as MobxReact from "mobx-react"; import * as MobxReact from "mobx-react";
import * as ReactRouter from "react-router"; import * as ReactRouter from "react-router";
import * as ReactRouterDom from "react-router-dom"; 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 { render, unmountComponentAtNode } from "react-dom";
import { delay } from "../common/utils"; import { delay } from "../common/utils";
import { isMac, isDevelopment } from "../common/vars"; import { isMac, isDevelopment } from "../common/vars";
import { HotbarStore } from "../common/hotbar-store"; import { HotbarStore } from "../common/hotbar-store";
import { ClusterStore } from "../common/cluster-store"; import { ClusterStore } from "../common/cluster-store";
import { UserStore } from "../common/user-store"; import { UserStore } from "../common/user-store";
import * as LensExtensions from "../extensions/extension-api";
import { ExtensionDiscovery } from "../extensions/extension-discovery"; import { ExtensionDiscovery } from "../extensions/extension-discovery";
import { ExtensionLoader } from "../extensions/extension-loader"; import { ExtensionLoader } from "../extensions/extension-loader";
import { ExtensionsStore } from "../extensions/extensions-store"; import { ExtensionsStore } from "../extensions/extensions-store";
@ -41,15 +42,6 @@ type AppComponent = React.ComponentType & {
init?(): Promise<void>; init?(): Promise<void>;
}; };
export {
React,
ReactRouter,
ReactRouterDom,
Mobx,
MobxReact,
LensExtensions
};
export async function bootstrap(App: AppComponent) { export async function bootstrap(App: AppComponent) {
const rootElem = document.getElementById("app"); const rootElem = document.getElementById("app");
@ -102,3 +94,23 @@ export async function bootstrap(App: AppComponent) {
// run // run
bootstrap(process.isMainFrame ? LensApp : App); 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,
};