示例#1
0
 Cs.fs.glob(path, function(err, filenames) {
   if (err) return done(err);
   if (!filenames) filenames = [];
   Cs.reduce(filenames, [], function(ret, filename, done) {
     if (!filename.match(/\.json$/)) return done(null, ret); //nothing to do
     filename = filename.slice(0, -5); // cut .json
     PackageInfo.find(filename, function(err, packageInfo) {
       if (err) return done(err);
       if (packageInfo) ret.push(packageInfo);
       return done(null, ret);
     });
   })(done);
 });
示例#2
0
    }, function(packages, done) {
      Cs.debug('1: found: ' + packages.map(function(p) { return p.id; }).join(',') + ' name = ' + name);
      
      if (!name) return done(null, packages);  // skip this filter
      Cs.reduce(packages, [], function(ret, packageInfo, done) {
        if (packageInfo.name().toLowerCase() === name) {
          if (!version || (packageInfo.version() === version)) {
            ret.push(packageInfo);
          }
        }
        done(null, ret);
      })(done);

    // if we require dependencies, then find all dependencies
    // note that at top we make sure dep is always false if not filtering 
    // by name
    }, function(packages, done) {