{
	"type": "object",
	"properties": {
		"registrations": {
			"type": "array",
			"items": {
				"type": "object",
				"properties": {
					"component": {
						"oneOf": [
							{
								"type": "object",
								"required": [
									"type",
									"git"
								],
								"properties": {
									"type": {
										"type": "string",
										"enum": [
											"git"
										]
									},
									"git": {
										"type": "object",
										"required": [
											"name",
											"repositoryUrl",
											"commitHash"
										],
										"properties": {
											"name": {
												"type": "string"
											},
											"repositoryUrl": {
												"type": "string"
											},
											"commitHash": {
												"type": "string"
											}
										}
									}
								}
							},
							{
								"type": "object",
								"required": [
									"type",
									"npm"
								],
								"properties": {
									"type": {
										"type": "string",
										"enum": [
											"npm"
										]
									},
									"npm": {
										"type": "object",
										"required": [
											"name",
											"version"
										],
										"properties": {
											"name": {
												"type": "string"
											},
											"version": {
												"type": "string"
											}
										}
									}
								}
							},
							{
								"type": "object",
								"required": [
									"type",
									"other"
								],
								"properties": {
									"type": {
										"type": "string",
										"enum": [
											"other"
										]
									},
									"other": {
										"type": "object",
										"required": [
											"name",
											"downloadUrl",
											"version"
										],
										"properties": {
											"name": {
												"type": "string"
											},
											"downloadUrl": {
												"type": "string"
											},
											"version": {
												"type": "string"
											}
										}
									}
								}
							}
						]
					},
					"repositoryUrl": {
						"type": "string",
						"description": "The git url of the component"
					},
					"version": {
						"type": "string",
						"description": "The version of the component"
					},
					"license": {
						"type": "string",
						"description": "The name of the license"
					},
					"developmentDependency": {
						"type": "boolean",
						"description": "This component is inlined in the vscode repo and **is not shipped**."
					},
					"isOnlyProductionDependency": {
						"type": "boolean",
						"description": "This component is shipped and **is not inlined in the vscode repo**."
					},
					"licenseDetail": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"description": "The license text"
					}
				}
			}
		}
	}
}
