///
///
var fs:any = require('fs');
var path:any = require('path');
var Promise:PromiseConstructor = require('bluebird');
var main:Function = function (location:string):Promise {
var $p:Promise = new Promise(function (resolve, reject) {
fs.readdir(location, function (err:Error, dirs:Array):void {
if(!err) {
async.mapSeries(
dirs,
function (dir:string, nextDir:Function):void {
var packagePath:string = path.join(location, dir, 'package.json');
try {
var package:any = require(packagePath);
nextDir(null, package);
}
catch (err) {
nextDir();
}
},
function (err:Error, packages:Array):void {
packages = _.filter(packages, 'clientDependencies');
err ? reject(err) : resolve(packages);
}
);
}
else {
reject(err);
}
})
});
return $p;
};
module.exports = main;