UNPKG

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