phantomic
v1.5.2
Published
Pipe stdin to Phantom.JS and console messages to stdout
Downloads
1,132
Readme
Phantomic
- Pipes stdin to PhantomJS
- Writes script console output to stdout
- Writes script errors to stderr
- Exit code 0 if nothing threw, otherwise 1
Install
npm install -g phantomic
Usage
Phantomic does not include PhantomJS itself. Make sure the phantomjs
executable is in your PATH
or specify with --phantomjs
.
Usage: phantomic [options] [file]
Options:
--debug Launch the WebKit debugger in a browser
--port <num> Explicit port binding for temporary web server. If
no port is specified, a random free port is used.
--phantomjs <path> Use specified phantomjs binary
--web-security <bool> Enables PhantomJS web security and forbids
cross-domain XHR (default is true)
--brout Assume brout is part of the JS
--ignore-ssl-errors <bool> Tell PhantomJS to ignore SSL certificate errors
when network requests are made (default is false)
--viewport-width <num> Tell PhantomJS about the desired viewport width
--viewport-height <num> Tell PhantomJS about the desired viewport
height
Pipe any script to phantomic:
phantomic < ./test.js
Opening a file:
phantomic ./test.js
If you are using phantomic from a Makefile with a local install, you will have to include it in the PATH:
BIN = ./node_modules/.bin
PATH := $(BIN):$(PATH)
test:
browserify ./test.js | phantomic
Debugging
Put a debugger;
statement somewhere and run:
phantomic --debug < ./test.js
This will open the WebKit inspector in your browser.
Exit detection
By default, phantomic will report an error if anything was logged to
console.error
. Program termination is detected by observing delays in the
event queue and the last log statement that was received.
To make exit detection more reliable, brout can be used. If brout is part
of the given script, run phantomic with --brout
to install handlers for the
out
, err
and exit
events. Also make sure process.exit(code)
is called.
API
You can use phantomic from your own node scripts like this:
var phantomic = require('phantomic');
phantomic(process.stdin, {
debug : false,
port : 0,
brout : false,
'web-security': false,
'ignore-ssl-errors': true,
'viewport-width': 1024,
'viewport-height': 768
}, function (code) {
process.exit(code);
}).pipe(process.stdout);
Run the test cases
npm install
make
Compatibility
- Node 0.10 or later
- PhantomJS 1.9 / 2.0
License
MIT