Use fs.rm() instead of rimraf by kevinoid · Pull Request #296 · raszi/node-tmp (original) (raw)
A regression occurred in 0.2.2 which can be reproduced using:
const assert = require('assert');
const tmp = require('tmp');
tmp.dir({ unsafeCleanup: true }, (err, path, cleanup) => {
assert.ifError(err);
cleanup(assert.ifError);
});This works with 0.2.1. With 0.2.2 it fails with:
/path/to/tmp/node-tmp/lib/tmp.js:358
return removeFunction(fileOrDirName, next || function() {});
^
TypeError: removeFunction is not a function
at _cleanupCallback (/path/to/tmp/node-tmp/lib/tmp.js:358:16)
at /path/to/tmp/node-tmp/repro.js:5:3
at _dirCreated (/path/to/tmp/node-tmp/lib/tmp.js:207:7)
at FSReqCallback.oncomplete (node:fs:192:23)This occurs because 00bb5b2 upgraded
the rimraf dependency from ^3.0.0 to ^5.0.5 without handling the change
to a Promise-based API in 4.0.0
(isaacs/rimraf@a71e7f9)
or the removal of the default export in 5.0.0
(isaacs/rimraf@c7a3fd4).
This commit fixes the issue by dropping the rimraf dependency in favor
of fs.rm({recursive: true}).
It also updates the nodejs engine version to 14.14, when fs.rm() was
added.
Fixes: 00bb5b2 ("Update rimraf and drop old Node compatibility") Fixes: raszi#295 Signed-off-by: Kevin Locke kevin@kevinlocke.name