a123456789 bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
..
test bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
AUTHORS bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
LICENSE bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
README.md bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
bin.js bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
package.json bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos
rimraf.js bff0ff0e1f products %!s(int64=2) %!d(string=hai) anos

README.md

rm -rf for node.

Install with npm install rimraf, or just drop rimraf.js somewhere.

API

rimraf(f, callback)

The callback will be called with an error if there is one. Certain errors are handled for you:

  • Windows: EBUSY and ENOTEMPTY - rimraf will back off a maximum of opts.maxBusyTries times before giving up.
  • ENOENT - If the file doesn't exist, rimraf will return successfully, since your desired outcome is already the case.

rimraf.sync

It can remove stuff synchronously, too. But that's not so good. Use the async API. It's better.

CLI

If installed with npm install rimraf -g it can be used as a global command rimraf <path> which is useful for cross platform support.

mkdirp

If you need to create a directory recursively, check out mkdirp.