{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "name",
    "description",
    "version",
    "author",
    "homepage",
    "repository",
    "bugs",
    "licenses",
    "main",
    "scripts",
    "engines",
    "keywords",
    "dependencies",
    "devDependencies",
    "readme",
    "_id",
    "_from"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "contentMediaType": "text/plain"
    },
    "version": {
      "type": "string"
    },
    "author": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name",
        "url"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "homepage": {
      "type": "string",
      "format": "uri"
    },
    "repository": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "url"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "bugs": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "licenses": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "type",
          "url"
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    },
    "main": {
      "type": "string"
    },
    "scripts": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "test"
      ],
      "properties": {
        "test": {
          "type": "string"
        }
      }
    },
    "engines": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "node"
      ],
      "properties": {
        "node": {
          "type": "string"
        }
      }
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dependencies": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "async",
        "coffee-script",
        "colors",
        "dateformat",
        "eventemitter2",
        "findup-sync",
        "glob",
        "hooker",
        "iconv-lite",
        "minimatch",
        "nopt",
        "rimraf",
        "lodash",
        "underscore.string",
        "which",
        "js-yaml",
        "exit",
        "getobject",
        "grunt-legacy-util",
        "grunt-legacy-log"
      ],
      "properties": {
        "async": {
          "type": "string"
        },
        "coffee-script": {
          "type": "string"
        },
        "colors": {
          "type": "string"
        },
        "dateformat": {
          "type": "string"
        },
        "eventemitter2": {
          "type": "string"
        },
        "findup-sync": {
          "type": "string"
        },
        "glob": {
          "type": "string"
        },
        "hooker": {
          "type": "string"
        },
        "iconv-lite": {
          "type": "string"
        },
        "minimatch": {
          "type": "string"
        },
        "nopt": {
          "type": "string"
        },
        "rimraf": {
          "type": "string"
        },
        "lodash": {
          "type": "string"
        },
        "underscore.string": {
          "type": "string"
        },
        "which": {
          "type": "string"
        },
        "js-yaml": {
          "type": "string"
        },
        "exit": {
          "type": "string"
        },
        "getobject": {
          "type": "string"
        },
        "grunt-legacy-util": {
          "type": "string"
        },
        "grunt-legacy-log": {
          "type": "string"
        }
      }
    },
    "devDependencies": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "temporary",
        "grunt-contrib-jshint",
        "grunt-contrib-nodeunit",
        "grunt-contrib-watch",
        "difflet",
        "semver",
        "shelljs"
      ],
      "properties": {
        "temporary": {
          "type": "string"
        },
        "grunt-contrib-jshint": {
          "type": "string"
        },
        "grunt-contrib-nodeunit": {
          "type": "string"
        },
        "grunt-contrib-watch": {
          "type": "string"
        },
        "difflet": {
          "type": "string"
        },
        "semver": {
          "type": "string"
        },
        "shelljs": {
          "type": "string"
        }
      }
    },
    "readme": {
      "type": "string",
      "contentMediaType": "text/markdown"
    },
    "_id": {
      "type": "string"
    },
    "_from": {
      "type": "string"
    }
  }
}
