VSCodeSetting/globalStorage/vscode.json-language-features/json-schema-cache/000bfbdd14d2fb8ec5b0d59bec32ef98.schema.json

3225 lines
102 KiB
JSON
Raw Permalink Normal View History

2022-08-17 02:16:44 +00:00
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"allRules": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/atRule"
},
{
"$ref": "#/definitions/block"
},
{
"$ref": "#/definitions/color"
},
{
"$ref": "#/definitions/comment"
},
{
"$ref": "#/definitions/customMedia"
},
{
"$ref": "#/definitions/customProperty"
},
{
"$ref": "#/definitions/declaration"
},
{
"$ref": "#/definitions/declarationBlock"
},
{
"$ref": "#/definitions/font"
},
{
"$ref": "#/definitions/function"
},
{
"$ref": "#/definitions/generalSheet"
},
{
"$ref": "#/definitions/keyframeDeclaration"
},
{
"$ref": "#/definitions/length"
},
{
"$ref": "#/definitions/mediaFeature"
},
{
"$ref": "#/definitions/mediaQueryList"
},
{
"$ref": "#/definitions/number"
},
{
"$ref": "#/definitions/property"
},
{
"$ref": "#/definitions/rootRule"
},
{
"$ref": "#/definitions/rule"
},
{
"$ref": "#/definitions/selector"
},
{
"$ref": "#/definitions/selectorList"
},
{
"$ref": "#/definitions/shorthandProperty"
},
{
"$ref": "#/definitions/string"
},
{
"$ref": "#/definitions/stylelintDisableComment"
},
{
"$ref": "#/definitions/time"
},
{
"$ref": "#/definitions/unit"
},
{
"$ref": "#/definitions/value"
},
{
"$ref": "#/definitions/valueList"
}
]
},
"alwaysMultiLineRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "always-multi-line", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "always-multi-line", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"alwaysNeverRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "never", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"arrayStringRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": ["null", "string"]
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": ["string", "array", "object"],
"anyOf": [
{
"type": "string",
"enum": [[], {}]
},
{
"$ref": "#/definitions/simpleArrayStringRule"
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"booleanRule": {
"default": true,
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"coreRule": {
"properties": {
"disableFix": {
"type": "boolean"
},
"message": {
"description": "Custom message that will be used in errors and warnings",
"type": "string"
},
"reportDisables": {
"type": "boolean"
},
"severity": {
"description": "Message status",
"type": "string",
"enum": ["warning", "error"]
}
}
},
"integerRule": {
"type": ["null", "integer", "array"],
"oneOf": [
{
"type": ["null", "integer"]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["integer", "object"],
"anyOf": [
{
"type": "integer",
"enum": [{}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"lowerUpperRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["lower", "upper", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["lower", "upper", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"newlineRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "always-multi-line", "never-multi-line", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "always-multi-line", "never-multi-line", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"newlineSpaceRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always",
"never",
"always-single-line",
"never-single-line",
"always-multi-line",
"never-multi-line",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always",
"never",
"always-single-line",
"never-single-line",
"always-multi-line",
"never-multi-line",
{}
]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"newlineSpaceWithIgnoreRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always",
"never",
"always-single-line",
"never-single-line",
"always-multi-line",
"never-multi-line",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always",
"always-single-line",
"never-single-line",
"always-multi-line",
"never-multi-line",
{}
]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreAtRules": {
"$ref": "#/definitions/simpleStringOrArrayStringRule"
}
}
}
]
}
}
]
},
"objectRule": {
"type": ["null", "object", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"patternProperties": {
".*": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["object"],
"anyOf": [
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"patternProperties": {
"^((?!message|severity).)*$": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"simpleArrayStringRule": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"simpleStringOrArrayStringRule": {
"type": ["string", "array"],
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/simpleArrayStringRule"
}
]
},
"singleDoubleRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["single", "double", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["single", "double", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"spaceRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always",
"never",
"always-single-line",
"never-single-line",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always",
"never",
"always-single-line",
"never-single-line",
{}
]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"stringRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": ["null", "string"]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [{}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"unitRule": {
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"em",
"ex",
"px",
"%",
"rem",
"vw",
"vh",
"vm",
"vmin",
"vmax",
"ch",
"in",
"cm",
"mm",
"q",
"pt",
"pc",
"deg",
"grad",
"rad",
"turn",
"ms",
"s",
"Hz",
"kHz",
"dpi",
"dpcm",
"dppx",
"fr",
[]
]
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": ["string", "array", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"em",
"ex",
"px",
"%",
"rem",
"vw",
"vh",
"vm",
"vmin",
"vmax",
"ch",
"in",
"cm",
"mm",
"q",
"pt",
"pc",
"deg",
"grad",
"rad",
"turn",
"ms",
"s",
"Hz",
"kHz",
"dpi",
"dpcm",
"dppx",
"fr",
[],
{}
]
},
{
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": [
"em",
"ex",
"px",
"%",
"rem",
"vw",
"vh",
"vm",
"vmin",
"vmax",
"ch",
"in",
"cm",
"mm",
"q",
"pt",
"pc",
"deg",
"grad",
"rad",
"turn",
"ms",
"s",
"Hz",
"kHz",
"dpi",
"dpcm",
"dppx",
"fr"
]
}
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreProperties": {
"description": "Ignore units in the values of declarations with the specified properties",
"type": "object",
"patternProperties": {
"(em|ex|ch|vw|vh|cm|mm|in|pt|pc|px|rem|vmin|vmax|%)": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
}
}
]
}
}
]
},
"atRule": {
"properties": {
"at-rule-blacklist": {
"description": "Specify a blacklist of disallowed at-rules",
"$ref": "#/definitions/arrayStringRule"
},
"at-rule-empty-line-before": {
"description": "Require or disallow an empty line before at-rules",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "never", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"except": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": [
"after-same-name",
"inside-block",
"blockless-after-same-name-blockless",
"blockless-after-blockless",
"first-nested"
]
}
},
"ignore": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": [
"after-comment",
"first-nested",
"inside-block",
"blockless-after-same-name-blockless",
"blockless-after-blockless"
]
}
},
"ignoreAtRules": {
"$ref": "#/definitions/simpleStringOrArrayStringRule"
}
}
}
]
}
}
]
},
"at-rule-name-case": {
"description": "Specify lowercase or uppercase for at-rules names",
"$ref": "#/definitions/lowerUpperRule"
},
"at-rule-name-newline-after": {
"description": "Require a newline after at-rule names",
"$ref": "#/definitions/alwaysMultiLineRule"
},
"at-rule-name-space-after": {
"description": "Require a single space after at-rule names",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "always-single-line", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "always-single-line", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"at-rule-no-unknown": {
"description": "Disallow unknown at-rules",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreAtRules": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"at-rule-no-vendor-prefix": {
"description": "Disallow vendor prefixes for at-rules",
"$ref": "#/definitions/booleanRule"
},
"at-rule-semicolon-newline-after": {
"description": "Require a newline after the semicolon of at-rules",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"at-rule-whitelist": {
"description": "Specify a whitelist of allowed at-rules",
"$ref": "#/definitions/arrayStringRule"
}
}
},
"block": {
"properties": {
"block-closing-brace-empty-line-before": {
"description": "Require or disallow an empty line before the closing brace of blocks",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always-multi-line", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always-multi-line", "never", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"block-closing-brace-newline-after": {
"description": "Require a newline or disallow whitespace after the closing brace of blocks",
"$ref": "#/definitions/newlineSpaceWithIgnoreRule"
},
"block-closing-brace-newline-before": {
"description": "Require a newline or disallow whitespace before the closing brace of blocks",
"$ref": "#/definitions/newlineRule"
},
"block-closing-brace-space-afte": {
"description": "Require a single space or disallow whitespace after the closing brace of blocks",
"$ref": "#/definitions/newlineSpaceRule"
},
"block-closing-brace-space-before": {
"description": "Require a single space or disallow whitespace before the closing brace of blocks",
"$ref": "#/definitions/newlineSpaceRule"
},
"block-no-empty": {
"description": "Disallow empty blocks",
"$ref": "#/definitions/booleanRule"
},
"block-no-single-line": {
"description": "Disallow single-line blocks",
"$ref": "#/definitions/booleanRule"
},
"block-opening-brace-newline-after": {
"description": "Require a newline after the opening brace of blocks",
"$ref": "#/definitions/newlineRule"
},
"block-opening-brace-newline-before": {
"description": "Require a newline or disallow whitespace before the opening brace of blocks",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always",
"always-single-line",
"never-single-line",
"always-multi-line",
"never-multi-line",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always",
"always-single-line",
"never-single-line",
"always-multi-line",
"never-multi-line",
{}
]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"block-opening-brace-space-after": {
"description": "Require a single space or disallow whitespace after the opening brace of blocks",
"$ref": "#/definitions/newlineSpaceRule"
},
"block-opening-brace-space-before": {
"description": "Require a single space or disallow whitespace before the opening brace of blocks",
"$ref": "#/definitions/newlineSpaceWithIgnoreRule"
}
}
},
"color": {
"properties": {
"color-hex-case": {
"description": "Specify lowercase or uppercase for hex colors",
"$ref": "#/definitions/lowerUpperRule"
},
"color-hex-length": {
"description": "Specify short or long notation for hex colors",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["short", "long", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["short", "long", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"color-named": {
"description": "Require (where possible) or disallow named colors",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always-where-possible", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always-where-possible", "never", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"color-no-hex": {
"description": "Disallow hex colors",
"$ref": "#/definitions/booleanRule"
},
"color-no-invalid-hex": {
"description": "Disallow invalid hex colors",
"$ref": "#/definitions/booleanRule"
}
}
},
"comment": {
"properties": {
"comment-empty-line-before": {
"description": "Require or disallow an empty line before comments",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "never", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"except": {
"description": "Reverse the primary option for comments that are nested and the first child of their parent node",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["first-nested"]
}
},
"ignore": {
"description": "Don't require an empty line between comments",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": [
"between-comments",
"after-comment",
"stylelint-commands"
]
}
}
}
}
]
}
}
]
},
"comment-no-empty": {
"description": "Disallow empty comments",
"$ref": "#/definitions/booleanRule"
},
"comment-whitespace-inside": {
"description": "Require or disallow whitespace on the inside of comment markers",
"$ref": "#/definitions/alwaysNeverRule"
},
"comment-word-blacklist": {
"description": "Specify a blacklist of disallowed words within comments",
"$ref": "#/definitions/arrayStringRule"
}
}
},
"customMedia": {
"properties": {
"custom-media-pattern": {
"description": "Specify a pattern for custom media query names",
"$ref": "#/definitions/stringRule"
}
}
},
"customProperty": {
"properties": {
"custom-property-empty-line-before": {
"description": "Require or disallow an empty line before custom properties",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "never", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"except": {
"description": "Reverse the primary option for custom properties that come after a comment, custom property or first child of their parent node",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": [
"after-comment",
"after-custom-property",
"first-nested"
]
}
},
"ignore": {
"description": "Ignore custom properties that are preceded by comments or inside single-line blocks",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["after-comment", "inside-single-line-block"]
}
}
}
}
]
}
}
]
},
"custom-property-no-outside-root": {
"description": "Disallow custom properties outside of `:root` rules",
"$ref": "#/definitions/booleanRule"
},
"custom-property-pattern": {
"description": "Specify a pattern for custom properties",
"$ref": "#/definitions/stringRule"
}
}
},
"declaration": {
"properties": {
"declaration-bang-space-after": {
"description": "Require a single space or disallow whitespace after the bang of declarations",
"$ref": "#/definitions/alwaysNeverRule"
},
"declaration-bang-space-before": {
"description": "Require a single space or disallow whitespace before the bang of declarations",
"$ref": "#/definitions/alwaysNeverRule"
},
"declaration-colon-newline-after": {
"description": "Require a newline or disallow whitespace after the colon of declarations",
"$ref": "#/definitions/alwaysMultiLineRule"
},
"declaration-colon-space-after": {
"description": "Require a single space or disallow whitespace after the colon of declarations",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "never", "always-single-line", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "never", "always-single-line", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"declaration-colon-space-before": {
"description": "Require a single space or disallow whitespace before the colon of declarations",
"$ref": "#/definitions/alwaysNeverRule"
},
"declaration-empty-line-before": {
"description": "Require or disallow an empty line before declarations",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always", "never", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always", "never", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"except": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"after-comment",
"after-declaration",
"first-nested"
]
}
},
"ignore": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"after-comment",
"after-declaration",
"inside-single-line-block"
]
}
}
}
}
]
}
}
]
},
"declaration-no-important": {
"description": "Disallow `!important` within declarations",
"$ref": "#/definitions/booleanRule"
},
"declaration-property-unit-blacklist": {
"description": "Specify a blacklist of disallowed property and unit pairs within declarations",
"$ref": "#/definitions/objectRule"
},
"declaration-property-unit-whitelist": {
"description": "Specify a whitelist of allowed property and unit pairs within declarations",
"$ref": "#/definitions/objectRule"
},
"declaration-property-value-blacklist": {
"description": "Specify a blacklist of disallowed property and value pairs within declarations",
"$ref": "#/definitions/objectRule"
},
"declaration-property-value-whitelist": {
"description": "Specify a whitelist of allowed property and value pairs within declarations",
"$ref": "#/definitions/objectRule"
}
}
},
"declarationBlock": {
"properties": {
"declaration-block-no-duplicate-properties": {
"description": "Disallow duplicate properties within declaration blocks",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"consecutive-duplicates",
"consecutive-duplicates-with-different-values"
]
}
},
"ignoreProperties": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"declaration-block-no-ignored-properties": {
"description": "Disallow property values that are ignored due to another property value in the same rule",
"$ref": "#/definitions/booleanRule"
},
"declaration-block-no-redundant-longhand-properties": {
"description": "Disallow longhand properties that can be combined into one shorthand property",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreShorthands": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"declaration-block-no-shorthand-property-overrides": {
"description": "Disallow shorthand properties that override related longhand properties",
"$ref": "#/definitions/booleanRule"
},
"declaration-block-properties-order": {
"description": "Specify the order of properties within declaration blocks",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["alphabetical", []]
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": ["string", "array", "object"],
"anyOf": [
{
"type": "string",
"enum": ["alphabetical", [], {}]
},
{
"type": "string"
},
{
"$ref": "#/definitions/simpleArrayStringRule"
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"dependencies": {
"order": ["properties"],
"properties": ["order"]
},
"properties": {
"unspecified": {
"description": "These options only apply if you've defined your own array of properties",
"type": "string",
"enum": [
"top",
"bottom",
"bottomAlphabetical",
"ignore"
]
},
"order": {
"type": "string",
"enum": ["strict", "flexible"]
},
"properties": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"declaration-block-semicolon-newline-after": {
"description": "Require a newline or disallow whitespace after the semicolons of declaration blocks",
"$ref": "#/definitions/newlineRule"
},
"declaration-block-semicolon-newline-before": {
"description": "Require a newline or disallow whitespace before the semicolons of declaration blocks",
"$ref": "#/definitions/newlineRule"
},
"declaration-block-semicolon-space-after": {
"description": "Require a single space or disallow whitespace after the semicolons of declaration blocks",
"$ref": "#/definitions/spaceRule"
},
"declaration-block-semicolon-space-before": {
"description": "Require a single space or disallow whitespace before the semicolons of declaration blocks",
"$ref": "#/definitions/spaceRule"
},
"declaration-block-single-line-max-declarations": {
"description": "Limit the number of declaration within a single line declaration block",
"$ref": "#/definitions/integerRule"
},
"declaration-block-trailing-semicolon": {
"description": "Require or disallow a trailing semicolon within declaration blocks",
"$ref": "#/definitions/alwaysNeverRule"
}
}
},
"font": {
"properties": {
"font-family-name-quotes": {
"description": "Specify whether or not quotation marks should be used around font family names",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always-where-required",
"always-where-recommended",
"always-unless-keyword",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always-where-required",
"always-where-recommended",
"always-unless-keyword",
{}
]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
},
"font-weight-notation": {
"description": "Require numeric or named (where possible) `font-weight` values. Also, when named values are expected, require only valid names",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["numeric", "named-where-possible", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["numeric", "named-where-possible", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["relative"]
}
}
}
}
]
}
}
]
}
}
},
"function": {
"properties": {
"function-blacklist": {
"description": "Specify a blacklist of disallowed functions",
"$ref": "#/definitions/arrayStringRule"
},
"function-calc-no-unspaced-operator": {
"description": "Disallow an unspaced operator within `calc` functions",
"$ref": "#/definitions/booleanRule"
},
"function-comma-newline-after": {
"description": "Require a newline or disallow whitespace after the commas of functions",
"$ref": "#/definitions/newlineRule"
},
"function-comma-newline-before": {
"description": "Require a newline or disallow whitespace before the commas of functions",
"$ref": "#/definitions/newlineRule"
},
"function-comma-space-after": {
"description": "Require a single space or disallow whitespace after the commas of functions",
"$ref": "#/definitions/spaceRule"
},
"function-comma-space-before": {
"description": "Require a single space or disallow whitespace before the commas of functions",
"$ref": "#/definitions/spaceRule"
},
"function-linear-gradient-no-nonstandard-direction": {
"description": "Disallow direction values in `linear-gradient()` calls that are not valid according to the standard syntax",
"$ref": "#/definitions/booleanRule"
},
"function-max-empty-lines": {
"description": "Limit the number of adjacent empty lines within functions",
"$ref": "#/definitions/integerRule"
},
"function-name-case": {
"description": "Specify lowercase or uppercase for function names",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["lower", "upper", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["lower", "upper", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"description": "Ignore case of function names",
"properties": {
"ignoreFunctions": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"function-parentheses-newline-inside": {
"description": "Require a newline or disallow whitespace on the inside of the parentheses of functions",
"$ref": "#/definitions/newlineRule"
},
"function-parentheses-space-inside": {
"description": "Require a single space or disallow whitespace on the inside of the parentheses of functions",
"$ref": "#/definitions/spaceRule"
},
"function-url-data-uris": {
"description": "Require or disallow data URIs for urls",
"$ref": "#/definitions/alwaysNeverRule"
},
"function-url-no-scheme-relative": {
"description": "Disallow scheme-relative urls",
"$ref": "#/definitions/booleanRule"
},
"function-url-quotes": {
"description": "Require or disallow quotes for urls",
"$ref": "#/definitions/alwaysNeverRule"
},
"function-url-scheme-whitelist": {
"description": "Specify a whitelist of allowed url schemes",
"$ref": "#/definitions/arrayStringRule"
},
"function-whitelist": {
"description": "Specify a whitelist of allowed functions",
"$ref": "#/definitions/arrayStringRule"
},
"function-whitespace-after": {
"description": "Require or disallow whitespace after functions",
"$ref": "#/definitions/alwaysNeverRule"
}
}
},
"generalSheet": {
"properties": {
"indentation": {
"description": "Specify indentation",
"type": ["null", "integer", "string", "array"],
"oneOf": [
{
"type": ["null", "integer"]
},
{
"type": "string",
"enum": ["tab", []]
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "integer"
}
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["integer", "string", "object"],
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"enum": ["tab", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"indentInsideParens": {
"description": "If `true`, the closing brace of a block (rule or at-rule) will be expected at the same indentation level as the block's inner nodes",
"type": "string",
"enum": ["twice", "once-at-root-twice-in-block"]
},
"except": {
"description": "Do not indent for these things",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["block", "param", "value"]
}
},
"ignore": {
"description": "Ignore the indentation inside parentheses",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["inside-parens", "param", "value"]
}
}
}
}
]
}
}
]
},
"max-empty-lines": {
"description": "Limit the number of adjacent empty lines",
"$ref": "#/definitions/integerRule"
},
"max-line-length": {
"description": "Limit the length of a line",
"type": ["null", "integer", "array"],
"oneOf": [
{
"type": ["null", "integer"]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["integer", "object"],
"anyOf": [
{
"type": "integer"
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": ["string", "array"],
"anyOf": [
{
"type": "string",
"enum": ["non-comments", "comments"]
},
{
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["non-comments", "comments"]
}
}
]
}
}
}
]
}
}
]
},
"max-nesting-depth": {
"description": "Limit the allowed nesting depth",
"type": ["null", "integer", "array"],
"oneOf": [
{
"type": ["null", "integer"]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["integer", "object"],
"anyOf": [
{
"type": "integer"
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["blockless-at-rules", "pseudo-classes"]
}
},
"ignoreAtRules": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"no-browser-hacks": {
"description": "Disallow browser hacks that are irrelevant to the browsers you are targeting",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"browsers": {
"$ref": "#/definitions/simpleStringOrArrayStringRule"
}
}
}
]
}
}
]
},
"no-descending-specificity": {
"description": "Disallow selectors of lower specificity from coming after overriding selectors of higher specificity",
"$ref": "#/definitions/booleanRule"
},
"no-duplicate-selectors": {
"description": "Disallow duplicate selectors within a stylesheet",
"$ref": "#/definitions/booleanRule"
},
"no-empty-source": {
"description": "Disallow empty sources",
"$ref": "#/definitions/booleanRule"
},
"no-eol-whitespace": {
"description": "Disallow end-of-line whitespace",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["empty-lines"]
}
}
}
}
]
}
}
]
},
"no-extra-semicolons": {
"description": "Disallow extra semicolons",
"$ref": "#/definitions/booleanRule"
},
"no-indistinguishable-colors": {
"description": "Disallow colors that are suspiciously close to being identical",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"threshold": {
"type": "integer",
"default": 3,
"minimum": 0,
"maximum": 100
},
"ignore": {
"$ref": "#/definitions/simpleArrayStringRule"
},
"whitelist": {
"description": "An array of color pairs to ignore. Each pair is an array with two items",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
}
]
}
}
]
},
"no-invalid-double-slash-comments": {
"description": "Disallow double-slash comments `(//...)` which are not supported by CSS and could lead to unexpected results",
"$ref": "#/definitions/booleanRule"
},
"no-missing-end-of-source-newline": {
"description": "Disallow missing end-of-source newlines",
"$ref": "#/definitions/booleanRule"
},
"no-unknown-animations": {
"description": "Disallow animation names that do not correspond to a `@keyframes` declaration",
"$ref": "#/definitions/booleanRule"
},
"no-unsupported-browser-features": {
"description": "Disallow features that are unsupported by the browsers that you are targeting",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"browsers": {
"type": "string"
},
"ignore": {
"$ref": "#/definitions/simpleStringOrArrayStringRule"
}
}
}
]
}
}
]
}
}
},
"keyframeDeclaration": {
"properties": {
"keyframe-declaration-no-important": {
"description": "Disallow !important within keyframe declarations",
"$ref": "#/definitions/booleanRule"
}
}
},
"length": {
"properties": {
"length-zero-no-unit": {
"description": "Disallow units for zero lengths",
"$ref": "#/definitions/booleanRule"
}
}
},
"mediaFeature": {
"properties": {
"media-feature-colon-space-after": {
"description": "Require a single space or disallow whitespace after the colon in media features",
"$ref": "#/definitions/alwaysNeverRule"
},
"media-feature-colon-space-before": {
"description": "Require a single space or disallow whitespace before the colon in media features",
"$ref": "#/definitions/alwaysNeverRule"
},
"media-feature-name-case": {
"description": "Specify lowercase or uppercase for media feature names",
"$ref": "#/definitions/lowerUpperRule"
},
"media-feature-name-no-unknown": {
"description": "Disallow unknown media feature names",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreMediaFeatureNames": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"media-feature-name-no-vendor-prefix": {
"description": "Disallow vendor prefixes for media feature names",
"$ref": "#/definitions/booleanRule"
},
"media-feature-no-missing-punctuation": {
"description": "Disallow missing punctuation for non-boolean media features",
"$ref": "#/definitions/booleanRule"
},
"media-feature-parentheses-space-inside": {
"description": "Require a single space or disallow whitespace on the inside of the parentheses within media features",
"$ref": "#/definitions/alwaysNeverRule"
},
"media-feature-range-operator-space-after": {
"description": "Require a single space or disallow whitespace after the range operator in media features",
"$ref": "#/definitions/alwaysNeverRule"
},
"media-feature-range-operator-space-before": {
"description": "Require a single space or disallow whitespace before the range operator in media features",
"$ref": "#/definitions/alwaysNeverRule"
}
}
},
"mediaQueryList": {
"properties": {
"media-query-list-comma-newline-after": {
"description": "Require a newline or disallow whitespace after the commas of media query lists",
"$ref": "#/definitions/newlineRule"
},
"media-query-list-comma-newline-before": {
"description": "Require a newline or disallow whitespace before the commas of media query lists",
"$ref": "#/definitions/newlineRule"
},
"media-query-list-comma-space-after": {
"description": "Require a single space or disallow whitespace after the commas of media query lists",
"$ref": "#/definitions/spaceRule"
},
"media-query-list-comma-space-before": {
"description": "Require a single space or disallow whitespace before the commas of media query lists",
"$ref": "#/definitions/spaceRule"
}
}
},
"number": {
"properties": {
"number-leading-zero": {
"description": "Require or disallow a leading zero for fractional numbers less than 1",
"$ref": "#/definitions/alwaysNeverRule"
},
"number-max-precision": {
"description": "Limit the number of decimal places allowed in numbers",
"$ref": "#/definitions/integerRule"
},
"number-no-trailing-zeros": {
"description": "Disallow trailing zeros in numbers",
"$ref": "#/definitions/booleanRule"
}
}
},
"property": {
"properties": {
"property-blacklist": {
"description": "Specify a blacklist of disallowed properties",
"$ref": "#/definitions/arrayStringRule"
},
"property-case": {
"description": "Specify lowercase or uppercase for properties",
"$ref": "#/definitions/lowerUpperRule"
},
"property-no-unknown": {
"description": "Disallow unknown properties",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreProperties": {
"$ref": "#/definitions/simpleArrayStringRule"
},
"checkPrefixed": {
"description": "If `true`, this rule will check vendor-prefixed properties",
"type": "boolean"
}
}
}
]
}
}
]
},
"property-no-vendor-prefix": {
"description": "Disallow vendor prefixes for properties",
"$ref": "#/definitions/booleanRule"
},
"property-whitelist": {
"description": "Specify a whitelist of allowed properties",
"$ref": "#/definitions/arrayStringRule"
}
}
},
"rootRule": {
"properties": {
"root-no-standard-properties": {
"description": "Disallow standard properties inside `:root` rules",
"$ref": "#/definitions/booleanRule"
}
}
},
"rule": {
"properties": {
"rule-nested-empty-line-before": {
"description": "Require or disallow an empty line before nested rules",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always",
"never",
"always-multi-line",
"never-multi-line",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always",
"never",
"always-multi-line",
"never-multi-line",
{}
]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"except": {
"description": "Reverse the primary option if the rule is the first in a block",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["first-nested"]
}
},
"ignore": {
"description": "Ignore rules that come after a comment",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["after-comment"]
}
}
}
}
]
}
}
]
},
"rule-non-nested-empty-line-before": {
"description": "Require or disallow an empty line before non-nested rules",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": [
"always",
"never",
"always-multi-line",
"never-multi-line",
[]
]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": [
"always",
"never",
"always-multi-line",
"never-multi-line",
{}
]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"except": {
"description": "Reverse the primary option if the rule is the first in a block",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["after-single-line-comment"]
}
},
"ignore": {
"description": "Ignore rules that come after a comment",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["after-comment"]
}
}
}
}
]
}
}
]
}
}
},
"selector": {
"properties": {
"selector-attribute-brackets-space-inside": {
"description": "Require a single space or disallow whitespace on the inside of the brackets within attribute selector",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-attribute-operator-blacklist": {
"description": "Specify a blacklist of disallowed attribute operators",
"$ref": "#/definitions/arrayStringRule"
},
"selector-attribute-operator-space-after": {
"description": "Require a single space or disallow whitespace after operators within attribute selectors",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-attribute-operator-space-before": {
"description": "Require a single space or disallow whitespace before operators within attribute selectors",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-attribute-operator-whitelist": {
"description": "Specify a whitelist of allowed attribute operators",
"$ref": "#/definitions/arrayStringRule"
},
"selector-attribute-quotes": {
"description": "Require or disallow quotes for attribute values",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-class-pattern": {
"description": "Specify a pattern for class selectors",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": ["null", "string"]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"resolveNestedSelectors": {
"description": "This option will resolve nested selectors with `&` interpolation",
"type": "boolean",
"default": false
}
}
}
]
}
}
]
},
"selector-combinator-space-after": {
"description": "Require a single space or disallow whitespace after the combinators of selectors",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-combinator-space-before": {
"description": "Require a single space or disallow whitespace before the combinators of selectors",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-descendant-combinator-no-non-space": {
"description": "Disallow non-space characters for descendant combinators of selectors",
"$ref": "#/definitions/booleanRule"
},
"selector-id-pattern": {
"description": "Specify a pattern for id selectors",
"$ref": "#/definitions/stringRule"
},
"selector-max-compound-selectors": {
"description": "Limit the number of compound selectors in a selector",
"$ref": "#/definitions/integerRule"
},
"selector-max-specificity": {
"description": "Limit the specificity of selectors",
"$ref": "#/definitions/stringRule"
},
"selector-nested-pattern": {
"description": "Specify a pattern for the selectors of rules nested within rules",
"$ref": "#/definitions/stringRule"
},
"selector-no-attribute": {
"description": "Disallow attribute selectors",
"$ref": "#/definitions/booleanRule"
},
"selector-no-combinator": {
"description": "Disallow combinators in selectors",
"$ref": "#/definitions/booleanRule"
},
"selector-no-id": {
"description": "Disallow id selectors",
"$ref": "#/definitions/booleanRule"
},
"selector-no-qualifying-type": {
"description": "Disallow qualifying a selector by type",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["attribute", "class", "id"]
}
}
}
}
]
}
}
]
},
"selector-no-type": {
"description": "Disallow type selectors",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignore": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items": {
"type": "string",
"enum": ["compounded", "descendant"]
}
},
"ignoreTypes": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"selector-no-universal": {
"description": "Disallow the universal selector",
"$ref": "#/definitions/booleanRule"
},
"selector-no-vendor-prefix": {
"description": "Disallow vendor prefixes for selectors",
"$ref": "#/definitions/booleanRule"
},
"selector-pseudo-class-case": {
"description": "Specify lowercase or uppercase for pseudo-class selectors",
"$ref": "#/definitions/lowerUpperRule"
},
"selector-pseudo-class-no-unknown": {
"description": "Disallow unknown pseudo-class selectors",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignorePseudoClasses": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"selector-pseudo-class-parentheses-space-inside": {
"description": "Require a single space or disallow whitespace on the inside of the parentheses within pseudo-class selectors",
"$ref": "#/definitions/alwaysNeverRule"
},
"selector-pseudo-class-whitelist": {
"description": "Specify a whitelist of allowed pseudo-class selectors",
"$ref": "#/definitions/arrayStringRule"
},
"selector-pseudo-element-case": {
"description": "Specify lowercase or uppercase for pseudo-element selectors",
"$ref": "#/definitions/lowerUpperRule"
},
"selector-pseudo-element-colon-notation": {
"description": "Specify single or double colon notation for applicable pseudo-elements",
"$ref": "#/definitions/singleDoubleRule"
},
"selector-pseudo-element-no-unknown": {
"description": "Disallow unknown pseudo-element selectors",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignorePseudoElements": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"selector-root-no-composition": {
"description": "Disallow the composition of :root in selectors",
"$ref": "#/definitions/booleanRule"
},
"selector-type-case": {
"description": "Specify lowercase or uppercase for type selectors",
"$ref": "#/definitions/lowerUpperRule"
},
"selector-type-no-unknown": {
"description": "Disallow unknown type selectors",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreTypes": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"selector-max-empty-lines": {
"description": "Limit the number of adjacent empty lines within selectors",
"$ref": "#/definitions/integerRule"
}
}
},
"selectorList": {
"properties": {
"selector-list-comma-newline-after": {
"description": "Require a newline or disallow whitespace after the commas of selector lists",
"$ref": "#/definitions/newlineRule"
},
"selector-list-comma-newline-before": {
"description": "Require a newline or disallow whitespace before the commas of selector lists",
"$ref": "#/definitions/newlineRule"
},
"selector-list-comma-space-after": {
"description": "Require a single space or disallow whitespace after the commas of selector lists",
"$ref": "#/definitions/spaceRule"
},
"selector-list-comma-space-before": {
"description": "Require a single space or disallow whitespace before the commas of selector lists",
"$ref": "#/definitions/spaceRule"
}
}
},
"shorthandProperty": {
"properties": {
"shorthand-property-no-redundant-values": {
"description": "Disallow redundant values in shorthand properties",
"$ref": "#/definitions/booleanRule"
}
}
},
"string": {
"properties": {
"string-no-newline": {
"description": "Disallow (unescaped) newlines in strings",
"$ref": "#/definitions/booleanRule"
},
"string-quotes": {
"description": "Specify single or double quotes around strings",
"$ref": "#/definitions/singleDoubleRule"
}
}
},
"stylelintDisableComment": {
"properties": {
"stylelint-disable-reason": {
"description": "Require a reason comment before or after `stylelint-disable` comments",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["always-before", "always-after", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["always-before", "always-after", {}]
},
{
"$ref": "#/definitions/coreRule"
}
]
}
}
]
}
}
},
"time": {
"properties": {
"time-no-imperceptible": {
"description": "Disallow `animation` and `transition` less than or equal to 100ms",
"$ref": "#/definitions/booleanRule"
}
}
},
"unit": {
"properties": {
"unit-blacklist": {
"description": "Specify a blacklist of disallowed units",
"$ref": "#/definitions/unitRule"
},
"unit-case": {
"description": "Specify lowercase or uppercase for units",
"$ref": "#/definitions/lowerUpperRule"
},
"unit-no-unknown": {
"description": "Disallow unknown units",
"type": ["null", "boolean", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "boolean",
"enum": [true, []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["boolean", "object"],
"anyOf": [
{
"type": "boolean",
"enum": [true, {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreUnits": {
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"unit-whitelist": {
"description": "Specify a whitelist of allowed units",
"$ref": "#/definitions/unitRule"
}
}
},
"value": {
"properties": {
"value-keyword-case": {
"description": "Specify lowercase or uppercase for keywords values",
"type": ["null", "string", "array"],
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"enum": ["lower", "upper", []]
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"uniqueItems": true,
"items": {
"type": ["string", "object"],
"anyOf": [
{
"type": "string",
"enum": ["lower", "upper", {}]
},
{
"type": "object",
"allOf": [
{
"$ref": "#/definitions/coreRule"
}
],
"properties": {
"ignoreKeywords": {
"description": "Ignore case of keywords values",
"$ref": "#/definitions/simpleArrayStringRule"
}
}
}
]
}
}
]
},
"value-no-vendor-prefix": {
"description": "Disallow vendor prefixes for values",
"$ref": "#/definitions/booleanRule"
}
}
},
"valueList": {
"properties": {
"value-list-comma-newline-after": {
"description": "Require a newline or disallow whitespace after the commas of value lists",
"$ref": "#/definitions/newlineRule"
},
"value-list-comma-newline-before": {
"description": "Require a newline or disallow whitespace before the commas of value lists",
"$ref": "#/definitions/newlineRule"
},
"value-list-comma-space-after": {
"description": "Require a single space or disallow whitespace after the commas of value lists",
"$ref": "#/definitions/spaceRule"
},
"value-list-comma-space-before": {
"description": "Require a single space or disallow whitespace before the commas of value lists",
"$ref": "#/definitions/spaceRule"
},
"value-list-max-empty-lines": {
"description": "Limit the number of adjacent empty lines within value lists",
"$ref": "#/definitions/integerRule"
}
}
}
},
"id": "https://json.schemastore.org/stylelintrc.json",
"properties": {
"extends": {
"description": "Your configuration can extend an existing configuration(s) (whether your own or a third-party config)",
"$ref": "#/definitions/simpleStringOrArrayStringRule"
},
"plugins": {
"description": "Plugins are rules or sets of rules built by the community that support methodologies, toolsets, non-standard CSS features, or very specific use cases",
"$ref": "#/definitions/simpleArrayStringRule"
},
"customSyntax": {
"description": "Specify a custom syntax to use on your code.",
"type": "string"
},
"overrides": {
"description": "Provide rule and behavior overrides for files that match particular glob patterns.",
"type": "array",
"items": {
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"type": "string"
}
},
"customSyntax": {
"type": "string"
},
"rules": {
"$ref": "#/definitions/allRules"
}
}
}
},
"processors": {
"description": "Processors are functions that hook into stylelint's pipeline, modifying code on its way into stylelint and modifying results on their way out",
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": [
{
"type": "string"
}
],
"additionalItems": {
"type": "object"
}
}
]
}
},
"ignoreDisables": {
"description": "Ignore stylelint-disable (e.g. /* stylelint-disable block-no-empty */) comments.",
"type": "boolean"
},
"ignoreFiles": {
"description": "Provide a glob or array of globs to ignore specific files",
"$ref": "#/definitions/simpleStringOrArrayStringRule"
},
"defaultSeverity": {
"description": "The default severity level for all rules that do not have a severity specified in their secondary options",
"type": "string",
"enum": ["warning", "error"]
},
"reportDescriptionlessDisables": {
"description": "Report stylelint-disable comments without a description.",
"$ref": "#/definitions/booleanRule"
},
"reportInvalidScopeDisables": {
"description": "Report stylelint-disable comments that don't match rules that are specified in the configuration object.",
"$ref": "#/definitions/booleanRule"
},
"reportNeedlessDisables": {
"description": "Report stylelint-disable comments that don't actually match any lints that need to be disabled",
"$ref": "#/definitions/booleanRule"
},
"rules": {
"$ref": "#/definitions/allRules"
}
},
"title": "JSON schema for the Stylelint configuration files",
"type": "object"
}