electron-go-picnic
v1.0.0
Published
Tools for using Go programs inside Electron apps
Downloads
1
Maintainers
Readme
electron-go-picnic
Package that contains tools for using Go programs with Electron.
Originally extracted from my Who's Hacking product, which used my program gitmonitor to monitor live git repo changes across the system.
Functions
getAppPath
, which gets the app path in development and production (when the app is unpacked from the archive).getExecutableName
which finds the correct executable for OS and CPU arch.getGOARCH
andgetGOOS
, which are used above.
Usage
- Cross-compile your Go programs for all platforms at once (Windows/Linux/macOS) using
go-crosscompile.sh
. - Copy them to a directory in your Electron app. I advise
vendor/
. - Make sure your executable is unpacked in production so it can be run. E.g. with electron-builder, modify
package.json
in the "build" section and add:"asarUnpack": [ "vendor/" ]
- Then in your Electron code:
const spawn = require('child_process').spawn;
import { getAppPath, getExecutableName } from 'electron-go-picnic';
let cmd = path.join(getAppPath(), `/vendor/', getExecutableName('gitmon'));
spawn(cmd)