tasks/Node/scripts/clean.js (42 lines of code) (raw):

var fs = require('fs'); var path = require('path'); var rimraf = require('rimraf'); var distDir = path.resolve(__dirname, '../dist'); var outDir = path.resolve(__dirname, '../out'); var azureDir = path.resolve(__dirname, '../node_modules/@azure'); function clean(destDir) { rimraf(destDir, function (err) { if (err) { console.error('Error cleaning directory: ' + destDir); process.exit(1); } console.log('Cleaned ' + destDir); }); } function cleanModules(modulesDir) { if (!fs.existsSync(modulesDir)) { return; } var items = fs.readdirSync(modulesDir); for (var i = 0; i < items.length; i++) { var item = path.resolve(modulesDir, items[i]); if (fs.statSync(item).isDirectory()) { if (items[i] === 'node_modules') { clean(item); } else { cleanModules(item); } } } } var args = require('minimist')(process.argv.slice(2)); if (args.submods) { console.log('Cleaning modules only under directory: ' + azureDir) cleanModules(azureDir); } else { var destDir = args.dev ? outDir : distDir; console.log('Cleaning under directory: ' + destDir) clean(destDir); }