123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/usr/bin/env node
- /**
- * Script that will execute the downloaded phantomjs binary. stdio are
- * forwarded to and from the child process.
- *
- * The following is for an ugly hack to avoid a problem where the installer
- * finds the bin script npm creates during global installation.
- *
- * {NPM_INSTALL_MARKER}
- */
- var path = require('path')
- var spawn = require('child_process').spawn
- var binPath = require(path.join(__dirname, '..', 'lib', 'phantomjs')).path
- var args = process.argv.slice(2)
- // For Node 0.6 compatibility, pipe the streams manually, instead of using
- // `{ stdio: 'inherit' }`.
- var cp = spawn(binPath, args)
- cp.stdout.pipe(process.stdout)
- cp.stderr.pipe(process.stderr)
- process.stdin.pipe(cp.stdin)
- cp.on('error', function (err) {
- console.error('Error executing phantom at', binPath)
- console.error(err.stack)
- })
- cp.on('exit', function(code){
- // Wait few ms for error to be printed.
- setTimeout(function(){
- process.exit(code)
- }, 20)
- });
- process.on('SIGTERM', function() {
- cp.kill('SIGTERM')
- process.exit(1)
- })
|