{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "NgGenerateTypescriptSDKSchematicsSchema",
  "title": "Generate Typescript SDK",
  "description": "ng generate typescript-shell",
  "properties": {
    "name": {
      "type": "string",
      "description": "Project name (NPM package scope, package.json name will be @{projectName}/{packageName})",
      "x-prompt": "Project name (NPM package scope, package.json name will be @{projectName}/{packageName})?"
    },
    "package": {
      "type": "string",
      "description": "Package name (package.json name will be @{projectName}/{packageName})",
      "x-prompt": "Package name (package.json name will be @{projectName}/{packageName})?",
      "default": "sdk"
    },
    "description": {
      "type": "string",
      "description": "Project description"
    },
    "directory": {
      "type": "string",
      "description": "Directory where to generate the SDK"
    },
    "specPackageName": {
      "type": "string",
      "description": "The npm package name where the spec file can be fetched"
    },
    "specPackageRegistry": {
      "type": "string",
      "description": "The npm registry where the spec file can be fetched"
    },
    "specPackagePath": {
      "type": "string",
      "description": "The path inside the package where to find the spec file",
      "default": "openapi.yml"
    },
    "specPackageVersion": {
      "type": "string",
      "description": "The version to target for the npm package where the spec file can be fetched",
      "default": "latest"
    },
    "skipInstall": {
      "type": "boolean",
      "description": "Skip NPM install",
      "default": false
    },
    "packageManager": {
      "type": "string",
      "enum": [
        "npm",
        "yarn"
      ],
      "description": "Package manager to be used in the generated SDK"
    },
    "exactO3rVersion": {
      "type": "boolean",
      "description": "Use a pinned version for otter packages"
    }
  },
  "additionalProperties": true,
  "required": [
    "package"
  ]
}
