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 2789bcebcb
Convert runMany and runManySync to use injectManyWithMeta + move to seperate package (#7244)
* Convert runMany and runManySync to use injectManyWithMeta

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fixup type errors due to new Runnable requirements

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add documentation for verifyRunnablesAreDAG

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Simplify convertToWithIdWith

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move all utility functions to separate package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move testing utilities to separate package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move run-many and run-many-sync to separate package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Replace all internal uses of utilities with new packages

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Use new @k8slens/run-many package in core

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add dep to open-lens

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fixup type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fixup uses of @k8slens/test-utils

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fixup getGlobalOverride

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move tests to new package too

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fixup uses of AsyncResult and autoBind

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fixup remaining import issues

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Finial fixups to fix build

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Revert moving "testUsingFakeTime" to separate package

- This fixes tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix integration tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix unit test failing due to spelling fix

Signed-off-by: Sebastian Malton <sebastian@malton.name>

---------

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-03-10 10:07:28 +02:00
..
src Convert runMany and runManySync to use injectManyWithMeta + move to seperate package (#7244) 2023-03-10 10:07:28 +02:00
index.ts Convert runMany and runManySync to use injectManyWithMeta + move to seperate package (#7244) 2023-03-10 10:07:28 +02:00
jest.config.js Extract agnostic and electron-main ways of starting application to separate packages (#7259) 2023-03-06 10:17:24 +02:00
package.json Convert runMany and runManySync to use injectManyWithMeta + move to seperate package (#7244) 2023-03-10 10:07:28 +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 Extract agnostic and electron-main ways of starting application to separate packages (#7259) 2023-03-06 10:17:24 +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.