{
  "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 <path>` 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",
  "_id": "rimraf@2.2.6",
  "_from": "rimraf@2"
}
