{
    "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"
        }
    }
}
