1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/open-lens/src/renderer/index.ts
2023-05-23 10:08:42 -04:00

82 lines
2.0 KiB
TypeScript

import "@k8slens/core/styles";
import "@k8slens/button/styles";
import "@k8slens/error-boundary/styles";
import "@k8slens/tooltip/styles";
import "@k8slens/resizing-anchor/styles";
import { runInAction } from "mobx";
import {
rendererExtensionApi as Renderer,
commonExtensionApi as Common,
registerLensCore,
metricsFeature
} from "@k8slens/core/renderer";
import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
import { registerFeature } from "@k8slens/feature-core";
import {
applicationFeature,
startApplicationInjectionToken
} from "@k8slens/application";
import { createContainer } from "@ogre-tools/injectable";
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
import { registerInjectableReact } from "@ogre-tools/injectable-react";
import { messagingFeatureForRenderer } from "@k8slens/messaging-for-renderer";
import { keyboardShortcutsFeature } from "@k8slens/keyboard-shortcuts";
import { reactApplicationFeature } from "@k8slens/react-application";
import { routingFeature } from "@k8slens/routing";
import { loggerFeature } from "@k8slens/logger";
const environment = "renderer";
const di = createContainer(environment, {
detectCycles: false,
});
runInAction(() => {
registerMobX(di);
registerInjectableReact(di);
registerLensCore(di, environment);
registerFeature(
di,
loggerFeature,
);
registerFeature(
di,
applicationFeature,
messagingFeatureForRenderer,
keyboardShortcutsFeature,
reactApplicationFeature,
routingFeature,
metricsFeature
);
autoRegister({
di,
targetModule: module,
getRequireContexts: () => [
require.context("./", true, CONTEXT_MATCHER_FOR_NON_FEATURES),
require.context("../common", true, CONTEXT_MATCHER_FOR_NON_FEATURES),
],
});
});
const startApplication = di.inject(startApplicationInjectionToken);
startApplication();
export {
React,
ReactDOM,
ReactRouter,
ReactRouterDom,
Mobx,
MobxReact,
} from "@k8slens/core/renderer";
export const LensExtensions = {
Renderer,
Common,
};