{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/ui5-workspace-yaml/latest.json",
  "title": "ui5-workspace.yaml",
  "description": "Schema for UI5 CLI Workspace Configuration File (ui5-workspace.yaml)",
  "x-lintel": {
    "source": "https://ui5.github.io/cli/schema/ui5-workspace.yaml.json",
    "sourceSha256": "9dbf7cbf85045a5772138593bca9e0dcb45f0b3f041731c55411a354180ba5bd",
    "fileMatch": [
      "ui5-workspace.yaml",
      "*-ui5-workspace.yaml",
      "*.ui5-workspace.yaml",
      "ui5-workspace-deploy.yaml",
      "ui5-workspace-dist.yaml",
      "ui5-workspace-local.yaml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "type": "object",
  "properties": {
    "specVersion": {
      "enum": [
        "workspace/1.0"
      ],
      "errorMessage": "Unsupported \"specVersion\"\nYour UI5 CLI installation might be outdated.\nSupported specification versions: \"workspace/1.0\"\nFor details, see: https://ui5.github.io/cli/stable/pages/Workspace/#workspace-specification-versions"
    },
    "metadata": {
      "$ref": "#/$defs/metadata"
    },
    "dependencyManagement": {
      "$ref": "#/$defs/dependencyManagement"
    }
  },
  "$defs": {
    "metadata": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 3,
          "maxLength": 80,
          "pattern": "^(?:@[0-9a-z-_.]+\\/)?[a-z][0-9a-z-_.]*$",
          "title": "Workspace Name",
          "description": "Identifier for the workspace configuration. Workspaces named 'default' will be used automatically by UI5 CLI",
          "errorMessage": "Not a valid workspace name. It must consist of lowercase alphanumeric characters, dash, underscore, and period only. Additionally, it may contain an npm-style package scope. For details, see: https://ui5.github.io/cli/stable/pages/Workspace/#name"
        }
      },
      "additionalProperties": false
    },
    "dependencyManagement": {
      "type": "object",
      "properties": {
        "resolutions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "required": [
    "specVersion",
    "metadata",
    "dependencyManagement"
  ],
  "$comment": "See https://ui5.github.io/cli/"
}
