{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/vsext/latest.json",
  "title": "JSON schema for Visual Studio extension pack manifests",
  "x-lintel": {
    "source": "https://www.schemastore.org/vsext.json",
    "sourceSha256": "4cedd3665f73a1e0ebd51263a5b422050c59358ed15f65f891bd00667498018c",
    "fileMatch": [
      "*.vsext"
    ]
  },
  "type": "object",
  "properties": {
    "id": {
      "description": "A unique identifier for the extension pack. This is to uniquely identify the extension pack and will not be shown to the user.",
      "type": "string",
      "minLength": 1
    },
    "name": {
      "description": "The name of the extension pack.",
      "type": "string",
      "minLength": 1
    },
    "description": {
      "description": "A short description of the extension pack.",
      "type": "string",
      "minLength": 1
    },
    "version": {
      "description": "The version of the extension pack.",
      "type": "string",
      "pattern": "^(\\d+\\.)?(\\d+\\.)?(\\d+\\.)?(\\d+)$"
    },
    "extensions": {
      "description": "A list of extension objects.",
      "type": "array",
      "items": {
        "required": [
          "vsixId"
        ],
        "properties": {
          "name": {
            "description": "The name of the extension.",
            "type": "string",
            "minLength": 1
          },
          "vsixId": {
            "description": "The unique ID of the extension.",
            "type": "string",
            "minLength": 1
          }
        },
        "type": "object"
      }
    }
  },
  "required": [
    "version"
  ],
  "id": "https://json.schemastore.org/vsext.json"
}
