{
  "title": "Currents Target",
  "type": "object",
  "outputCapture": "pipe",
  "properties": {
    "projectRoot": {
      "type": "string",
      "description": "The cwd to run all the commands from"
    },
    "cloudServiceUrl": {
      "type": "string",
      "description": "Specify the endpoint for cypress agents to use",
      "default": "https://cy.currents.dev"
    },
    "cypressConfig": {
      "type": "string",
      "description": "The path of the Cypress configuration json file.",
      "x-completion-type": "file",
      "x-completion-glob": "cypress?(*)@(.js|.ts|.json)"
    },
    "tsConfig": {
      "type": "string",
      "description": "The path of the Cypress tsconfig configuration json file.",
      "x-completion-type": "file",
      "x-completion-glob": "tsconfig.*.json"
    },
    "devServerTarget": {
      "type": "string",
      "description": "Dev server target to run tests against."
    },

    "key": {
      "type": "string",
      "description": "The key for accessing cloud orchestration service (CI only)."
    },
    "record": {
      "type": "boolean",
      "description": "Whether or not record the results of the tests.",
      "default": false
    },
    "parallel": {
      "type": "boolean",
      "description": "Whether or not run the tests in parallel (CI only).",
      "default": false
    },
    "baseUrl": {
      "type": "string",
      "description": "The address (with the port) which your application is running on."
    },
    "browser": {
      "type": "string",
      "description": "The browser to run tests in."
    },
    "env": {
      "type": "object",
      "description": "A key-value Pair of environment variables to pass to Cypress runner."
    },
    "spec": {
      "type": "string",
      "description": "A comma delimited glob string that is provided to the Cypress runner to specify which spec files to run. i.e. `**examples/**,**actions.spec**`."
    },
    "ciBuildId": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        }
      ],
      "description": "A unique identifier for a run to enable grouping or parallelization."
    },
    "group": {
      "type": "string",
      "description": "A named group for recorded runs in the Cypress dashboard."
    },
    "reporter": {
      "type": "string",
      "description": "The reporter used during cypress run."
    },
    "reporterOptions": {
      "type": "string",
      "description": "The reporter options used. Supported options depend on the reporter."
    },
    "skipServe": {
      "type": "boolean",
      "description": "Skip dev-server build.",
      "default": false
    },
    "testingType": {
      "type": "string",
      "description": "Specify the type of tests to execute.",
      "enum": ["component", "e2e"],
      "default": "e2e"
    },
    "tag": {
      "type": "string",
      "description": "A comma delimited list to identify a run with.",
      "aliases": ["t"]
    }
  },
  "additionalProperties": true,
  "required": ["cypressConfig"]
}
