node/deps/npm/node_modules/node-gyp/lib/clean.js
isaacs bcb0cc0b18 Upgrade npm to 1.1.6
* Fix #472 Adds support for os/cpu fields in package.json (Adam Blackburn)
* Don't use existing pkg if explicit
* Install missing deps, even if they are in bundleDependencies
* bundle node-gyp
* Automatically node-gyp build stuff with a bindings.gyp
* Fix #2230 Unpack in place. No folder renaming malarky
* Never create un-listable directories
* Fix cases where an optionalDependency fails to build
* Always ignore .wafpickle-7 files
* fix shrinkwrap test
* Fix: bundleDependencies being re-installed unnecessarily
2012-03-12 21:34:07 -07:00

43 lines
813 B
JavaScript

module.exports = exports = clean
exports.usage = 'Removes any generated build files and the "out" dir'
/**
* Module dependencies.
*/
var rm = require('rimraf')
, asyncEmit = require('./util/asyncEmit')
, createHook = require('./util/hook')
function clean (gyp, argv, callback) {
// Remove the 'build' dir
var buildDir = 'build'
, emitter
createHook('gyp-clean.js', function (err, _e) {
if (err) return callback(err)
emitter = _e
asyncEmit(emitter, 'before', function (err) {
if (err) return callback(err)
doClean()
})
})
function doClean () {
gyp.verbose('removing "build" directory')
rm(buildDir, after)
}
function after () {
asyncEmit(emitter, 'after', function (err) {
if (err) return callback(err)
callback()
})
}
}