npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

phantom-wd-runner

v0.0.2

Published

Run PhantomJS's WebDriver server in a separate process.

Downloads

8

Readme

Build Status

This is a simple library that makes it easy to launch PhantomJS with its built-in WebDriver server, and deal with unexpected errors.

Example

var phantomWdRunner = require('phantom-wd-runner');

phantomWdRunner().on('listening', function() {
  console.log('Phantom Webdriver server is ready!');

  /* ... do stuff ... */

  this.kill();
});

API

phantomWdRunner([options])

Launch the PhantomJS WebDriver server.

options is optional and can have the following keys:

  • timeout - Number of milliseconds to wait for PhantomJS and its WebDriver server to start. Defaults to 15000.
  • execPath - Executable used to create the PhantomJS process. Defaults to phantomjs.
  • port - Port to serve the PhantomJS WebDriver server on. Defaults to 4444.

This function returns a child process instance.

Events

All child process events are emitted, along with the following:

  • listening - Triggered when the PhantomJS WebDriver server is ready.
  • error - Like the child process event, but also emitted if the PhantomJS WebDriver server terminates with a nonzero exit code.

Error Handling

The library tries to make it easy to debug errors without being spammy. By default, no output from the PhantomJS process is sent to stdio; however, if the PhantomJS process exits abnormally for any reason, its buffered output is sent to stderr.

If an uncaught exception occurs in the calling process, the PhantomJS server is automatically killed.

When the calling process exits, the PhantomJS server is also terminated if necessary.

Limitations

The only intended use for this library is within test suites. Don't use it for long-running server processes, as all stdout/stderr from the server is buffered in memory!

License

BSD.