putout
Version:
🐊 Pluggable and configurable code transformer with built-in ESLint, Babel and support of js, jsx, typescript, flow, markdown, yaml and json
139 lines (138 loc) • 4.23 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"definitions": {
"rule": {
"oneOf": [{
"$ref": "#/definitions/ruleToggle"
}, {
"type": "array",
"items": [{
"$ref": "#/definitions/ruleToggle"
}, {
"type": "object"
}],
"minItems": 2,
"additionalItems": false
}, {
"type": "array",
"items": [{
"$ref": "#/definitions/ruleToggle"
}, {
"type": "string"
}, {
"type": "object"
}],
"minItems": 3,
"additionalItems": false
}, {
"type": "array",
"items": [{
"$ref": "#/definitions/ruleToggle"
}, {
"type": "string"
}],
"minItems": 2,
"additionalItems": false
}]
},
"rules": {
"description": "🐊Putout comes with a large number of rules. You can modify which rules your project uses.",
"type": "object",
"patternProperties": {
"^.*$": {
"$ref": "#/definitions/rule"
}
}
},
"ruleToggle": {
"oneOf": [{
"description": "🐊Putout rule\n\n\"off\" means rule is off\n\"on\" means it is a on\n",
"enum": ["on", "off"]
}, {
"enum": [true, false]
}]
},
"processorToggle": {
"type": "array",
"items": [{
"type": "string"
}, {
"description": "🐊Putout processor\n\n\"off\" means rule is off\n\"on\" means it is a on\n",
"enum": ["on", "off"]
}],
"minItems": 2,
"maxItems": 2
}
},
"properties": {
"parser": {
"description": "Tell 🐊Putout which parser to use",
"type": "string"
},
"printer": {
"description": "Tell 🐊Putout which printer to use",
"oneOf": [{
"type": "string"
}, {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [{
"type": "string"
}, {
"type": "object"
}]
}]
},
"fixCount": {
"description": "Choose count of fixes",
"type": "number"
},
"formatter": {
"description": "Choose the way to show information about errors found",
"type": [
"string",
"array"
]
},
"processors": {
"description": "Tell 🐊Putout which processors to use to support file types other then JavaScript",
"type": "array",
"uniqueItems": true,
"items": {
"oneOf": [{
"$ref": "#/definitions/processorToggle"
}, {
"type": "string"
}]
}
},
"ignore": {
"description": "Tell 🐊Putout to ignore specific files and directories.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"match": {
"description": "Allows to match rules for files and folders, specified by glob patterns.",
"type": "object",
"patternProperties": {
"^.*$": {
"$ref": "#/definitions/rules"
}
}
},
"plugins": {
"description": "Tell 🐊Putout which plugins to load",
"type": "array",
"uniqueItems": true
},
"rules": {
"$ref": "#/definitions/rules"
}
}
}