Directory tree representation with double linked list
Not sure this question is valid, but there is reviewable code:


node is a constructor, it should be named with an uppercase N
curretnChild is not properly spelled, and not used anywhere, drop it
Since you set parents to [], you might as well return parents when if(components.length &gt; 0){ is not true
You should declare your vars on top in parseParents, the scope of newParent and currentParent is the whole function anyway
Your reliance on root.type is a bug in waiting, find a better way to figure out what the type should be. 
addChild should be part of Node.prototype, it does not make sense for every instance of Node to have it's own version of this function
Your code in addChild does not take care of dupes, that should be addressed


For fun, I  wrote this, it creates a double linked list and takes most of my comments in to consideration, except for the last one ( does not take care of dupes ).

function Node( path , type )
{
  var parts = this.cleanPathParts( path.split("/") ),
      part  = parts.pop();
  //Set the basics
  this.name = part;
  this.type = type;
  //Do we still have parts left ?
  if( parts.length ){
    this.parent = new Node( parts.join('/'), this.DIR );
    this.parent.children = [ this ];
  }
}
//Ignore blanks and `..` strings
Node.prototype.cleanPathParts = function( parts )
{
  return parts.filter( function(part){
    return !!part &amp;&amp; part != "..";
  });
};
//Get the ultimate parent, usefull for adding path children
Node.prototype.getRoot = function()
{
  var root = this;
  while( root.parent )
    root = root.parent;
  return root;
};
//Add a child, either a simple node or a path
Node.prototype.addChild = function( part , type )
{
  if( this.type != this.DIR ){
      throw new Error('A file node cannot have any children');
  }
  var node = (new Node( part, type )).getRoot();
  node.parent = this;
  this.children = this.children || [];
  this.children.push( node );
};
//Constants
Node.prototype.DIR  = 'dir';           
Node.prototype.FILE = 'file'; 

var a = new Node('/usr/local/foo', 'dir');
a.addChild('1/2/test', 'file');
a.addChild('test', 'file');
console.log(a);