loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add `stylelint-value-no-unknown-custom-properties` and convert stylelint config to js (#30117)

Add
[`stylelint-value-no-unknown-custom-properties`](https://github.com/csstools/stylelint-value-no-unknown-custom-properties)
which lints for undefined CSS variables. No current violations.

To make it work properly with editor integrations, I had to convert the
config to JS to be able to pass absolute paths to the plugin, but this
is a needed change anyways.

(cherry picked from commit f31a88d3cb64106e75bbe8a3502856db71dbacfc)

Conflicts:
- .github/labeler.yml
- .github/workflows/files-changed.yml
Removed both, Gitea specific files.

authored by

silverwind and committed by
Gergely Nagy
bef622d3 0f1bd1be

+263 -223
-223
.stylelintrc.yaml
··· 1 - plugins: 2 - - stylelint-declaration-strict-value 3 - - stylelint-declaration-block-no-ignored-properties 4 - - "@stylistic/stylelint-plugin" 5 - 6 - ignoreFiles: 7 - - "**/*.go" 8 - 9 - overrides: 10 - - files: ["**/chroma/*", "**/codemirror/*", "**/standalone/*", "**/console.css", "font_i18n.css"] 11 - rules: 12 - scale-unlimited/declaration-strict-value: null 13 - - files: ["**/chroma/*", "**/codemirror/*"] 14 - rules: 15 - block-no-empty: null 16 - - files: ["**/*.vue"] 17 - customSyntax: postcss-html 18 - 19 - rules: 20 - "@stylistic/at-rule-name-case": null 21 - "@stylistic/at-rule-name-newline-after": null 22 - "@stylistic/at-rule-name-space-after": null 23 - "@stylistic/at-rule-semicolon-newline-after": null 24 - "@stylistic/at-rule-semicolon-space-before": null 25 - "@stylistic/block-closing-brace-empty-line-before": null 26 - "@stylistic/block-closing-brace-newline-after": null 27 - "@stylistic/block-closing-brace-newline-before": null 28 - "@stylistic/block-closing-brace-space-after": null 29 - "@stylistic/block-closing-brace-space-before": null 30 - "@stylistic/block-opening-brace-newline-after": null 31 - "@stylistic/block-opening-brace-newline-before": null 32 - "@stylistic/block-opening-brace-space-after": null 33 - "@stylistic/block-opening-brace-space-before": always 34 - "@stylistic/color-hex-case": lower 35 - "@stylistic/declaration-bang-space-after": never 36 - "@stylistic/declaration-bang-space-before": null 37 - "@stylistic/declaration-block-semicolon-newline-after": null 38 - "@stylistic/declaration-block-semicolon-newline-before": null 39 - "@stylistic/declaration-block-semicolon-space-after": null 40 - "@stylistic/declaration-block-semicolon-space-before": never 41 - "@stylistic/declaration-block-trailing-semicolon": null 42 - "@stylistic/declaration-colon-newline-after": null 43 - "@stylistic/declaration-colon-space-after": null 44 - "@stylistic/declaration-colon-space-before": never 45 - "@stylistic/function-comma-newline-after": null 46 - "@stylistic/function-comma-newline-before": null 47 - "@stylistic/function-comma-space-after": null 48 - "@stylistic/function-comma-space-before": null 49 - "@stylistic/function-max-empty-lines": 0 50 - "@stylistic/function-parentheses-newline-inside": never-multi-line 51 - "@stylistic/function-parentheses-space-inside": null 52 - "@stylistic/function-whitespace-after": null 53 - "@stylistic/indentation": 2 54 - "@stylistic/linebreaks": null 55 - "@stylistic/max-empty-lines": 1 56 - "@stylistic/max-line-length": null 57 - "@stylistic/media-feature-colon-space-after": null 58 - "@stylistic/media-feature-colon-space-before": never 59 - "@stylistic/media-feature-name-case": null 60 - "@stylistic/media-feature-parentheses-space-inside": null 61 - "@stylistic/media-feature-range-operator-space-after": always 62 - "@stylistic/media-feature-range-operator-space-before": always 63 - "@stylistic/media-query-list-comma-newline-after": null 64 - "@stylistic/media-query-list-comma-newline-before": null 65 - "@stylistic/media-query-list-comma-space-after": null 66 - "@stylistic/media-query-list-comma-space-before": null 67 - "@stylistic/named-grid-areas-alignment": null 68 - "@stylistic/no-empty-first-line": null 69 - "@stylistic/no-eol-whitespace": true 70 - "@stylistic/no-extra-semicolons": true 71 - "@stylistic/no-missing-end-of-source-newline": null 72 - "@stylistic/number-leading-zero": null 73 - "@stylistic/number-no-trailing-zeros": null 74 - "@stylistic/property-case": lower 75 - "@stylistic/selector-attribute-brackets-space-inside": null 76 - "@stylistic/selector-attribute-operator-space-after": null 77 - "@stylistic/selector-attribute-operator-space-before": null 78 - "@stylistic/selector-combinator-space-after": null 79 - "@stylistic/selector-combinator-space-before": null 80 - "@stylistic/selector-descendant-combinator-no-non-space": null 81 - "@stylistic/selector-list-comma-newline-after": null 82 - "@stylistic/selector-list-comma-newline-before": null 83 - "@stylistic/selector-list-comma-space-after": always-single-line 84 - "@stylistic/selector-list-comma-space-before": never-single-line 85 - "@stylistic/selector-max-empty-lines": 0 86 - "@stylistic/selector-pseudo-class-case": lower 87 - "@stylistic/selector-pseudo-class-parentheses-space-inside": never 88 - "@stylistic/selector-pseudo-element-case": lower 89 - "@stylistic/string-quotes": double 90 - "@stylistic/unicode-bom": null 91 - "@stylistic/unit-case": lower 92 - "@stylistic/value-list-comma-newline-after": null 93 - "@stylistic/value-list-comma-newline-before": null 94 - "@stylistic/value-list-comma-space-after": null 95 - "@stylistic/value-list-comma-space-before": null 96 - "@stylistic/value-list-max-empty-lines": 0 97 - alpha-value-notation: null 98 - annotation-no-unknown: true 99 - at-rule-allowed-list: null 100 - at-rule-disallowed-list: null 101 - at-rule-empty-line-before: null 102 - at-rule-no-unknown: [true, {ignoreAtRules: [tailwind]}] 103 - at-rule-no-vendor-prefix: true 104 - at-rule-property-required-list: null 105 - block-no-empty: true 106 - color-function-notation: null 107 - color-hex-alpha: null 108 - color-hex-length: null 109 - color-named: null 110 - color-no-hex: null 111 - color-no-invalid-hex: true 112 - comment-empty-line-before: null 113 - comment-no-empty: true 114 - comment-pattern: null 115 - comment-whitespace-inside: null 116 - comment-word-disallowed-list: null 117 - custom-media-pattern: null 118 - custom-property-empty-line-before: null 119 - custom-property-no-missing-var-function: true 120 - custom-property-pattern: null 121 - declaration-block-no-duplicate-custom-properties: true 122 - declaration-block-no-duplicate-properties: [true, {ignore: [consecutive-duplicates-with-different-values]}] 123 - declaration-block-no-redundant-longhand-properties: null 124 - declaration-block-no-shorthand-property-overrides: null 125 - declaration-block-single-line-max-declarations: null 126 - declaration-empty-line-before: null 127 - declaration-no-important: null 128 - declaration-property-max-values: null 129 - declaration-property-unit-allowed-list: null 130 - declaration-property-unit-disallowed-list: {line-height: [em]} 131 - declaration-property-value-allowed-list: null 132 - declaration-property-value-disallowed-list: null 133 - declaration-property-value-no-unknown: true 134 - font-family-name-quotes: always-where-recommended 135 - font-family-no-duplicate-names: true 136 - font-family-no-missing-generic-family-keyword: true 137 - font-weight-notation: null 138 - function-allowed-list: null 139 - function-calc-no-unspaced-operator: true 140 - function-disallowed-list: null 141 - function-linear-gradient-no-nonstandard-direction: true 142 - function-name-case: lower 143 - function-no-unknown: true 144 - function-url-no-scheme-relative: null 145 - function-url-quotes: always 146 - function-url-scheme-allowed-list: null 147 - function-url-scheme-disallowed-list: null 148 - hue-degree-notation: null 149 - import-notation: string 150 - keyframe-block-no-duplicate-selectors: true 151 - keyframe-declaration-no-important: true 152 - keyframe-selector-notation: null 153 - keyframes-name-pattern: null 154 - length-zero-no-unit: [true, ignore: [custom-properties], ignoreFunctions: [var]] 155 - max-nesting-depth: null 156 - media-feature-name-allowed-list: null 157 - media-feature-name-disallowed-list: null 158 - media-feature-name-no-unknown: true 159 - media-feature-name-no-vendor-prefix: true 160 - media-feature-name-unit-allowed-list: null 161 - media-feature-name-value-allowed-list: null 162 - media-feature-name-value-no-unknown: true 163 - media-feature-range-notation: null 164 - media-query-no-invalid: true 165 - named-grid-areas-no-invalid: true 166 - no-descending-specificity: null 167 - no-duplicate-at-import-rules: true 168 - no-duplicate-selectors: true 169 - no-empty-source: true 170 - no-invalid-double-slash-comments: true 171 - no-invalid-position-at-import-rule: [true, ignoreAtRules: [tailwind]] 172 - no-irregular-whitespace: true 173 - no-unknown-animations: null 174 - no-unknown-custom-properties: null 175 - number-max-precision: null 176 - plugin/declaration-block-no-ignored-properties: true 177 - property-allowed-list: null 178 - property-disallowed-list: null 179 - property-no-unknown: true 180 - property-no-vendor-prefix: null 181 - rule-empty-line-before: null 182 - rule-selector-property-disallowed-list: null 183 - scale-unlimited/declaration-strict-value: [[/color$/, font-weight], {ignoreValues: /^(inherit|transparent|unset|initial|currentcolor|none)$/, ignoreFunctions: false, disableFix: true, expandShorthand: true}] 184 - selector-anb-no-unmatchable: true 185 - selector-attribute-name-disallowed-list: null 186 - selector-attribute-operator-allowed-list: null 187 - selector-attribute-operator-disallowed-list: null 188 - selector-attribute-quotes: always 189 - selector-class-pattern: null 190 - selector-combinator-allowed-list: null 191 - selector-combinator-disallowed-list: null 192 - selector-disallowed-list: null 193 - selector-id-pattern: null 194 - selector-max-attribute: null 195 - selector-max-class: null 196 - selector-max-combinators: null 197 - selector-max-compound-selectors: null 198 - selector-max-id: null 199 - selector-max-pseudo-class: null 200 - selector-max-specificity: null 201 - selector-max-type: null 202 - selector-max-universal: null 203 - selector-nested-pattern: null 204 - selector-no-qualifying-type: null 205 - selector-no-vendor-prefix: true 206 - selector-not-notation: null 207 - selector-pseudo-class-allowed-list: null 208 - selector-pseudo-class-disallowed-list: null 209 - selector-pseudo-class-no-unknown: true 210 - selector-pseudo-element-allowed-list: null 211 - selector-pseudo-element-colon-notation: double 212 - selector-pseudo-element-disallowed-list: null 213 - selector-pseudo-element-no-unknown: true 214 - selector-type-case: lower 215 - selector-type-no-unknown: [true, {ignore: [custom-elements]}] 216 - shorthand-property-no-redundant-values: true 217 - string-no-newline: true 218 - time-min-milliseconds: null 219 - unit-allowed-list: null 220 - unit-disallowed-list: null 221 - unit-no-unknown: true 222 - value-keyword-case: null 223 - value-no-vendor-prefix: [true, {ignoreValues: [box, inline-box]}]
+17
package-lock.json
··· 92 92 "stylelint": "16.3.0", 93 93 "stylelint-declaration-block-no-ignored-properties": "2.8.0", 94 94 "stylelint-declaration-strict-value": "1.10.4", 95 + "stylelint-value-no-unknown-custom-properties": "6.0.1", 95 96 "svgo": "3.2.0", 96 97 "updates": "16.0.0", 97 98 "vite-string-plugin": "1.1.5", ··· 11022 11023 }, 11023 11024 "peerDependencies": { 11024 11025 "stylelint": ">=7 <=16" 11026 + } 11027 + }, 11028 + "node_modules/stylelint-value-no-unknown-custom-properties": { 11029 + "version": "6.0.1", 11030 + "resolved": "https://registry.npmjs.org/stylelint-value-no-unknown-custom-properties/-/stylelint-value-no-unknown-custom-properties-6.0.1.tgz", 11031 + "integrity": "sha512-N60PTdaTknB35j6D4FhW0GL2LlBRV++bRpXMMldWMQZ240yFQaoltzlLY4lXXs7Z0J5mNUYZQ/gjyVtU2DhCMA==", 11032 + "dev": true, 11033 + "dependencies": { 11034 + "postcss-value-parser": "^4.2.0", 11035 + "resolve": "^1.22.8" 11036 + }, 11037 + "engines": { 11038 + "node": ">=18.12.0" 11039 + }, 11040 + "peerDependencies": { 11041 + "stylelint": ">=16" 11025 11042 } 11026 11043 }, 11027 11044 "node_modules/stylelint/node_modules/ansi-regex": {
+1
package.json
··· 91 91 "stylelint": "16.3.0", 92 92 "stylelint-declaration-block-no-ignored-properties": "2.8.0", 93 93 "stylelint-declaration-strict-value": "1.10.4", 94 + "stylelint-value-no-unknown-custom-properties": "6.0.1", 94 95 "svgo": "3.2.0", 95 96 "updates": "16.0.0", 96 97 "vite-string-plugin": "1.1.5",
+245
stylelint.config.js
··· 1 + import {fileURLToPath} from 'node:url'; 2 + 3 + const cssVarFiles = [ 4 + fileURLToPath(new URL('web_src/css/base.css', import.meta.url)), 5 + fileURLToPath(new URL('web_src/css/themes/theme-gitea-light.css', import.meta.url)), 6 + fileURLToPath(new URL('web_src/css/themes/theme-gitea-dark.css', import.meta.url)), 7 + ]; 8 + 9 + /** @type {import('stylelint').Config} */ 10 + export default { 11 + plugins: [ 12 + 'stylelint-declaration-strict-value', 13 + 'stylelint-declaration-block-no-ignored-properties', 14 + 'stylelint-value-no-unknown-custom-properties', 15 + '@stylistic/stylelint-plugin', 16 + ], 17 + ignoreFiles: [ 18 + '**/*.go', 19 + ], 20 + overrides: [ 21 + { 22 + files: ['**/chroma/*', '**/codemirror/*', '**/standalone/*', '**/console.css', 'font_i18n.css'], 23 + rules: { 24 + 'scale-unlimited/declaration-strict-value': null, 25 + }, 26 + }, 27 + { 28 + files: ['**/chroma/*', '**/codemirror/*'], 29 + rules: { 30 + 'block-no-empty': null, 31 + }, 32 + }, 33 + { 34 + files: ['**/*.vue'], 35 + customSyntax: 'postcss-html', 36 + }, 37 + ], 38 + rules: { 39 + '@stylistic/at-rule-name-case': null, 40 + '@stylistic/at-rule-name-newline-after': null, 41 + '@stylistic/at-rule-name-space-after': null, 42 + '@stylistic/at-rule-semicolon-newline-after': null, 43 + '@stylistic/at-rule-semicolon-space-before': null, 44 + '@stylistic/block-closing-brace-empty-line-before': null, 45 + '@stylistic/block-closing-brace-newline-after': null, 46 + '@stylistic/block-closing-brace-newline-before': null, 47 + '@stylistic/block-closing-brace-space-after': null, 48 + '@stylistic/block-closing-brace-space-before': null, 49 + '@stylistic/block-opening-brace-newline-after': null, 50 + '@stylistic/block-opening-brace-newline-before': null, 51 + '@stylistic/block-opening-brace-space-after': null, 52 + '@stylistic/block-opening-brace-space-before': 'always', 53 + '@stylistic/color-hex-case': 'lower', 54 + '@stylistic/declaration-bang-space-after': 'never', 55 + '@stylistic/declaration-bang-space-before': null, 56 + '@stylistic/declaration-block-semicolon-newline-after': null, 57 + '@stylistic/declaration-block-semicolon-newline-before': null, 58 + '@stylistic/declaration-block-semicolon-space-after': null, 59 + '@stylistic/declaration-block-semicolon-space-before': 'never', 60 + '@stylistic/declaration-block-trailing-semicolon': null, 61 + '@stylistic/declaration-colon-newline-after': null, 62 + '@stylistic/declaration-colon-space-after': null, 63 + '@stylistic/declaration-colon-space-before': 'never', 64 + '@stylistic/function-comma-newline-after': null, 65 + '@stylistic/function-comma-newline-before': null, 66 + '@stylistic/function-comma-space-after': null, 67 + '@stylistic/function-comma-space-before': null, 68 + '@stylistic/function-max-empty-lines': 0, 69 + '@stylistic/function-parentheses-newline-inside': 'never-multi-line', 70 + '@stylistic/function-parentheses-space-inside': null, 71 + '@stylistic/function-whitespace-after': null, 72 + '@stylistic/indentation': 2, 73 + '@stylistic/linebreaks': null, 74 + '@stylistic/max-empty-lines': 1, 75 + '@stylistic/max-line-length': null, 76 + '@stylistic/media-feature-colon-space-after': null, 77 + '@stylistic/media-feature-colon-space-before': 'never', 78 + '@stylistic/media-feature-name-case': null, 79 + '@stylistic/media-feature-parentheses-space-inside': null, 80 + '@stylistic/media-feature-range-operator-space-after': 'always', 81 + '@stylistic/media-feature-range-operator-space-before': 'always', 82 + '@stylistic/media-query-list-comma-newline-after': null, 83 + '@stylistic/media-query-list-comma-newline-before': null, 84 + '@stylistic/media-query-list-comma-space-after': null, 85 + '@stylistic/media-query-list-comma-space-before': null, 86 + '@stylistic/named-grid-areas-alignment': null, 87 + '@stylistic/no-empty-first-line': null, 88 + '@stylistic/no-eol-whitespace': true, 89 + '@stylistic/no-extra-semicolons': true, 90 + '@stylistic/no-missing-end-of-source-newline': null, 91 + '@stylistic/number-leading-zero': null, 92 + '@stylistic/number-no-trailing-zeros': null, 93 + '@stylistic/property-case': 'lower', 94 + '@stylistic/selector-attribute-brackets-space-inside': null, 95 + '@stylistic/selector-attribute-operator-space-after': null, 96 + '@stylistic/selector-attribute-operator-space-before': null, 97 + '@stylistic/selector-combinator-space-after': null, 98 + '@stylistic/selector-combinator-space-before': null, 99 + '@stylistic/selector-descendant-combinator-no-non-space': null, 100 + '@stylistic/selector-list-comma-newline-after': null, 101 + '@stylistic/selector-list-comma-newline-before': null, 102 + '@stylistic/selector-list-comma-space-after': 'always-single-line', 103 + '@stylistic/selector-list-comma-space-before': 'never-single-line', 104 + '@stylistic/selector-max-empty-lines': 0, 105 + '@stylistic/selector-pseudo-class-case': 'lower', 106 + '@stylistic/selector-pseudo-class-parentheses-space-inside': 'never', 107 + '@stylistic/selector-pseudo-element-case': 'lower', 108 + '@stylistic/string-quotes': 'double', 109 + '@stylistic/unicode-bom': null, 110 + '@stylistic/unit-case': 'lower', 111 + '@stylistic/value-list-comma-newline-after': null, 112 + '@stylistic/value-list-comma-newline-before': null, 113 + '@stylistic/value-list-comma-space-after': null, 114 + '@stylistic/value-list-comma-space-before': null, 115 + '@stylistic/value-list-max-empty-lines': 0, 116 + 'alpha-value-notation': null, 117 + 'annotation-no-unknown': true, 118 + 'at-rule-allowed-list': null, 119 + 'at-rule-disallowed-list': null, 120 + 'at-rule-empty-line-before': null, 121 + 'at-rule-no-unknown': [true, {ignoreAtRules: ['tailwind']}], 122 + 'at-rule-no-vendor-prefix': true, 123 + 'at-rule-property-required-list': null, 124 + 'block-no-empty': true, 125 + 'color-function-notation': null, 126 + 'color-hex-alpha': null, 127 + 'color-hex-length': null, 128 + 'color-named': null, 129 + 'color-no-hex': null, 130 + 'color-no-invalid-hex': true, 131 + 'comment-empty-line-before': null, 132 + 'comment-no-empty': true, 133 + 'comment-pattern': null, 134 + 'comment-whitespace-inside': null, 135 + 'comment-word-disallowed-list': null, 136 + 'csstools/value-no-unknown-custom-properties': [true, {importFrom: cssVarFiles}], 137 + 'custom-media-pattern': null, 138 + 'custom-property-empty-line-before': null, 139 + 'custom-property-no-missing-var-function': true, 140 + 'custom-property-pattern': null, 141 + 'declaration-block-no-duplicate-custom-properties': true, 142 + 'declaration-block-no-duplicate-properties': [true, {ignore: ['consecutive-duplicates-with-different-values']}], 143 + 'declaration-block-no-redundant-longhand-properties': null, 144 + 'declaration-block-no-shorthand-property-overrides': null, 145 + 'declaration-block-single-line-max-declarations': null, 146 + 'declaration-empty-line-before': null, 147 + 'declaration-no-important': null, 148 + 'declaration-property-max-values': null, 149 + 'declaration-property-unit-allowed-list': null, 150 + 'declaration-property-unit-disallowed-list': {'line-height': ['em']}, 151 + 'declaration-property-value-allowed-list': null, 152 + 'declaration-property-value-disallowed-list': null, 153 + 'declaration-property-value-no-unknown': true, 154 + 'font-family-name-quotes': 'always-where-recommended', 155 + 'font-family-no-duplicate-names': true, 156 + 'font-family-no-missing-generic-family-keyword': true, 157 + 'font-weight-notation': null, 158 + 'function-allowed-list': null, 159 + 'function-calc-no-unspaced-operator': true, 160 + 'function-disallowed-list': null, 161 + 'function-linear-gradient-no-nonstandard-direction': true, 162 + 'function-name-case': 'lower', 163 + 'function-no-unknown': true, 164 + 'function-url-no-scheme-relative': null, 165 + 'function-url-quotes': 'always', 166 + 'function-url-scheme-allowed-list': null, 167 + 'function-url-scheme-disallowed-list': null, 168 + 'hue-degree-notation': null, 169 + 'import-notation': 'string', 170 + 'keyframe-block-no-duplicate-selectors': true, 171 + 'keyframe-declaration-no-important': true, 172 + 'keyframe-selector-notation': null, 173 + 'keyframes-name-pattern': null, 174 + 'length-zero-no-unit': [true, {ignore: ['custom-properties']}, {ignoreFunctions: ['var']}], 175 + 'max-nesting-depth': null, 176 + 'media-feature-name-allowed-list': null, 177 + 'media-feature-name-disallowed-list': null, 178 + 'media-feature-name-no-unknown': true, 179 + 'media-feature-name-no-vendor-prefix': true, 180 + 'media-feature-name-unit-allowed-list': null, 181 + 'media-feature-name-value-allowed-list': null, 182 + 'media-feature-name-value-no-unknown': true, 183 + 'media-feature-range-notation': null, 184 + 'media-query-no-invalid': true, 185 + 'named-grid-areas-no-invalid': true, 186 + 'no-descending-specificity': null, 187 + 'no-duplicate-at-import-rules': true, 188 + 'no-duplicate-selectors': true, 189 + 'no-empty-source': true, 190 + 'no-invalid-double-slash-comments': true, 191 + 'no-invalid-position-at-import-rule': [true, {ignoreAtRules: ['tailwind']}], 192 + 'no-irregular-whitespace': true, 193 + 'no-unknown-animations': null, 194 + 'no-unknown-custom-properties': null, 195 + 'number-max-precision': null, 196 + 'plugin/declaration-block-no-ignored-properties': true, 197 + 'property-allowed-list': null, 198 + 'property-disallowed-list': null, 199 + 'property-no-unknown': true, 200 + 'property-no-vendor-prefix': null, 201 + 'rule-empty-line-before': null, 202 + 'rule-selector-property-disallowed-list': null, 203 + 'scale-unlimited/declaration-strict-value': [['/color$/', 'font-weight'], {ignoreValues: '/^(inherit|transparent|unset|initial|currentcolor|none)$/', ignoreFunctions: false, disableFix: true, expandShorthand: true}], 204 + 'selector-anb-no-unmatchable': true, 205 + 'selector-attribute-name-disallowed-list': null, 206 + 'selector-attribute-operator-allowed-list': null, 207 + 'selector-attribute-operator-disallowed-list': null, 208 + 'selector-attribute-quotes': 'always', 209 + 'selector-class-pattern': null, 210 + 'selector-combinator-allowed-list': null, 211 + 'selector-combinator-disallowed-list': null, 212 + 'selector-disallowed-list': null, 213 + 'selector-id-pattern': null, 214 + 'selector-max-attribute': null, 215 + 'selector-max-class': null, 216 + 'selector-max-combinators': null, 217 + 'selector-max-compound-selectors': null, 218 + 'selector-max-id': null, 219 + 'selector-max-pseudo-class': null, 220 + 'selector-max-specificity': null, 221 + 'selector-max-type': null, 222 + 'selector-max-universal': null, 223 + 'selector-nested-pattern': null, 224 + 'selector-no-qualifying-type': null, 225 + 'selector-no-vendor-prefix': true, 226 + 'selector-not-notation': null, 227 + 'selector-pseudo-class-allowed-list': null, 228 + 'selector-pseudo-class-disallowed-list': null, 229 + 'selector-pseudo-class-no-unknown': true, 230 + 'selector-pseudo-element-allowed-list': null, 231 + 'selector-pseudo-element-colon-notation': 'double', 232 + 'selector-pseudo-element-disallowed-list': null, 233 + 'selector-pseudo-element-no-unknown': true, 234 + 'selector-type-case': 'lower', 235 + 'selector-type-no-unknown': [true, {ignore: ['custom-elements']}], 236 + 'shorthand-property-no-redundant-values': true, 237 + 'string-no-newline': true, 238 + 'time-min-milliseconds': null, 239 + 'unit-allowed-list': null, 240 + 'unit-disallowed-list': null, 241 + 'unit-no-unknown': true, 242 + 'value-keyword-case': null, 243 + 'value-no-vendor-prefix': [true, {ignoreValues: ['box', 'inline-box']}], 244 + }, 245 + };