/// /// 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;