blob: d1076abb5702a8d9cee3e94a1ab5658e27e521ae [file] [log] [blame]
#!/usr/bin/env node
(function(){
try {
var dive = require('dive');
} catch (ex) {
console.error('this example requires "dive", please run "npm install dive"');
process.exit(1);
}
var treeify = require('../treeify'),
path = require('path'),
fs = require('fs'),
rootDir = process.argv.length < 3 ? '.' : process.argv[2],
tree = {};
if ( ! fs.existsSync(rootDir)) {
console.error('path "' + rootDir + '" does not exist - unable to proceed!');
process.exit(1);
}
console.log(rootDir !== '.' ? path.relative(process.cwd(), rootDir) : '.');
function scanComplete() {
process.stdout.write('\r \r');
console.log(treeify.asTree(tree, true));
}
dive(rootDir, { all: true, directories: true }, function(err, thisPath) {
var relativePath = path.relative(rootDir, thisPath),
node = tree;
if (relativePath.indexOf('..') !== 0) {
relativePath.split(path.sep).forEach(function(part) {
typeof node[part] !== 'object' && (node[part] = {});
node = node[part];
});
}
}, scanComplete);
process.stdout.write('wait... ');
})();