{
  "title": "Cypress Target",
  "description": "Cypress target option for Build Facade",
  "type": "object",
  "properties": {
    "cypressConfig": {
      "type": "string",
      "description": "The path of the Cypress configuration json file."
    },
    "watch": {
      "type": "boolean",
      "description": "Recompile and run tests when files change.",
      "default": false
    },
    "tsConfig": {
      "type": "string",
      "description": "The path of the Cypress tsconfig configuration json file."
    },
    "devServerTarget": {
      "type": "string",
      "description": "Dev server target to run tests against."
    },
    "headless": {
      "type": "boolean",
      "description": "Whether or not to open the Cypress application to run the tests. If set to 'true', will run in headless mode",
      "default": false
    },
    "exit": {
      "type": "boolean",
      "description": "Whether or not the Cypress Test Runner will stay open after running tests in a spec file",
      "default": true
    },
    "key": {
      "type": "string",
      "description": "The key cypress should use to run tests in parallel/record the run (CI only)"
    },
    "record": {
      "type": "boolean",
      "description": "Whether or not Cypress should record the results of the tests",
      "default": false
    },
    "parallel": {
      "type": "boolean",
      "description": "Whether or not Cypress should run its tests in parallel (CI only)",
      "default": false
    },
    "baseUrl": {
      "type": "string",
      "description": "Use this to pass directly the address of your distant server address with the port running your application"
    },
    "browser": {
      "type": "string",
      "description": "The browser to run tests in.",
      "enum": ["electron", "chrome", "chromium", "canary"]
    },
    "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**"
    },
    "copyFiles": {
      "type": "string",
      "description": "A regex string that is used to choose what additional integration files to copy to the dist folder"
    }
  },
  "additionalProperties": false,
  "required": ["cypressConfig", "tsConfig"]
}
