UNPKG

codebox-quickstart

Version:

Command line tool to generate addon skeleton.

67 lines (54 loc) 1.86 kB
/** * This module exposes some common node helper functions. */ var fs = require('fs'); var path = require('path'); (function(module) { /** * Gets recursively all the files of a folder. */ module.getFilesSync = function(dirname, exclude_regs) { var res = []; var should_exclude = false; var files = fs.readdirSync(dirname); var name = ''; exclude_regs = exclude_regs || []; for(var i in files) { if (!files.hasOwnProperty(i)) continue; name = dirname + '/' + files[i]; should_exclude = false; // Apply exclude regexps for(var j = 0; j < exclude_regs.length; j++) { if(exclude_regs[j].test(name)) { should_exclude = true; break; } } if(should_exclude) continue; if (fs.statSync(name).isDirectory()){ res = res.concat(module.getFilesSync(name, exclude_regs)); } else { res.push(name); } } return res; }; /** * Delete recursively a folder and all its content. */ module.deleteDirSync = function(dirname) { if(fs.existsSync(dirname)) { fs.readdirSync(dirname).forEach(function(file, index) { var curPath = dirname + "/" + file; if(fs.statSync(curPath).isDirectory()) { module.deleteDirSync(curPath); } else { fs.unlinkSync(curPath); } }); fs.rmdirSync(dirname); } }; })(module.exports);