{ "name": "rimraf", "version": "2.2.6", "main": "rimraf.js", "description": "A deep deletion module for node (like `rm -rf`)", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", "url": "http://blog.izs.me/" }, "license": { "type": "MIT", "url": "https://github.com/isaacs/rimraf/raw/master/LICENSE" }, "repository": { "type": "git", "url": "git://github.com/isaacs/rimraf.git" }, "scripts": { "test": "cd test && bash run.sh" }, "bin": { "rimraf": "./bin.js" }, "contributors": [ { "name": "Isaac Z. Schlueter", "email": "i@izs.me", "url": "http://blog.izs.me" }, { "name": "Wayne Larsen", "email": "wayne@larsen.st", "url": "http://github.com/wvl" }, { "name": "ritch", "email": "skawful@gmail.com" }, { "name": "Marcel Laverdet" }, { "name": "Yosef Dinerstein", "email": "yosefd@microsoft.com" } ], "readme": "`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that's not so good. Use\nthe async API. It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf ` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n", "readmeFilename": "README.md", "bugs": { "url": "https://github.com/isaacs/rimraf/issues" }, "homepage": "https://github.com/isaacs/rimraf", "_id": "rimraf@2.2.6", "_from": "rimraf@~2.2.5" }