"use strict";module.exports=exports=clean;exports.usage='Removes the entire folder containing the compiled .node module';varfs=require('fs');varrm=require('rimraf');varexists=require('fs').exists||require('path').exists;varversioning=require('./util/versioning.js');varnapi=require('./util/napi.js');varpath=require('path');functionclean(gyp,argv,callback){varpackage_json=JSON.parse(fs.readFileSync('./package.json'));varnapi_build_version=napi.get_napi_build_version_from_command_args(argv);varopts=versioning.evaluate(package_json,gyp.opts,napi_build_version);varto_delete=opts.module_path;if(!to_delete){returncallback(newError("module_path is empty, refusing to delete"));}elseif(path.normalize(to_delete)==path.normalize(process.cwd())){returncallback(newError("module_path is not set, refusing to delete"));}else{exists(to_delete,function(found){if(found){if(!gyp.opts.silent_clean)console.log('['+package_json.name+'] Removing "%s"',to_delete);returnrm(to_delete,callback);}returncallback();});}}