ngx-electron-bridge
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    Logo

    NGX Electron Bridge

    Custom bridge library for Electron & Angular applications

    Report Bug . Request Feature


    License NPM


    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

    1. 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();
    1. Handle IPC call (in case of IPC execution) - [main process]
        import { ipcMain } from 'electron';
    
        ipcMain.handle("my-exposed-function", (event, ...args) => {
            console.log(args);
        });
    1. 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

    1. Fork the Project
    2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
    3. Commit your Changes (git commit -m 'Add some AmazingFeature')
    4. Push to the Branch (git push origin feature/AmazingFeature)
    5. Open a Pull Request

    License

    Distributed under the Apache 2.0 License. See LICENSE for more information.

    Authors

    Install

    npm i ngx-electron-bridge

    DownloadsWeekly Downloads

    1

    Version

    2.0.0

    License

    Apache 2.0

    Unpacked Size

    101 kB

    Total Files

    17

    Last publish

    Collaborators

    • benny.megidish