1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/technical-features/application/electron-main
Sebastian Malton a63f737adb
Change typing for after/before window/application start (#7342)
- Now the callback is provided with an object containing either
  `mainDi` or `windowDi` fields. This should help with confusion
  over which environment the `di` is for

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-13 15:35:33 +02:00
..
src Change typing for after/before window/application start (#7342) 2023-03-13 15:35:33 +02:00
.eslintrc.js Introduce eslint and prettier for features and start using it (#7306) 2023-03-10 12:25:04 +02:00
.prettierrc Introduce eslint and prettier for features and start using it (#7306) 2023-03-10 12:25:04 +02:00
index.ts Introduce eslint and prettier for features and start using it (#7306) 2023-03-10 12:25:04 +02:00
jest.config.js Introduce eslint and prettier for features and start using it (#7306) 2023-03-10 12:25:04 +02:00
package.json Introduce eslint and prettier for features and start using it (#7306) 2023-03-10 12:25:04 +02:00
README.md Extract agnostic and electron-main ways of starting application to separate packages (#7259) 2023-03-06 10:17:24 +02:00
tsconfig.json Introduce eslint and prettier for features and start using it (#7306) 2023-03-10 12:25:04 +02:00
webpack.config.js Extract agnostic and electron-main ways of starting application to separate packages (#7259) 2023-03-06 10:17:24 +02:00

@k8slens/application-for-electron-main

This Feature extends @k8slens/application with Electron specifics.

Usage

$ npm install @k8slens/application-for-electron-main
import { applicationFeature, startApplicationInjectionToken } from "@k8slens/application";
import { applicationFeatureForElectronMain } from "@k8slens/application-for-electron-main";
import { registerFeature } from "@k8slens/feature-core";
import { createContainer } from "@ogre-tools/injectable";

const di = createContainer("some-container");

registerFeature(di, applicationFeature, applicationFeatureForElectronMain);

const startApplication = di.inject(startApplicationInjectionToken);

startApplication();

Extendability

Timeslots

beforeAnythingInjectionToken

Runnables registered here will be called before anything else. Special requirement here is that everything here needs to be synchronous.

beforeElectronIsReadyInjectionToken

Runnables registered here will be called right after runnables in beforeAnythingInjectionToken but still before we are sure that Electron application is ready (electron.app.whenReady()). Special requirement here is that everything here needs to be synchronous.