dir-tree-creator
Advanced tools
Comparing version 1.0.2 to 1.0.4
@@ -6,6 +6,6 @@ (function() { | ||
function add_dir_to_tree(tree, parent_dir_to_find, dir_to_add) { | ||
function add_node_to_tree(tree, parent_dir_to_find, node_to_add) { | ||
if (parent_dir_to_find === tree.label) { | ||
tree.nodes.push({ | ||
label: dir_to_add, | ||
label: node_to_add, | ||
nodes: [] | ||
@@ -17,7 +17,7 @@ }); | ||
t_node.nodes.push({ | ||
label: dir_to_add, | ||
label: node_to_add, | ||
nodes: [] | ||
}); | ||
} else if (typeof t_node === 'object' && t_node.label !== parent_dir_to_find) { | ||
add_dir_to_tree(t_node, parent_dir_to_find, dir_to_add); | ||
add_node_to_tree(t_node, parent_dir_to_find, node_to_add); | ||
} | ||
@@ -28,16 +28,2 @@ }); | ||
function add_file_to_tree(tree, parent_dir_to_find, file_to_add) { | ||
if (parent_dir_to_find === tree.label) { | ||
tree.nodes.push(file_to_add); | ||
} else { | ||
tree.nodes.forEach(function(t_node) { | ||
if (typeof t_node === 'object' && t_node.label === parent_dir_to_find) { | ||
t_node.nodes.push(file_to_add); | ||
} else if (typeof t_node === 'object' && t_node.label !== parent_dir_to_find) { | ||
add_file_to_tree(t_node, parent_dir_to_find, file_to_add); | ||
} | ||
}); | ||
} | ||
} | ||
module.exports = function(root_path, root_label, paths_to_ignore, cb) { | ||
@@ -50,16 +36,9 @@ var dir_tree = { | ||
fs.walk(root_path).on('data', function(item) { | ||
if (item.stats.isDirectory() && item.path !== root_path) { | ||
if (item.path !== root_path) { | ||
parent_dir = path.parse(item.path).dir; | ||
if (parent_dir === root_path) { | ||
add_dir_to_tree(dir_tree, root_label, path.basename(item.path)); | ||
add_node_to_tree(dir_tree, root_label, path.basename(item.path)); | ||
} else { | ||
add_dir_to_tree(dir_tree, path.basename(parent_dir), path.basename(item.path)); | ||
add_node_to_tree(dir_tree, path.basename(parent_dir), path.basename(item.path)); | ||
} | ||
} else if (!item.stats.isDirectory()) { | ||
parent_dir = path.parse(item.path).dir; | ||
if (parent_dir === root_path) { | ||
add_file_to_tree(dir_tree, root_label, path.basename(item.path)); | ||
} else { | ||
add_file_to_tree(dir_tree, path.basename(parent_dir), path.basename(item.path)); | ||
} | ||
} | ||
@@ -71,16 +50,9 @@ }).on('end', function() { | ||
fs.walk(root_path).on('data', function(item) { | ||
if (item.stats.isDirectory() && item.path !== root_path && paths_to_ignore.indexOf(item.path) === -1) { | ||
if (item.path !== root_path && paths_to_ignore.indexOf(item.path) === -1) { | ||
parent_dir = path.parse(item.path).dir; | ||
if (parent_dir === root_path) { | ||
add_dir_to_tree(dir_tree, root_label, path.basename(item.path)); | ||
add_node_to_tree(dir_tree, root_label, path.basename(item.path)); | ||
} else { | ||
add_dir_to_tree(dir_tree, path.basename(parent_dir), path.basename(item.path)); | ||
add_node_to_tree(dir_tree, path.basename(parent_dir), path.basename(item.path)); | ||
} | ||
} else if (!item.stats.isDirectory() && paths_to_ignore.indexOf(item.path) === -1) { | ||
parent_dir = path.parse(item.path).dir; | ||
if (parent_dir === root_path) { | ||
add_file_to_tree(dir_tree, root_label, path.basename(item.path)); | ||
} else { | ||
add_file_to_tree(dir_tree, path.basename(parent_dir), path.basename(item.path)); | ||
} | ||
} | ||
@@ -87,0 +59,0 @@ }).on('end', function() { |
{ | ||
"name": "dir-tree-creator", | ||
"version": "1.0.2", | ||
"version": "1.0.4", | ||
"description": "simple directory tree structure creator based on the given root path", | ||
@@ -5,0 +5,0 @@ "main": "dirTree.js", |
6763
57