UNPKG

651 BJavaScriptView Raw
1var fs = require('fs');
2var spawn = require('child_process').spawn;
3
4var when = require('when');
5
6function checkAvailable(){
7 var pkgName = JSON.parse(fs.readFileSync('./package.json', 'utf-8')).name;
8 var defer = when.defer();
9 var result = '';
10 var cmd = 'npm';
11 var args = ['view', pkgName];
12 if(process.platform === 'win32'){
13 args.unshift('/c', cmd);
14 cmd = 'cmd';
15 }
16 var child = spawn(cmd, args);
17 child.stderr.setEncoding('utf8');
18 child.stderr.on('data', function(data){
19 result += data;
20 });
21 child.on('close', function(code){
22 defer.resolve(result);
23 });
24 return defer.promise;
25}
26
27module.exports = checkAvailable;