Narnia's Psychedelic Mushrooms
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

cortex-deps-traveller

3.0.1 • Public • Published

Cortex Deps Traveller - Travel Package Dep Tree

NPM version Build Status Dependency Status

Traveling cortex packages through dependencies tree.

Install

$ npm install cortex-deps-traveller --save

Usage

var traveller = require('cortex-deps-traveller')(built_root, {
  maxDepth: 3
});
 
traveller.toJSONTree(pkg, function(err, tree) {
  
});
 
 
// Advanced Usage, visit will travel the dep tree with BFS (which is better for performance)
traveller.visit(pkg, {
  enter: function(node, parent) {
      node.pkg; // pkg info
      node.from; // resolved from
 
      if(parent == null) {
        // is root node, with non-parent
      }
  }, leave: function(node, parent) {
 
  }
}, function(err) {
  // all things is done
  
});
 
 
var Traveller = require('cortex-deps-traveller').Traveller;

APIs

new Traveller(built_root, [options])

Options

  • max_depth number
  • dev boolean
  • async boolean
  • pkgDeps function

traveller.toJSONTree(pkg, callback)

Generate dependencies tree from pkg

traveller.visit(pkg, visitor, done)

Visit the dependencies tree of pkg with a visitor

  • pkg {Object} pkg info object
  • visitor {Visitor} visitor
  • done {function} called when all the nodes are visited

traveller.topsort(tree, [rootName])

Return a sorted array from the tree

traveller.toJSONTree(pkg, function(err, json) {
    var sorted = traveller.topsort(json, pkg.name);
});
  • tree {Object} dependencies tree
  • rootName {string=} the name of root package in the tree, used for output and cycle-detection

traveller.resolvePackage(name, range|version, callback)

Read package information object from name and range, which utilized the internal cache in traveller

traveller.resolvePackage(name, range, function(err, pkg) {
   // pkg is read from cortex.json
});

traveller.resolveRange(name, range, callback)

Return a version resolved from range for package

traveller.resolveRange(name, range, function(err, version) {
   // 
});

traveller.readVersions(name, callback)

Return an array of available versions.

traveller.readVersions(name, function(err, versions) {
  // do something on versions
});
  • name {string} package name
  • callback {function}

module.exports.topsort(root, [name])

Licence

MIT

install

npm i cortex-deps-traveller

Downloadsweekly downloads

4

version

3.0.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar