Skip to content

Commit e33ee18

Browse files
committed
feat: drop rimraf dependency
1 parent 86f7760 commit e33ee18

File tree

4 files changed

+22
-23
lines changed

4 files changed

+22
-23
lines changed

lib/clean.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
'use strict'
22

3-
const rm = require('rimraf')
3+
const fs = require('fs')
44
const log = require('./log')
55

6-
function clean (gyp, argv, callback) {
6+
async function clean (gyp, argv) {
77
// Remove the 'build' dir
88
const buildDir = 'build'
99

1010
log.verbose('clean', 'removing "%s" directory', buildDir)
11-
rm(buildDir, callback)
11+
await fs.promises.rm(buildDir, { recursive: true, force: true })
1212
}
1313

14-
module.exports = clean
14+
module.exports = function (gyp, argv, callback) {
15+
clean(gyp, argv).then(callback.bind(undefined, null), callback)
16+
}
1517
module.exports.usage = 'Removes any generated build files and the "out" dir'

lib/remove.js

+15-16
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
'use strict'
22

3-
const fs = require('fs')
4-
const rm = require('rimraf')
3+
const fs = require('fs').promises
54
const path = require('path')
65
const log = require('./log')
76
const semver = require('semver')
87

9-
function remove (gyp, argv, callback) {
8+
async function remove (gyp, argv) {
109
const devDir = gyp.devDir
1110
log.verbose('remove', 'using node-gyp dir:', devDir)
1211

@@ -15,7 +14,7 @@ function remove (gyp, argv, callback) {
1514
log.verbose('remove', 'removing target version:', version)
1615

1716
if (!version) {
18-
return callback(new Error('You must specify a version number to remove. Ex: "' + process.version + '"'))
17+
throw new Error('You must specify a version number to remove. Ex: "' + process.version + '"')
1918
}
2019

2120
const versionSemver = semver.parse(version)
@@ -28,19 +27,19 @@ function remove (gyp, argv, callback) {
2827
log.verbose('remove', 'removing development files for version:', version)
2928

3029
// first check if its even installed
31-
fs.stat(versionPath, function (err) {
32-
if (err) {
33-
if (err.code === 'ENOENT') {
34-
callback(null, 'version was already uninstalled: ' + version)
35-
} else {
36-
callback(err)
37-
}
38-
return
30+
try {
31+
await fs.stat(versionPath)
32+
} catch (err) {
33+
if (err.code === 'ENOENT') {
34+
return 'version was already uninstalled: ' + version
3935
}
40-
// Go ahead and delete the dir
41-
rm(versionPath, callback)
42-
})
36+
throw err
37+
}
38+
39+
await fs.rm(versionPath, { recursive: true, force: true })
4340
}
4441

45-
module.exports = exports = remove
42+
module.exports = function (gyp, argv, callback) {
43+
remove(gyp, argv).then(callback.bind(undefined, null), callback)
44+
}
4645
module.exports.usage = 'Removes the node development files for the specified version'

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
"make-fetch-happen": "^11.0.2",
2929
"nopt": "^7.0.0",
3030
"proc-log": "^3.0.0",
31-
"rimraf": "^3.0.2",
3231
"semver": "^7.3.5",
3332
"tar": "^6.1.2",
3433
"which": "^3.0.0"

test/test-download.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ const https = require('https')
99
const install = require('../lib/install')
1010
const semver = require('semver')
1111
const devDir = require('./fixtures/common').devDir()
12-
const rimraf = require('rimraf')
1312
const gyp = require('../lib/node-gyp')
1413
const log = require('../lib/log')
1514
const certs = require('./fixtures/certs')
@@ -179,7 +178,7 @@ test('download headers (actual)', async (t) => {
179178
t.plan(12)
180179

181180
const expectedDir = path.join(devDir, process.version.replace(/^v/, ''))
182-
await util.promisify(rimraf)(expectedDir)
181+
await fs.promises.rm(expectedDir, { recursive: true, force: true })
183182

184183
const prog = gyp()
185184
prog.parseArgv([])

0 commit comments

Comments
 (0)