{
    "additionalProperties": false,
    "properties": {
        "$schema": {
            "type": "string"
        },
        "$tool": {
            "const": "go-const-ts",
            "description": "Must be set to go-const-ts.",
            "type": "string"
        },
        "dist": {
            "description": "The output root path (relative to the pwd).",
            "type": "string"
        },
        "excludeTypes": {
            "description": "Exclude const types.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "includeTypes": {
            "description": "Include const types only, ignore others.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "langs": {
            "description": "Langs to exrtact. Field name will be used if lang not set in go const.",
            "items": {
                "pattern": "^[a-z]{2}(-[A-Z]{2})?$",
                "type": "string"
            },
            "minItems": 1,
            "type": "array"
        },
        "pipePrefix": {
            "default": "",
            "description": "Prefix to pipe name, pipe name is used as file name.",
            "type": "string"
        },
        "pretties": {
            "additionalProperties": false,
            "description": "Dirs that contains the translated jsons which will overwrite the go const types.",
            "patternProperties": {
                "^[a-z]{2}(-[A-Z]{2})?$": {
                    "additionalProperties": false,
                    "description": "Lang from langs.",
                    "patternProperties": {
                        "^[A-Z].*$": {
                            "description": "Struct translates filepath that will overwrite all other translates.",
                            "preproccess": "env",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "prettiesRoots": {
            "description": "Dirs that contains the translated jsons which will overwrite the go const types.",
            "items": {
                "preproccess": "env",
                "type": "string"
            },
            "type": "array"
        },
        "src": {
            "description": "Input go files(Glob), expand with env first.",
            "items": {
                "preproccess": "env",
                "type": "string"
            },
            "minItems": 1,
            "type": "array"
        }
    },
    "required": [
        "$tool",
        "src",
        "dist",
        "langs",
        "pipePrefix"
    ],
    "title": "go-const-ts Config",
    "type": "object"
}