Code coverage report for lib/index.js

Statements: 100% (26 / 26)      Branches: 100% (2 / 2)      Functions: 100% (5 / 5)      Lines: 100% (26 / 26)      Ignored: none     

All files » lib/ » index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40  1 1 1 1 1 1   1 2 2     2 2 2 2     1 1     1 2 3 3 3 2   3 3       1 2   1  
'use strict';
var _               = require('lodash');
var readManifest    = require('./readManifest');
var processManifest = require('./processManifest');
var buildGlobs      = require('./buildGlobs');
var Dependency      = require('./Dependency');
var mainBowerFiles  = require('main-bower-files');
 
var Manifest = function (path, options) {
  var manifest = processManifest(readManifest(path));
  var bower = mainBowerFiles(_.pick(options, [
    'paths'
  ]));
  this.config = manifest.config;
  this.dependencies = manifest.dependencies;
  this.globs = new buildGlobs(manifest.dependencies, bower, options).globs;
  this.paths = manifest.paths;
};
 
Manifest.prototype.forEachDependency = function (type, callback) {
  _.forEach(this.globs[type], callback);
};
 
Manifest.prototype.getProjectGlobs = function () {
  return _.reduce(this.dependencies, function (result, dep, key) {
    var type = Dependency.parseType(key);
    console.log(!_.isArray(result[type]), result);
    if(!_.isArray(result[type])) {
      result[type] = [];
    }
    result[type] = result[type].concat(dep.files);
    return result;
  }, {});
};
 
module.exports = function (path, options) {
  return new Manifest(path, options);
};
module.exports.Manifest = Manifest;