{
  "$schema": "http://json-schema.org/schema",
  "id": "SchematicsUpdateSchema",
  "title": "Schematic Options Schema",
  "type": "object",
  "properties": {
    "packages": {
      "description": "The packages to get.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "$default": {
        "$source": "argv"
      }
    },
    "force": {
      "description": "If false, will error out if installed packages are incompatible with the update.",
      "default": false,
      "type": "boolean"
    },
    "all": {
      "description": "Whether to update all packages in package.json.",
      "default": false,
      "type": "boolean"
    },
    "next": {
      "description": "Use the largest version, including beta and RCs.",
      "default": false,
      "type": "boolean"
    },
    "migrateOnly": {
      "description": "Only perform a migration, does not update the installed version.",
      "default": false,
      "type": "boolean"
    },
    "from": {
      "description": "Version from which to migrate from. Only available with a single package being updated, and only on migration only.",
      "type": "string"
    },
    "to": {
      "description": "Version up to which to apply migrations. Only available with a single package being updated, and only on migrations only. Requires from to be specified. Default to the installed version detected.",
      "type": "string"
    },
    "registry": {
      "description": "The NPM registry to use.",
      "type": "string",
      "oneOf": [
        {
          "format": "uri"
        },
        {
          "format": "hostname"
        }
      ]
    }
  }
}
