Version 1
[yaffs-website] / node_modules / phantomjs-prebuilt / bin / phantomjs
diff --git a/node_modules/phantomjs-prebuilt/bin/phantomjs b/node_modules/phantomjs-prebuilt/bin/phantomjs
new file mode 100755 (executable)
index 0000000..637cba7
--- /dev/null
@@ -0,0 +1,42 @@
+#!/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)
+})