Write JavaScript to electron, get console output back!
Boot a hidden electron instance, log to stdout and clean up:
var electron = require('electron-stream');
var browser = electron();
browser.pipe(process.stdout);
browser.write('console.log(window.location.href);');
browser.write('window.close();');
browser.end();electron-stream lets you read all of the console output together, or split up into stdout and stderr:
// console.log and console.error
browser.pipe(...);
browser.stdall.pipe(...);
// console.log only
browser.stdout.pipe(...);
// console.error only
browser.stderr.pipe(...);To install as a library:
$ npm install electron-streamTo install as a binary:
$ npm install -g electron-stream
$ echo "console.log('foo');window.close()" | electron-streamTo use electron on travis, add this to your travis.yml:
addons:
apt:
packages:
- xvfb
install:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
- npm installCreate a writable stream around a newly spawned electron which forwards written data to electron. This module bundles electron-prebuilt.
Options:
show: Show the electron window. Defaults tofalse.node: Enable node integration. Defaults tofalse.basedir: Set this if you need to require node modules innodemodestatic: Serve static files from this directory at/
Readable streams containing the console output. console.log will be forwarded to .stdout, console.error to .stderr. .stdall has them both.
Kill the child process.
Emitted when the underlying electron exits. There can be multiple reasons for this:
electron#kill()was calledwindow.close()was sent as a script- there was a fatal error
MIT