{
  "id": "#",
  "title": "Storm Stack Base Executor",
  "description": "A shared/base schema type definition for Storm Stack executors",
  "required": [],
  "properties": {
    "outputPath": {
      "title": "Output Path",
      "type": "string",
      "format": "path",
      "description": "The output path for the build",
      "id": "#outputPath",
      "default": "dist/{projectRoot}"
    },
    "tsconfig": {
      "title": "TypeScript Configuration File",
      "type": "string",
      "format": "path",
      "description": "The path to the tsconfig file",
      "id": "#tsconfig",
      "default": "{projectRoot}/tsconfig.json"
    },
    "mode": {
      "title": "Mode",
      "type": "string",
      "description": "The build mode",
      "enum": [
        "development",
        "test",
        "production"
      ],
      "id": "#mode"
    },
    "skipInstalls": {
      "title": "Skip Installs",
      "type": "boolean",
      "description": "Skip installing dependencies during prepare stage",
      "id": "#skipInstalls"
    },
    "skipCache": {
      "title": "Skip Cache",
      "type": "boolean",
      "description": "Skip the caching mechanism during the build process (if required)",
      "id": "#skipCache"
    },
    "logLevel": {
      "title": "Log Level",
      "type": "string",
      "description": "The log level to use for the build process",
      "enum": [
        "fatal",
        "error",
        "warn",
        "success",
        "info",
        "debug",
        "trace",
        "silent"
      ],
      "id": "#logLevel"
    }
  },
  "type": "object",
  "default": {
    "outputPath": "dist/{projectRoot}",
    "tsconfig": "{projectRoot}/tsconfig.json"
  }
}