1 | var fs = require('fs');
|
2 | var spawn = require('child_process').spawn;
|
3 |
|
4 | var when = require('when');
|
5 |
|
6 | function 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 |
|
27 | module.exports = checkAvailable;
|