NGX Electron Bridge
Custom bridge library for Electron & Angular applications
Report Bug
.
Request Feature
About The Project
Isolated context bridge library for Electron & Angular applications.
Getting Started
This project work with Electron application that are powered by Angular. We suggest using Nx Electron for this purpose.
Installation
npm install ngx-electron-bridge
Usage
- Expose you desired context - [main process - preload script]
import { ContextBridgeService } from 'ngx-electron-bridge';
const ContextBridgeService = new ContextBridgeService()
.addIpcBridge("myExposedFunctionSignature", "my-exposed-function")
.addIpcBridge("anotherExposedFunctionSignature", "another-exposed-function")
.expose();
- Handle IPC call (in case of IPC execution) - [main process]
import { ipcMain } from 'electron';
ipcMain.handle("my-exposed-function", (event, ...args) => {
console.log(args);
});
- Invoke the exposed context - [renderer process]
import { Component, Inject } from '@angular/core';
import { ElectronBridge } from 'ngx-electron-bridge';
@Component({...})
export class AppComponent {
constructor(@Inject(ElectronBridge) private _electronBridge: any) {
_electronBridge.myExposedFunctionSignature(...args);
}
}
Default bridges
- platform(): returns a promise of the platform name.
- arch(): returns a promise of the system architecture.
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
- Please also read through the Code Of Conduct before posting your first idea as well.
Creating A Pull Request
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the Apache 2.0 License. See LICENSE for more information.
Authors