2d80ba078b8eb09fd8b789d332eb739d6310c53b
[platform/framework/web/crosswalk-tizen.git] /
1 "use strict"
2
3 var npmPath = require('npm-path')
4 var spawn = require('child_process').spawn
5 var serializerr = require('serializerr')
6
7 var args = process.argv.slice(2)
8
9 args = args.map(function(arg) {
10   try {
11     return JSON.parse(arg)
12   } catch(e) {
13     return arg
14   }
15 })
16
17 var options = {}
18
19 args = args.map(function(arg) {
20   if (arg.toString() !== '[object Object]') return arg
21   options = arg
22   return arg
23 })
24
25 npmPath.set({cwd: options.cwd, env: process.env}, function(err) {
26   options.stdio = 'inherit'
27   spawn.apply(null, args)
28   .once('error', function(err) {
29     if (err.code === 'ENOENT') {
30       err.cmd = args.slice(0, -1).join(' ')
31       err.message = 'Invalid npm-run command: ' + err.cmd
32     }
33     process.send(serializerr(err))
34   })
35   .on('close', function(code) {
36     process.exit(code)
37   })
38 })