Remove directory which is not empty Remove directory which is not empty node.js node.js

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);      }    };