{
    "$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": []
}