mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Introduce an agnostic way to start application is the Feature Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Introduce directory for application-packages Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Remove non agnostic timeslots from agnostic application Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Introduce empty package for electron main specific stuff for Application Feature Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Introduce electron-main specific timeslots Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Update injectable version Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Update README Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Tweak export names to make them easier to import Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Make starting of application synchronous for Electron main Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Tweak versions in package jsons Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Consolidate name of feature file Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> --------- Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# @k8slens/application-for-electron-main
|
|
|
|
This Feature extends `@k8slens/application` with Electron specifics.
|
|
|
|
# Usage
|
|
```bash
|
|
$ npm install @k8slens/application-for-electron-main
|
|
```
|
|
|
|
```typescript
|
|
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.
|