summaryrefslogtreecommitdiffstats
path: root/node_modules/node-gyp/lib/remove.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/node-gyp/lib/remove.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/node-gyp/lib/remove.js')
-rw-r--r--node_modules/node-gyp/lib/remove.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/node-gyp/lib/remove.js b/node_modules/node-gyp/lib/remove.js
new file mode 100644
index 0000000..eb80981
--- /dev/null
+++ b/node_modules/node-gyp/lib/remove.js
@@ -0,0 +1,52 @@
+
+module.exports = exports = remove
+
+exports.usage = 'Removes the node development files for the specified version'
+
+/**
+ * Module dependencies.
+ */
+
+var fs = require('fs')
+ , rm = require('rimraf')
+ , path = require('path')
+ , log = require('npmlog')
+ , semver = require('semver')
+
+function remove (gyp, argv, callback) {
+
+ var devDir = gyp.devDir
+ log.verbose('remove', 'using node-gyp dir:', devDir)
+
+ // get the user-specified version to remove
+ var version = argv[0] || gyp.opts.target
+ log.verbose('remove', 'removing target version:', version)
+
+ if (!version) {
+ return callback(new Error('You must specify a version number to remove. Ex: "' + process.version + '"'))
+ }
+
+ var versionSemver = semver.parse(version)
+ if (versionSemver) {
+ // flatten the version Array into a String
+ version = versionSemver.version
+ }
+
+ var versionPath = path.resolve(gyp.devDir, version)
+ log.verbose('remove', 'removing development files for version:', version)
+
+ // first check if its even installed
+ fs.stat(versionPath, function (err, stat) {
+ if (err) {
+ if (err.code == 'ENOENT') {
+ callback(null, 'version was already uninstalled: ' + version)
+ } else {
+ callback(err)
+ }
+ return
+ }
+ // Go ahead and delete the dir
+ rm(versionPath, callback)
+ })
+
+}