{
  "$schema": "http://json-schema.org/draft-07/schema",
  "title": "TSlint Target",
  "description": "TSlint target options for Build Facade.",
  "type": "object",
  "properties": {
    "tslintConfig": {
      "type": "string",
      "description": "The name of the TSLint configuration file."
    },
    "tsConfig": {
      "description": "The name of the TypeScript configuration file.",
      "oneOf": [
        { "type": "string" },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "fix": {
      "type": "boolean",
      "description": "Fixes linting errors (may overwrite linted files).",
      "default": false
    },
    "typeCheck": {
      "type": "boolean",
      "description": "Controls the type check for linting.",
      "default": false
    },
    "force": {
      "type": "boolean",
      "description": "Succeeds even if there was linting errors.",
      "default": false
    },
    "silent": {
      "type": "boolean",
      "description": "Show output text.",
      "default": false
    },
    "format": {
      "type": "string",
      "description": "Output format (prose, json, stylish, verbose, pmd, msbuild, checkstyle, vso, fileslist).",
      "default": "stylish",
      "anyOf": [
        {
          "enum": [
            "checkstyle",
            "codeFrame",
            "filesList",
            "json",
            "junit",
            "msbuild",
            "pmd",
            "prose",
            "stylish",
            "tap",
            "verbose",
            "vso"
          ]
        },
        { "minLength": 1 }
      ]
    },
    "exclude": {
      "type": "array",
      "description": "Files to exclude from linting.",
      "default": [],
      "items": {
        "type": "string"
      }
    },
    "files": {
      "type": "array",
      "description": "Files to include in linting.",
      "default": [],
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false,
  "required": []
}