Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mantoni/phantomic
Pipe stdin to Phantom.JS
https://github.com/mantoni/phantomic
console phantomjs pipe
Last synced: 7 days ago
JSON representation
Pipe stdin to Phantom.JS
- Host: GitHub
- URL: https://github.com/mantoni/phantomic
- Owner: mantoni
- License: mit
- Created: 2013-04-27T13:53:44.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-05-21T08:32:59.000Z (over 7 years ago)
- Last Synced: 2024-04-24T03:55:35.107Z (6 months ago)
- Topics: console, phantomjs, pipe
- Language: JavaScript
- Size: 85.9 KB
- Stars: 20
- Watchers: 3
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# Phantomic
[![SemVer]](http://semver.org)
[![License]](https://github.com/mantoni/phantomic/blob/master/LICENSE)- Pipes stdin to [PhantomJS](http://phantomjs.org)
- 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 Explicit port binding for temporary web server. If
no port is specified, a random free port is used.
--phantomjs Use specified phantomjs binary
--web-security Enables PhantomJS web security and forbids
cross-domain XHR (default is true)
--brout Assume brout is part of the JS
--ignore-ssl-errors Tell PhantomJS to ignore SSL certificate errors
when network requests are made (default is false)
--viewport-width Tell PhantomJS about the desired viewport width
--viewport-height 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:
```js
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
[SemVer]: http://img.shields.io/:semver-%E2%9C%93-brightgreen.svg
[License]: http://img.shields.io/npm/l/phantomic.svg
[brout]: https://github.com/mantoni/brout.js