diff --git a/.stylelintrc b/.stylelintrc index b069001a95..094033df34 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -1,468 +1,376 @@ { - "rules": { - "color-hex-case": "lower", - "color-hex-length": "long", - "color-named": "never", - "color-no-invalid-hex": true, + "plugins": [ + "stylelint-order" + ], + "ignoreFiles": [ + "./phpBB/styles/prosilver/theme/normalize.css", + ], + "rules": { + "at-rule-name-case": "lower", + "at-rule-name-newline-after": "always-multi-line", + "at-rule-name-space-after": "always-single-line", + "at-rule-no-vendor-prefix": true, + "at-rule-semicolon-newline-after": "always", - "font-family-name-quotes": "always-where-recommended", + "block-closing-brace-newline-after": "always", + "block-closing-brace-newline-before": "always-multi-line", + "block-closing-brace-space-after": "always-single-line", + "block-closing-brace-space-before": "always-single-line", - "function-calc-no-unspaced-operator": true, - "function-comma-newline-after": "always-multi-line", - "function-comma-newline-before": "never-multi-line", - "function-comma-space-after": "always-single-line", - "function-comma-space-before": "never", - "function-linear-gradient-no-nonstandard-direction": true, - "function-max-empty-lines": 0, - "function-name-case": "lower", - "function-parentheses-newline-inside": "always-multi-line", - "function-parentheses-space-inside": "never-single-line", - "function-url-quotes": "always", - "function-whitespace-after": "always", + "block-no-empty": true, - "number-leading-zero": "always", - "number-max-precision": 3, - "number-no-trailing-zeros": true, + "block-opening-brace-newline-after": "always", + "block-opening-brace-space-after": "always-single-line", + "block-opening-brace-space-before": "always", - "string-no-newline": true, - "string-quotes": single, + "color-hex-case": "lower", + "color-hex-length": "long", + "color-named": "never", + "color-no-invalid-hex": true, - "length-zero-no-unit": true, + "comment-empty-line-before": [ + "always", { + "except": ["first-nested"], + "ignore": ["stylelint-commands"] + } + ], + "comment-whitespace-inside": "always", - "unit-case": "lower", - "unit-no-unknown": true, + "declaration-bang-space-after": "never", + "declaration-bang-space-before": "always", - "value-keyword-case": lower, + "declaration-block-no-shorthand-property-overrides": true, + "declaration-block-semicolon-newline-after": "always-multi-line", + "declaration-block-semicolon-newline-before": "never-multi-line", + "declaration-block-semicolon-space-after": "always-single-line", + "declaration-block-semicolon-space-before": "never", + "declaration-block-trailing-semicolon": "always", + "declaration-block-single-line-max-declarations": 1, + "declaration-block-no-duplicate-properties": [ + true, { + "ignore": ["consecutive-duplicates-with-different-values"] + } + ], - "value-list-comma-newline-after": "always-multi-line", - "value-list-comma-newline-before": "never-multi-line", - "value-list-comma-space-after": "always-single-line", - "value-list-comma-space-before": "never", - "value-list-max-empty-lines": 0, + "declaration-colon-newline-after": "always-multi-line", + "declaration-colon-space-after": "always-single-line", + "declaration-colon-space-before": "never", - "shorthand-property-no-redundant-values": true, + "declaration-empty-line-before": "never", - "property-case": "lower", - "property-no-unknown": true, + "declaration-property-unit-blacklist": { + "line-height": ["rem", "em", "%"] + }, + "declaration-property-unit-whitelist": { + "height": ["px", "%"], + "width": ["px", "%"], + "font-size": ["px", "rem", "%"], + "margin-left": ["px", "rem", "%"], + "margin-right": ["px", "rem", "%"], + "margin-top": ["px", "rem", "%"], + "margin-bottom": ["px", "rem", "%"], + "padding-left": ["px", "rem"], + "padding-right": ["px", "rem"], + "padding-top": ["px", "rem"], + "padding-bottom": ["px", "rem"] + }, - "keyframe-declaration-no-important": true, + "font-family-name-quotes": "always-where-recommended", + "function-calc-no-unspaced-operator": true, - "declaration-bang-space-after": "never", - "declaration-bang-space-before": "always", - "declaration-colon-newline-after": "always-multi-line", - "declaration-colon-space-after": "always-single-line", - "declaration-colon-space-before": "never", - "declaration-empty-line-before": "never", + "function-comma-newline-after": "never-multi-line", + "function-comma-newline-before": "never-multi-line", + "function-comma-space-after": "always-single-line", + "function-comma-space-before": "never-single-line", - "declaration-block-no-duplicate-properties": true, - "declaration-block-no-ignored-properties": true, - "declaration-block-no-shorthand-property-overrides": true, - "declaration-block-semicolon-newline-after": "always-multi-line", - "declaration-block-semicolon-newline-before": "never-multi-line", - "declaration-block-semicolon-space-after": "always-single-line", - "declaration-block-semicolon-space-before": "never", - "declaration-block-single-line-max-declarations": 1, - "declaration-block-trailing-semicolon": "always", + "function-linear-gradient-no-nonstandard-direction": true, + "function-max-empty-lines": 5, - "block-closing-brace-empty-line-before": "never", - "block-closing-brace-newline-after": "always", - "block-closing-brace-newline-before": "always-multi-line", - "block-closing-brace-space-after": "always-single-line", - "block-closing-brace-space-before": "always-single-line", - "block-no-empty": true, - "block-opening-brace-newline-after": "always-multi-line", - "block-opening-brace-space-after": "always-single-line", - "block-opening-brace-space-before": "always", + "function-name-case": "lower", + "function-parentheses-newline-inside": "always-multi-line", + "function-parentheses-space-inside": "never-single-line", + "function-url-quotes": "always", + "function-whitespace-after": "always", - "selector-attribute-brackets-space-inside": "never", - "selector-attribute-operator-space-after": "never", - "selector-attribute-operator-space-before": "never", - "selector-attribute-quotes": "always", - "selector-combinator-space-after": "always", - "selector-combinator-space-before": "always", - "selector-descendant-combinator-no-non-space": true, - "selector-max-compound-selectors": 3, - "selector-no-empty": true, - "selector-no-id": true, - "selector-no-qualifying-type": [ - true, { - "ignore": ["attribute"] - } - ], - "selector-pseudo-class-case": "lower", - "selector-pseudo-class-no-unknown": true, - "selector-pseudo-class-parentheses-space-inside": "never", - "selector-pseudo-element-case": "lower", - "selector-pseudo-element-colon-notation": "single", - "selector-pseudo-element-no-unknown": true, - "selector-type-case": "lower", - "selector-type-no-unknown": true, - "selector-max-empty-lines": 0, + "indentation": "tab", - "selector-list-comma-newline-after": "always", - "selector-list-comma-space-before": "never", + "length-zero-no-unit": true, - "rule-nested-empty-line-before": [ - "always-multi-line", { - "ignore": ["after-comment"], - "except": ["first-nested"] - } - ], - "rule-non-nested-empty-line-before": [ - "always-multi-line", { - "ignore": ["after-comment"] - } - ], + "max-empty-lines": 10, + "max-line-length": 180, + "max-nesting-depth": 4, - "media-feature-colon-space-after": "always", - "media-feature-colon-space-before": "never", - "media-feature-name-case": "lower", - "media-feature-no-missing-punctuation": true, - "media-feature-parentheses-space-inside": "never", - "media-feature-range-operator-space-after": "always", - "media-feature-range-operator-space-before": "always", + "media-feature-colon-space-after": "always", + "media-feature-colon-space-before": "never", + "media-feature-name-case": "lower", + "media-feature-parentheses-space-inside": "never", + "media-feature-range-operator-space-after": "always", + "media-feature-range-operator-space-before": "always", + "media-query-list-comma-newline-after": "always-multi-line", + "media-query-list-comma-newline-before": "never-multi-line", + "media-query-list-comma-space-after": "always-single-line", + "media-query-list-comma-space-before": "never", - "media-query-list-comma-newline-after": "always-multi-line", - "media-query-list-comma-space-after": "always-single-line", - "media-query-list-comma-space-before": "never", + "no-duplicate-selectors": true, + "no-empty-source": true, + "no-eol-whitespace": true, + "no-extra-semicolons": true, + "no-missing-end-of-source-newline": true, + "no-unknown-animations": true, - "at-rule-empty-line-before": [ - "always", { - "except": ["blockless-group", "all-nested", "first-nested"], - "ignore": ["after-comment"] - } - ], - "at-rule-name-case": "lower", - "at-rule-name-space-after": "always-single-line", - "at-rule-semicolon-newline-after": "always", + "number-leading-zero": "always", + "number-max-precision": 10, + "number-no-trailing-zeros": true, - "comment-empty-line-before": [ - "always", { - "except": ["first-nested"], - "ignore": ["stylelint-commands"] - } - ], - "comment-whitespace-inside": "always", + "property-case": "lower", + "property-no-unknown": true, - "indentation": "tab", - "max-empty-lines": 5, + "rule-empty-line-before": ["always", { + "ignore": ["after-comment"], + "except": ["first-nested"] + }], - "no-duplicate-selectors": true, - "no-eol-whitespace": true, - "no-extra-semicolons": true, - "no-indistinguishable-colors": [ - true, { - "ignore": ["#fafafa", "#f5f5f5", "#eeeeee", "#ffffff" ] - } - ], - "no-invalid-double-slash-comments": true, - "no-missing-end-of-source-newline": true, + "selector-attribute-brackets-space-inside": "never", + "selector-attribute-operator-space-after": "never", + "selector-attribute-operator-space-before": "never", + "selector-attribute-quotes": "always", - "declaration-block-properties-order": [ - [ - "-moz-osx-font-smoothing", - "-webkit-font-smoothing", - "font", - "font-effect", - "font-emphasize", - "font-emphasize-position", - "font-emphasize-style", - "font-family", - "font-feature-settings", - "-webkit-font-feature-settings", - "font-size", - "font-size-adjust", - "font-smooth", - "font-stretch", - "font-style", - "font-variant", - "font-weight", - "-moz-hyphens", - "-webkit-hyphens", - "hyphens", - "letter-spacing", - "line-height", - "-moz-tab-size", - "-o-tab-size", - "-ms-text-size-adjust", - "-webkit-text-size-adjust", - "tab-size", - "text-align", - "-moz-text-align-last", - "-ms-text-align-last", - "-webkit-text-align-last", - "text-align-last", - "-webkit-text-decoration-skip", - "text-decoration", - "text-emphasis", - "text-emphasis-color", - "text-emphasis-position", - "text-emphasis-style", - "text-indent", - "-ms-text-justify", - "text-justify", - "text-outline", - "-ms-text-overflow", - "text-overflow", - "text-overflow-ellipsis", - "text-overflow-mode", - "text-transform", - "text-wrap", - "vertical-align", - "white-space", - "-ms-word-break", - "word-break", - "word-spacing", - "-ms-word-wrap", - "-ms-writing-mode", - "word-wrap", + "selector-combinator-space-after": "always", + "selector-combinator-space-before": "always", - "background", - "background-attachment", - "-moz-background-clip", - "-webkit-background-clip", - "background-clip", - "background-color", - "background-image", - "background-origin", - "background-position", - "-ms-background-position-x", - "background-position-x", - "-ms-background-position-y", - "background-position-y", - "background-repeat", - "-moz-background-size", - "-o-background-size", - "-webkit-background-size", - "background-size", - "border", - "border-color", - "border-collapse", - "-o-border-image", - "-moz-border-image", - "-webkit-border-image", - "border-image", - "-moz-border-image-outset", - "-o-border-image-outset", - "-webkit-border-image-outset", - "border-image-outset", - "-moz-border-image-repeat", - "-o-border-image-repeat", - "-webkit-border-image-repeat", - "border-image-repeat", - "-moz-border-image-slice", - "-o-border-image-slice", - "-webkit-border-image-slice", - "border-image-slice", - "-moz-border-image-source", - "-o-border-image-source", - "-webkit-border-image-source", - "border-image-source", - "-moz-border-image-width", - "-o-border-image-width", - "-webkit-border-image-width", - "border-image-width", - "-moz-border-radius", - "-webkit-border-radius", - "border-radius", - "border-top", - "border-top-color", - "border-top-left-radius", - "-moz-border-radius-topleft", - "-webkit-border-top-left-radius", - "border-top-right-radius", - "-moz-border-radius-topright", - "-webkit-border-top-right-radius", - "border-top-style", - "border-top-width", - "border-right", - "border-right-color", - "border-right-style", - "border-right-width", - "border-bottom", - "border-bottom-color", - "-moz-border-radius-bottomleft", - "-webkit-border-bottom-left-radius", - "border-bottom-left-radius", - "-moz-border-radius-bottomright", - "-webkit-border-bottom-right-radius", - "border-bottom-right-radius", - "border-bottom-style", - "border-bottom-width", - "border-left", - "border-left-color", - "border-left-style", - "border-left-width", - "border-spacing", - "border-style", - "border-width", - "box-decoration-break", - "-moz-box-shadow", - "-webkit-box-shadow", - "box-shadow", - "color", - "opacity", - "outline", - "outline-color", - "outline-offset", - "outline-style", - "outline-width", - "text-shadow", - "-ms-interpolation-mode", - "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", - "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", - "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", - "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", - "filter:progid:DXImageTransform.Microsoft.gradient", + "selector-list-comma-newline-after": "always", + "selector-list-comma-space-before": "never", - "position", - "top", - "right", - "bottom", - "left", - "z-index", + "selector-max-empty-lines": 5, + "selector-max-compound-selectors": 5, - "display", - "visibility", - "float", - "clear", - "-ms-overflow-x", - "-ms-overflow-y", - "-ms-overflow-style", - "overflow", - "overflow-x", - "overflow-y", - "clip", - "zoom", - "-webkit-flex", - "flex-direction", - "flex-order", - "flex-pack", - "flex-align", - "flex", + "selector-pseudo-class-case": "lower", + "selector-pseudo-class-no-unknown": true, + "selector-pseudo-class-parentheses-space-inside": "never", - "-webkit-box-sizing", - "-moz-box-sizing", - "box-sizing", - "width", - "min-width", - "max-width", - "height", - "min-height", - "max-height", - "margin", - "margin-top", - "margin-right", - "margin-bottom", - "margin-left", - "padding", - "padding-top", - "padding-right", - "padding-bottom", - "padding-left", + "selector-pseudo-element-case": "lower", + "selector-pseudo-element-colon-notation": "single", + "selector-pseudo-element-no-unknown": true, - "table-layout", - "empty-cells", - "caption-side", - "list-style", - "list-style-position", - "list-style-type", - "list-style-image", + "selector-type-case": "lower", + "selector-type-no-unknown": true, - "content", - "quotes", - "counter-reset", - "counter-increment", - "resize", - "cursor", - "-moz-user-select", - "-ms-user-select", - "-webkit-user-select", - "user-select", - "nav-index", - "nav-up", - "nav-right", - "nav-down", - "nav-left", - "-webkit-transition", - "-moz-transition", - "-ms-transition", - "-o-transition", - "transition", - "-webkit-transition-delay", - "-moz-transition-delay", - "-ms-transition-delay", - "-o-transition-delay", - "transition-delay", - "-webkit-transition-timing-function", - "-moz-transition-timing-function", - "-ms-transition-timing-function", - "-o-transition-timing-function", - "transition-timing-function", - "-webkit-transition-duration", - "-moz-transition-duration", - "-ms-transition-duration", - "-o-transition-duration", - "transition-duration", - "-webkit-transition-property", - "-moz-transition-property", - "-ms-transition-property", - "-o-transition-property", - "transition-property", - "-webkit-transform", - "-moz-transform", - "-ms-transform", - "-o-transform", - "transform", - "-webkit-transform-origin", - "-moz-transform-origin", - "-ms-transform-origin", - "-o-transform-origin", - "transform-origin", - "-webkit-animation", - "-moz-animation", - "-ms-animation", - "-o-animation", - "animation", - "-webkit-animation-name", - "-moz-animation-name", - "-ms-animation-name", - "-o-animation-name", - "animation-name", - "-webkit-animation-duration", - "-moz-animation-duration", - "-ms-animation-duration", - "-o-animation-duration", - "animation-duration", - "-webkit-animation-play-state", - "-moz-animation-play-state", - "-ms-animation-play-state", - "-o-animation-play-state", - "animation-play-state", - "-webkit-animation-timing-function", - "-moz-animation-timing-function", - "-ms-animation-timing-function", - "-o-animation-timing-function", - "animation-timing-function", - "-webkit-animation-delay", - "-moz-animation-delay", - "-ms-animation-delay", - "-o-animation-delay", - "animation-delay", - "-webkit-animation-iteration-count", - "-moz-animation-iteration-count", - "-ms-animation-iteration-count", - "-o-animation-iteration-count", - "animation-iteration-count", - "-webkit-animation-direction", - "-moz-animation-direction", - "-ms-animation-direction", - "-o-animation-direction", - "animation-direction", - "pointer-events", - "-moz-appearance", - "-webkit-appearance" - ], { unspecified: "ignore" } - ] - } + "selector-descendant-combinator-no-non-space": true, + "selector-no-id": true, + "selector-no-qualifying-type": [ + true, { + "ignore": ["attribute"] + } + ], + + "shorthand-property-no-redundant-values": true, + + "string-no-newline": true, + "string-quotes": "double", + + "unit-case": "lower", + "unit-no-unknown": true, + + "value-list-comma-newline-after": "always-multi-line", + "value-list-comma-newline-before": "never-multi-line", + "value-list-comma-space-after": "always-single-line", + "value-list-comma-space-before": "never", + "order/declaration-block-order": [ + "custom-properties", + "dollar-variables", + "at-rules", + "declarations", + { + "type": "at-rule", + "name": "media" + }, + "rules" + ], + "order/declaration-block-properties-specified-order": [ + "-moz-osx-font-smoothing", + "-webkit-font-smoothing", + "font", + "font-family", + "font-size", + "font-weight", + "font-style", + "font-variant", + "font-size-adjust", + "font-stretch", + "font-effect", + "font-emphasize", + "font-emphasize-position", + "font-emphasize-style", + "font-smooth", + "line-height", + "text-align", + "text-align-last", + "vertical-align", + "white-space", + "text-decoration", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-style", + "text-emphasis-position", + "text-indent", + "text-justify", + "letter-spacing", + "word-spacing", + "writing-mode", + "text-outline", + "text-transform", + "text-wrap", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "word-wrap", + "word-break", + "tab-size", + "hyphens", + + "background", + "background-color", + "background-image", + "background-repeat", + "background-attachment", + "background-position", + "background-position-x", + "background-position-y", + "background-clip", + "background-origin", + "background-size", + "interpolation-mode", + "filter", + + "border", + "border-width", + "border-style", + "border-color", + "border-top", + "border-top-width", + "border-top-style", + "border-top-color", + "border-right", + "border-right-width", + "border-right-style", + "border-right-color", + "border-bottom", + "border-bottom-width", + "border-bottom-style", + "border-bottom-color", + "border-left", + "border-left-width", + "border-left-style", + "border-left-color", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "border-image", + "border-image-source", + "border-image-slice", + "border-image-width", + "border-image-outset", + "border-image-repeat", + "outline", + "outline-width", + "outline-style", + "outline-color", + "outline-offset", + + "box-decoration-break", + "box-shadow", + "text-shadow", + + "color", + "opacity", + + "position", + "z-index", + "top", + "right", + "bottom", + "left", + + "display", + "visibility", + "float", + "clear", + "overflow", + "overflow-x", + "overflow-y", + "clip", + "zoom", + "flex", + "flex-direction", + "flex-order", + "flex-pack", + "flex-align", + "flex-basis", + "flex-grow", + "flex-shrink", + "flex-wrap", + "justify-content", + "align-items", + "align-self", + + "box-sizing", + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + + "table-layout", + "empty-cells", + "caption-side", + "border-spacing", + "border-collapse", + "list-style", + "list-style-position", + "list-style-type", + "list-style-image", + + "content", + "quotes", + "counter-reset", + "counter-increment", + "resize", + "cursor", + "user-select", + "nav-index", + "nav-up", + "nav-right", + "nav-down", + "nav-left", + "transition", + "transition-delay", + "transition-timing-function", + "transition-duration", + "transition-property", + "transform", + "transform-origin", + "animation", + "animation-name", + "animation-duration", + "animation-play-state", + "animation-timing-function", + "animation-delay", + "animation-iteration-count", + "animation-direction", + "pointer-events" + ] + } } diff --git a/phpBB/package.json b/phpBB/package.json index fc85b20a99..e97fc5cc78 100644 --- a/phpBB/package.json +++ b/phpBB/package.json @@ -28,7 +28,7 @@ }, "homepage": "https://www.phpbb.com", "devDependencies": { - "stylelint": "^7.7.1", - "stylelint-order": "^0.3.0" + "stylelint": "7.8.0", + "stylelint-order": "0.3.0" } }