diff options
| author | pack <pack@packgekko.xyz> | 2026-08-09 10:37:07 +0000 |
|---|---|---|
| committer | pack <pack@packgekko.xyz> | 2026-08-09 10:37:07 +0000 |
| commit | 55a4f1fc869e41aca748c63d3018f0448b1606e0 (patch) | |
| tree | d132d1d01772b6d53faee3e63c534dea5706b78a /node_modules/node-gyp/lib/remove.js | |
| download | crud-55a4f1fc869e41aca748c63d3018f0448b1606e0.tar.gz | |
first commit
Diffstat (limited to '')
| -rw-r--r-- | node_modules/node-gyp/lib/remove.js | 43 |
1 files changed, 43 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..55736f7 --- /dev/null +++ b/node_modules/node-gyp/lib/remove.js @@ -0,0 +1,43 @@ +'use strict' + +const fs = require('graceful-fs').promises +const path = require('path') +const log = require('./log') +const semver = require('semver') + +async function remove (gyp, argv) { + const devDir = gyp.devDir + log.verbose('remove', 'using node-gyp dir:', devDir) + + // get the user-specified version to remove + let version = argv[0] || gyp.opts.target + log.verbose('remove', 'removing target version:', version) + + if (!version) { + throw new Error('You must specify a version number to remove. Ex: "' + process.version + '"') + } + + const versionSemver = semver.parse(version) + if (versionSemver) { + // flatten the version Array into a String + version = versionSemver.version + } + + const versionPath = path.resolve(gyp.devDir, version) + log.verbose('remove', 'removing development files for version:', version) + + // first check if its even installed + try { + await fs.stat(versionPath) + } catch (err) { + if (err.code === 'ENOENT') { + return 'version was already uninstalled: ' + version + } + throw err + } + + await fs.rm(versionPath, { recursive: true, force: true, maxRetries: 3 }) +} + +module.exports = remove +module.exports.usage = 'Removes the node development files for the specified version' |