Remove directory which is not empty
As of 2019...
As of Node.js 12.10.0, fs.rmdirSync
supports a recursive
options, so you can finally do:
fs.rmdirSync(dir, { recursive: true });
Where the recursive
option deletes the entire directory recursively.
There is a module for this called rimraf
(https://npmjs.org/package/rimraf). It provides the same functionality as rm -Rf
Async usage:
var rimraf = require("rimraf");rimraf("/some/directory", function () { console.log("done"); });
Sync usage:
rimraf.sync("/some/directory");
To remove folder synchronously
const fs = require('fs'); const Path = require('path'); const deleteFolderRecursive = function (directoryPath) { if (fs.existsSync(directoryPath)) { fs.readdirSync(directoryPath).forEach((file, index) => { const curPath = path.join(directoryPath, file); if (fs.lstatSync(curPath).isDirectory()) { // recurse deleteFolderRecursive(curPath); } else { // delete file fs.unlinkSync(curPath); } }); fs.rmdirSync(directoryPath); } };