Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including cortex-deps-traveller with all npm packages installed. Try it out:

var cortexDepsTraveller = require("cortex-deps-traveller")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

cortex-deps-traveller v3.0.1

Travel dependency tree for cortex

Cortex Deps Traveller - Travel Package Dep Tree

NPM version Build Status Dependency Status

Traveling cortex packages through dependencies tree.


$ npm install cortex-deps-traveller --save


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;


new Traveller(built_root, [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,;
  • 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])




RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free