This library is a fork of a great module created by Thorsten Hans located here: http://github.com/ThorstenHans/ngx-electron With more usefull tools fs-jetpack , node-powershell, notifier, ssh2.Client etc...
npm install ngx-electron-plusThis library is a fork of a great module created by Thorsten Hans located here: http://github.com/ThorstenHans/ngx-electron
With more usefull tools fs-jetpack , node-powershell, notifier, ssh2.Client etc...
ngx-electron-plus is a fork of a great module created by Thorsten Hans located here: http://github.com/ThorstenHans/ngx-electron, however in his releases there is a bug that is causing the entire electron package to bundled into a built apps node-modules directory when using electron-packager or similar building tools. The fix looks to be pulled into the original project, however there has yet to be a release and it seems the pull took some time. I created this fork to have a module that can be installed easily in the meantime.
This module provides an angular wrapper for Electron's APIs exposed as part of the renderer process.
ngx-electron-plus can be installed easily using either yarn or npm commands in the scope of an angular project.
``
$ yarn add ngx-electron-plus
$ npm install ngx-electron-plus
`
ngx-electron-plus can be used as a drop in replacement for ngx-electron, just remove ngx-electron via:
``
$ yarn remove ngx-electronOR
$ npm unistall ngx-electron
Then install ngx-electron-plus via the above section and change all your imports from ngx-electron to ngx-electron-plus.
ngx-electron-plus is exposing a service called NgxElectronPlusService which needs to be added into your component page under imports.
`
import { Component, OnInit } from '@angular/core';
import { NgxElectronPlusService } from 'ngx-electron-plus';
@Component({
selector: 'my-app',
templateUrl: 'app.html'
})
export class AppComponent {
constructor (private electronPlusService: NgxElectronPlusService) { }
public logArchitecture() {
if(this.electronPlusService.isElectron) {
console.log(this.electronPlusService.process.arch);
}
}
// Sample to run powershell command
public runPowerShell(cmd): Promise
const electron = this.electronPlusService;
return new Promise(function (resolve, reject) {
const psw = new electron.powershell({
executionPolicy: 'Bypass',
noProfile: true
});
psw.addCommand(${cmd})`
.then(() => psw.invoke()
.then((res) => {
console.log("Call :",res)
resolve(res);
})
.catch((reason) => {
console.log("Error ",reason)
reject(reason);
})
)
});
}
}
The ElectronPlusService is exposing all API's accessible from within Electron's renderer process. If your app is not inside electron, all getters will return NULL instead.
- desktopCapturer: Electron.DesktopCapturer - Electron's desktop capturing API
- ipcRenderer: Electron.IpcRenderer - Electron IpcRenderer
- remote: Electron.Remote - Electron Remote capabilities
- webFrame: Electron.WebFrame - Electron WebFrame
- clipboard: Electron.Clipboard - Clipboard API
- crashReporter: Electron.CrashReporter - Electron's CrashReporter
- process: NodeJS.Process - Electron's Process Object
- screen: Electron.Screen - Electron's Screen API
- shell: Electron.Shell - Electron's Shell API
- nativeImage: Electron.NativeImage - Electron's NativeImage API
- isElectronApp: boolean - Indicates if app is being executed inside of electron or not
- jetpack: FSJetpack - Expose all properties of npm fs-jetpack package ssh2
- ssh: SSH2.Client - Expose all properties of npm package node-powershell
- powershell: Shell - Expose all properties class of npm packagenode-notifer` package actually not stable....
- notifier: Notifier - Expose all properties class of npm
MIT