linter-bundle 5.1.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.linter-bundle.js +2 -0
- package/CHANGELOG.md +83 -9
- package/README.md +5 -3
- package/TODO.md +5 -0
- package/eslint/index.cjs +10 -4
- package/eslint/overrides-javascript.cjs +7 -1
- package/eslint/overrides-jest.cjs +1 -0
- package/eslint/overrides-jsdoc.cjs +1 -0
- package/eslint/rules/no-global-undefined-check.js +5 -3
- package/eslint/rules/no-unnecessary-typeof.js +26 -24
- package/eslint/rules/restricted-filenames.js +3 -1
- package/helper/ensure-type.cjs +2 -2
- package/helper/get-git-files.js +1 -1
- package/helper/get-outdated-dependencies.js +1 -1
- package/helper/get-outdated-overrides.js +1 -1
- package/helper/get-stylelint-path.js +1 -1
- package/helper/is-npm-or-yarn.js +1 -1
- package/helper/linter-bundle-config.js +22 -7
- package/helper/run-process.js +3 -3
- package/lint.js +31 -35
- package/package.json +27 -26
- package/stylelint/index.cjs +90 -5
- package/stylelint/plugins/stylelint-15.11.0-stylistic/LICENSE +20 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/LICENSE +9 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/index.cjs +122 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/reference/selectors.cjs +327 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/README.md +110 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/index.cjs +66 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/README.md +117 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/index.cjs +55 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/README.md +63 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/index.cjs +87 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/README.md +50 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/index.cjs +70 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/atRuleNameSpaceChecker.cjs +56 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/README.md +238 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/index.cjs +130 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/README.md +196 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/index.cjs +154 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/README.md +93 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/index.cjs +133 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/README.md +174 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/index.cjs +111 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/README.md +138 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/index.cjs +184 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/README.md +191 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/index.cjs +118 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/README.md +218 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/index.cjs +141 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/README.md +58 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/index.cjs +95 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/README.md +72 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.cjs +95 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/README.md +67 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/index.cjs +96 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/README.md +141 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/index.cjs +109 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/README.md +120 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/index.cjs +75 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/README.md +147 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/index.cjs +97 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/README.md +130 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/index.cjs +106 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/README.md +108 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/index.cjs +147 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/README.md +78 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/index.cjs +99 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/README.md +111 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/index.cjs +75 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/README.md +72 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/index.cjs +74 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declarationBangSpaceChecker.cjs +63 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declarationColonSpaceChecker.cjs +58 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/findMediaOperator.cjs +32 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/README.md +113 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/index.cjs +61 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/README.md +129 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/index.cjs +61 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/README.md +144 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/index.cjs +62 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/README.md +144 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/index.cjs +62 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/README.md +78 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/index.cjs +115 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/README.md +144 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/index.cjs +282 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/README.md +140 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/index.cjs +182 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/README.md +80 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/index.cjs +198 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/functionCommaSpaceChecker.cjs +125 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/functionCommaSpaceFix.cjs +51 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/README.md +339 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/index.cjs +743 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/README.md +21 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/index.cjs +132 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/README.md +116 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/index.cjs +225 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/README.md +151 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/index.cjs +200 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/README.md +72 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/index.cjs +91 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/README.md +72 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/index.cjs +91 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/README.md +108 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/index.cjs +93 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/README.md +62 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/index.cjs +112 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/README.md +72 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/index.cjs +109 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/README.md +72 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/index.cjs +109 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/README.md +113 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/index.cjs +97 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/README.md +111 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/index.cjs +49 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/README.md +136 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/index.cjs +93 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/README.md +136 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/index.cjs +93 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/mediaFeatureColonSpaceChecker.cjs +54 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/mediaQueryListCommaWhitespaceChecker.cjs +73 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/README.md +34 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/index.cjs +63 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/README.md +79 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/index.cjs +302 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/README.md +78 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/index.cjs +246 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/README.md +34 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/index.cjs +62 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/README.md +74 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/index.cjs +197 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/README.md +40 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/index.cjs +139 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/README.md +192 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/index.cjs +95 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/README.md +112 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/index.cjs +214 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/README.md +162 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/index.cjs +109 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/README.md +162 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/index.cjs +88 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/README.md +78 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/index.cjs +67 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/README.md +78 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/index.cjs +67 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/README.md +40 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/index.cjs +95 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/README.md +120 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/index.cjs +126 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/README.md +112 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/index.cjs +101 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/README.md +110 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/index.cjs +92 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/README.md +110 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/index.cjs +92 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/README.md +103 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/index.cjs +74 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/README.md +108 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/index.cjs +104 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/README.md +62 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/index.cjs +162 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/README.md +128 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/index.cjs +90 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorAttributeOperatorSpaceChecker.cjs +95 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorCombinatorSpaceChecker.cjs +113 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorListCommaWhitespaceChecker.cjs +64 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/README.md +130 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/index.cjs +256 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/README.md +41 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/index.cjs +67 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/README.md +126 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/index.cjs +133 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/README.md +102 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/index.cjs +107 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/README.md +100 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/index.cjs +49 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/README.md +136 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/index.cjs +94 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/README.md +136 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/index.cjs +94 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/README.md +121 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/index.cjs +68 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/valueListCommaWhitespaceChecker.cjs +74 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/LICENSE +13 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/index.cjs +216 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/addEmptyLineAfter.cjs +30 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/hasEmptyBlock.cjs +14 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/nextNonCommentNode.cjs +21 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/removeEmptyLinesAfter.cjs +16 -0
- package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/whitespaceChecker.cjs +361 -0
- package/stylelint/plugins/stylelint-selector-no-empty.js +8 -8
- package/stylelint/plugins/stylelint-selector-tag-no-without-class.js +4 -4
- package/stylelint/plugins/stylelint-high-performance-animation.js +0 -276
- package/stylelint/plugins/stylelint-stylistic.js +0 -188
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# media-query-list-comma-newline-after
|
|
2
|
+
|
|
3
|
+
Require a newline or disallow whitespace after the commas of media query lists.
|
|
4
|
+
|
|
5
|
+
<!-- prettier-ignore -->
|
|
6
|
+
```css
|
|
7
|
+
@media screen and (color),
|
|
8
|
+
projection {} /* ↑ */
|
|
9
|
+
/** ↑
|
|
10
|
+
* These commas */
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix all of the problems reported by this rule.
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
`string`: `"always"|"always-multi-line"|"never-multi-line"`
|
|
18
|
+
|
|
19
|
+
### `"always"`
|
|
20
|
+
|
|
21
|
+
There _must always_ be a newline after the commas.
|
|
22
|
+
|
|
23
|
+
The following patterns are considered problems:
|
|
24
|
+
|
|
25
|
+
<!-- prettier-ignore -->
|
|
26
|
+
```css
|
|
27
|
+
@media screen and (color), projection and (color) {}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
<!-- prettier-ignore -->
|
|
31
|
+
```css
|
|
32
|
+
@media screen and (color)
|
|
33
|
+
, projection and (color) {}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The following patterns are _not_ considered problems:
|
|
37
|
+
|
|
38
|
+
<!-- prettier-ignore -->
|
|
39
|
+
```css
|
|
40
|
+
@media screen and (color),
|
|
41
|
+
projection and (color) {}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
<!-- prettier-ignore -->
|
|
45
|
+
```css
|
|
46
|
+
@media screen and (color)
|
|
47
|
+
,
|
|
48
|
+
projection and (color) {}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `"always-multi-line"`
|
|
52
|
+
|
|
53
|
+
There _must always_ be a newline after the commas in multi-line media query lists.
|
|
54
|
+
|
|
55
|
+
The following patterns are considered problems:
|
|
56
|
+
|
|
57
|
+
<!-- prettier-ignore -->
|
|
58
|
+
```css
|
|
59
|
+
@media screen and (color)
|
|
60
|
+
, projection and (color) {}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The following patterns are _not_ considered problems:
|
|
64
|
+
|
|
65
|
+
<!-- prettier-ignore -->
|
|
66
|
+
```css
|
|
67
|
+
@media screen and (color), projection and (color) {}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
<!-- prettier-ignore -->
|
|
71
|
+
```css
|
|
72
|
+
@media screen and (color),
|
|
73
|
+
projection and (color) {}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
<!-- prettier-ignore -->
|
|
77
|
+
```css
|
|
78
|
+
@media screen and (color)
|
|
79
|
+
,
|
|
80
|
+
projection and (color) {}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### `"never-multi-line"`
|
|
84
|
+
|
|
85
|
+
There _must never_ be whitespace after the commas in multi-line media query lists.
|
|
86
|
+
|
|
87
|
+
The following patterns are considered problems:
|
|
88
|
+
|
|
89
|
+
<!-- prettier-ignore -->
|
|
90
|
+
```css
|
|
91
|
+
@media screen and (color),
|
|
92
|
+
projection and (color) {}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
<!-- prettier-ignore -->
|
|
96
|
+
```css
|
|
97
|
+
@media screen and (color)
|
|
98
|
+
,
|
|
99
|
+
projection and (color) {}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The following patterns are _not_ considered problems:
|
|
103
|
+
|
|
104
|
+
<!-- prettier-ignore -->
|
|
105
|
+
```css
|
|
106
|
+
@media screen and (color), projection and (color) {}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
<!-- prettier-ignore -->
|
|
110
|
+
```css
|
|
111
|
+
@media screen and (color)
|
|
112
|
+
,projection and (color) {}
|
|
113
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/* eslint-disable -- We want to keep as much of the original code as possible */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
|
|
4
|
+
const stylelint = require('stylelint');
|
|
5
|
+
const atRuleParamIndex = require('stylelint/lib/utils/atRuleParamIndex.cjs');
|
|
6
|
+
const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
|
|
7
|
+
const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
|
|
8
|
+
|
|
9
|
+
const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
|
|
10
|
+
const mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker.cjs');
|
|
11
|
+
|
|
12
|
+
const ruleName = 'plugin/media-query-list-comma-newline-after';
|
|
13
|
+
|
|
14
|
+
const messages = ruleMessages(ruleName, {
|
|
15
|
+
expectedAfter: () => 'Expected newline after ","',
|
|
16
|
+
expectedAfterMultiLine: () => 'Expected newline after "," in a multi-line list',
|
|
17
|
+
rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line list'
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const meta = {
|
|
21
|
+
url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/README.md',
|
|
22
|
+
fixable: true
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/** @type {import('stylelint').Rule} */
|
|
26
|
+
const rule = (primary, _secondaryOptions, context) => {
|
|
27
|
+
const checker = whitespaceChecker('newline', primary, messages);
|
|
28
|
+
|
|
29
|
+
return (root, result) => {
|
|
30
|
+
const validOptions = validateOptions(result, ruleName, {
|
|
31
|
+
actual: primary,
|
|
32
|
+
possible: ['always', 'always-multi-line', 'never-multi-line']
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
if (!validOptions) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Only check for the newline after the comma, while allowing
|
|
40
|
+
// arbitrary indentation after the newline
|
|
41
|
+
/** @type {Map<import('postcss').AtRule, number[]> | undefined} */
|
|
42
|
+
let fixData;
|
|
43
|
+
|
|
44
|
+
mediaQueryListCommaWhitespaceChecker({
|
|
45
|
+
root,
|
|
46
|
+
result,
|
|
47
|
+
locationChecker: checker.afterOneOnly,
|
|
48
|
+
checkedRuleName: ruleName,
|
|
49
|
+
allowTrailingComments: primary.startsWith('always'),
|
|
50
|
+
fix: context.fix ?
|
|
51
|
+
(atRule, index) => {
|
|
52
|
+
const parameterCommaIndex = index - atRuleParamIndex(atRule);
|
|
53
|
+
|
|
54
|
+
fixData ||= new Map();
|
|
55
|
+
const commaIndices = fixData.get(atRule) || [];
|
|
56
|
+
|
|
57
|
+
commaIndices.push(parameterCommaIndex);
|
|
58
|
+
fixData.set(atRule, commaIndices);
|
|
59
|
+
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
: null
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
if (fixData) {
|
|
66
|
+
for (const [atRule, commaIndices] of fixData.entries()) {
|
|
67
|
+
let parameters = atRule.raws.params ? atRule.raws.params.raw : atRule.params;
|
|
68
|
+
|
|
69
|
+
for (const index of commaIndices.sort((a, b) => b - a)) {
|
|
70
|
+
const beforeComma = parameters.slice(0, index + 1);
|
|
71
|
+
const afterComma = parameters.slice(index + 1);
|
|
72
|
+
|
|
73
|
+
if (primary.startsWith('always')) {
|
|
74
|
+
parameters = (/^\s*\n/).test(afterComma) ?
|
|
75
|
+
beforeComma + afterComma.replace(/^[^\S\n\r]*/, '')
|
|
76
|
+
: beforeComma + context.newline + afterComma;
|
|
77
|
+
}
|
|
78
|
+
else if (primary.startsWith('never')) {
|
|
79
|
+
parameters = beforeComma + afterComma.replace(/^\s*/, '');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (atRule.raws.params) {
|
|
84
|
+
atRule.raws.params.raw = parameters;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
atRule.params = parameters;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
rule.ruleName = ruleName;
|
|
95
|
+
rule.messages = messages;
|
|
96
|
+
rule.meta = meta;
|
|
97
|
+
module.exports = stylelint.createPlugin(ruleName, rule);
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# media-query-list-comma-newline-before
|
|
2
|
+
|
|
3
|
+
Require a newline or disallow whitespace before the commas of media query lists.
|
|
4
|
+
|
|
5
|
+
<!-- prettier-ignore -->
|
|
6
|
+
```css
|
|
7
|
+
@media screen and (color)
|
|
8
|
+
, projection and (color) {}
|
|
9
|
+
/** ↑
|
|
10
|
+
* This comma */
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
`string`: `"always"|"always-multi-line"|"never-multi-line"`
|
|
16
|
+
|
|
17
|
+
### `"always"`
|
|
18
|
+
|
|
19
|
+
There _must always_ be a newline before the commas.
|
|
20
|
+
|
|
21
|
+
The following patterns are considered problems:
|
|
22
|
+
|
|
23
|
+
<!-- prettier-ignore -->
|
|
24
|
+
```css
|
|
25
|
+
@media screen and (color), projection and (color) {}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
<!-- prettier-ignore -->
|
|
29
|
+
```css
|
|
30
|
+
@media screen and (color),
|
|
31
|
+
projection and (color) {}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The following patterns are _not_ considered problems:
|
|
35
|
+
|
|
36
|
+
<!-- prettier-ignore -->
|
|
37
|
+
```css
|
|
38
|
+
@media screen and (color)
|
|
39
|
+
,projection and (color) {}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
<!-- prettier-ignore -->
|
|
43
|
+
```css
|
|
44
|
+
@media screen and (color)
|
|
45
|
+
,
|
|
46
|
+
projection and (color) {}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### `"always-multi-line"`
|
|
50
|
+
|
|
51
|
+
There _must always_ be a newline before the commas in multi-line media query lists.
|
|
52
|
+
|
|
53
|
+
The following patterns are considered problems:
|
|
54
|
+
|
|
55
|
+
<!-- prettier-ignore -->
|
|
56
|
+
```css
|
|
57
|
+
@media screen and (color),
|
|
58
|
+
projection and (color) {}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The following patterns are _not_ considered problems:
|
|
62
|
+
|
|
63
|
+
<!-- prettier-ignore -->
|
|
64
|
+
```css
|
|
65
|
+
@media screen and (color), projection and (color) {}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
<!-- prettier-ignore -->
|
|
69
|
+
```css
|
|
70
|
+
@media screen and (color)
|
|
71
|
+
,projection and (color) {}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
<!-- prettier-ignore -->
|
|
75
|
+
```css
|
|
76
|
+
@media screen and (color)
|
|
77
|
+
,
|
|
78
|
+
projection and (color) {}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### `"never-multi-line"`
|
|
82
|
+
|
|
83
|
+
There _must never_ be whitespace before the commas in multi-line media query lists.
|
|
84
|
+
|
|
85
|
+
The following patterns are considered problems:
|
|
86
|
+
|
|
87
|
+
<!-- prettier-ignore -->
|
|
88
|
+
```css
|
|
89
|
+
@media screen and (color)
|
|
90
|
+
,projection and (color) {}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
<!-- prettier-ignore -->
|
|
94
|
+
```css
|
|
95
|
+
@media screen and (color)
|
|
96
|
+
,
|
|
97
|
+
projection and (color) {}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
The following patterns are _not_ considered problems:
|
|
101
|
+
|
|
102
|
+
<!-- prettier-ignore -->
|
|
103
|
+
```css
|
|
104
|
+
@media screen and (color), projection and (color) {}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
<!-- prettier-ignore -->
|
|
108
|
+
```css
|
|
109
|
+
@media screen and (color),
|
|
110
|
+
projection and (color) {}
|
|
111
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* eslint-disable -- We want to keep as much of the original code as possible */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
|
|
4
|
+
const stylelint = require('stylelint');
|
|
5
|
+
const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
|
|
6
|
+
const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
|
|
7
|
+
|
|
8
|
+
const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
|
|
9
|
+
const mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker.cjs');
|
|
10
|
+
|
|
11
|
+
const ruleName = 'plugin/media-query-list-comma-newline-before';
|
|
12
|
+
|
|
13
|
+
const messages = ruleMessages(ruleName, {
|
|
14
|
+
expectedBefore: () => 'Expected newline before ","',
|
|
15
|
+
expectedBeforeMultiLine: () => 'Expected newline before "," in a multi-line list',
|
|
16
|
+
rejectedBeforeMultiLine: () => 'Unexpected whitespace before "," in a multi-line list'
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const meta = {
|
|
20
|
+
url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/README.md'
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/** @type {import('stylelint').Rule} */
|
|
24
|
+
const rule = (primary) => {
|
|
25
|
+
const checker = whitespaceChecker('newline', primary, messages);
|
|
26
|
+
|
|
27
|
+
return (root, result) => {
|
|
28
|
+
const validOptions = validateOptions(result, ruleName, {
|
|
29
|
+
actual: primary,
|
|
30
|
+
possible: ['always', 'always-multi-line', 'never-multi-line']
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
if (!validOptions) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
mediaQueryListCommaWhitespaceChecker({
|
|
38
|
+
root,
|
|
39
|
+
result,
|
|
40
|
+
locationChecker: checker.beforeAllowingIndentation,
|
|
41
|
+
checkedRuleName: ruleName
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
rule.ruleName = ruleName;
|
|
47
|
+
rule.messages = messages;
|
|
48
|
+
rule.meta = meta;
|
|
49
|
+
module.exports = stylelint.createPlugin(ruleName, rule);
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# media-query-list-comma-space-after
|
|
2
|
+
|
|
3
|
+
Require a single space or disallow whitespace after the commas of media query lists.
|
|
4
|
+
|
|
5
|
+
<!-- prettier-ignore -->
|
|
6
|
+
```css
|
|
7
|
+
@media screen and (color), projection and (color) {}
|
|
8
|
+
/** ↑
|
|
9
|
+
* The space after this comma */
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix all of the problems reported by this rule.
|
|
13
|
+
|
|
14
|
+
## Options
|
|
15
|
+
|
|
16
|
+
`string`: `"always"|"never"|"always-single-line"|"never-single-line"`
|
|
17
|
+
|
|
18
|
+
### `"always"`
|
|
19
|
+
|
|
20
|
+
There _must always_ be a single space after the commas.
|
|
21
|
+
|
|
22
|
+
The following patterns are considered problems:
|
|
23
|
+
|
|
24
|
+
<!-- prettier-ignore -->
|
|
25
|
+
```css
|
|
26
|
+
@media screen and (color),projection and (color) {}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
<!-- prettier-ignore -->
|
|
30
|
+
```css
|
|
31
|
+
@media screen and (color)
|
|
32
|
+
,projection and (color) {}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The following patterns are _not_ considered problems:
|
|
36
|
+
|
|
37
|
+
<!-- prettier-ignore -->
|
|
38
|
+
```css
|
|
39
|
+
@media screen and (color), projection and (color) {}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
<!-- prettier-ignore -->
|
|
43
|
+
```css
|
|
44
|
+
@media screen and (color)
|
|
45
|
+
, projection and (color) {}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### `"never"`
|
|
49
|
+
|
|
50
|
+
There _must never_ be whitespace after the commas.
|
|
51
|
+
|
|
52
|
+
The following patterns are considered problems:
|
|
53
|
+
|
|
54
|
+
<!-- prettier-ignore -->
|
|
55
|
+
```css
|
|
56
|
+
@media screen and (color), projection and (color) {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
<!-- prettier-ignore -->
|
|
60
|
+
```css
|
|
61
|
+
@media screen and (color)
|
|
62
|
+
, projection and (color) {}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The following patterns are _not_ considered problems:
|
|
66
|
+
|
|
67
|
+
<!-- prettier-ignore -->
|
|
68
|
+
```css
|
|
69
|
+
@media screen and (color),projection and (color) {}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
<!-- prettier-ignore -->
|
|
73
|
+
```css
|
|
74
|
+
@media screen and (color)
|
|
75
|
+
,projection and (color) {}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### `"always-single-line"`
|
|
79
|
+
|
|
80
|
+
There _must always_ be a single space after the commas in single-line media query lists.
|
|
81
|
+
|
|
82
|
+
The following patterns are considered problems:
|
|
83
|
+
|
|
84
|
+
<!-- prettier-ignore -->
|
|
85
|
+
```css
|
|
86
|
+
@media screen and (color),projection and (color) {}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The following patterns are _not_ considered problems:
|
|
90
|
+
|
|
91
|
+
<!-- prettier-ignore -->
|
|
92
|
+
```css
|
|
93
|
+
@media screen and (color), projection and (color) {}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
<!-- prettier-ignore -->
|
|
97
|
+
```css
|
|
98
|
+
@media screen and (color)
|
|
99
|
+
, projection and (color) {}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
<!-- prettier-ignore -->
|
|
103
|
+
```css
|
|
104
|
+
@media screen and (color)
|
|
105
|
+
,projection and (color) {}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### `"never-single-line"`
|
|
109
|
+
|
|
110
|
+
There _must never_ be whitespace after the commas in single-line media query lists.
|
|
111
|
+
|
|
112
|
+
The following patterns are considered problems:
|
|
113
|
+
|
|
114
|
+
<!-- prettier-ignore -->
|
|
115
|
+
```css
|
|
116
|
+
@media screen and (color), projection and (color) {}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The following patterns are _not_ considered problems:
|
|
120
|
+
|
|
121
|
+
<!-- prettier-ignore -->
|
|
122
|
+
```css
|
|
123
|
+
@media screen and (color),projection and (color) {}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
<!-- prettier-ignore -->
|
|
127
|
+
```css
|
|
128
|
+
@media screen and (color)
|
|
129
|
+
,projection and (color) {}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
<!-- prettier-ignore -->
|
|
133
|
+
```css
|
|
134
|
+
@media screen and (color)
|
|
135
|
+
, projection and (color) {}
|
|
136
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/* eslint-disable -- We want to keep as much of the original code as possible */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
|
|
4
|
+
const stylelint = require('stylelint');
|
|
5
|
+
const atRuleParamIndex = require('stylelint/lib/utils/atRuleParamIndex.cjs');
|
|
6
|
+
const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
|
|
7
|
+
const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
|
|
8
|
+
|
|
9
|
+
const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
|
|
10
|
+
const mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker.cjs');
|
|
11
|
+
|
|
12
|
+
const ruleName = 'plugin/media-query-list-comma-space-after';
|
|
13
|
+
|
|
14
|
+
const messages = ruleMessages(ruleName, {
|
|
15
|
+
expectedAfter: () => 'Expected single space after ","',
|
|
16
|
+
rejectedAfter: () => 'Unexpected whitespace after ","',
|
|
17
|
+
expectedAfterSingleLine: () => 'Expected single space after "," in a single-line list',
|
|
18
|
+
rejectedAfterSingleLine: () => 'Unexpected whitespace after "," in a single-line list'
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const meta = {
|
|
22
|
+
url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/README.md',
|
|
23
|
+
fixable: true
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** @type {import('stylelint').Rule} */
|
|
27
|
+
const rule = (primary, _secondaryOptions, context) => {
|
|
28
|
+
const checker = whitespaceChecker('space', primary, messages);
|
|
29
|
+
|
|
30
|
+
return (root, result) => {
|
|
31
|
+
const validOptions = validateOptions(result, ruleName, {
|
|
32
|
+
actual: primary,
|
|
33
|
+
possible: ['always', 'never', 'always-single-line', 'never-single-line']
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
if (!validOptions) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** @type {Map<import('postcss').AtRule, number[]> | undefined} */
|
|
41
|
+
let fixData;
|
|
42
|
+
|
|
43
|
+
mediaQueryListCommaWhitespaceChecker({
|
|
44
|
+
root,
|
|
45
|
+
result,
|
|
46
|
+
locationChecker: checker.after,
|
|
47
|
+
checkedRuleName: ruleName,
|
|
48
|
+
fix: context.fix ?
|
|
49
|
+
(atRule, index) => {
|
|
50
|
+
const parameterCommaIndex = index - atRuleParamIndex(atRule);
|
|
51
|
+
|
|
52
|
+
fixData ||= new Map();
|
|
53
|
+
const commaIndices = fixData.get(atRule) || [];
|
|
54
|
+
|
|
55
|
+
commaIndices.push(parameterCommaIndex);
|
|
56
|
+
fixData.set(atRule, commaIndices);
|
|
57
|
+
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
: null
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
if (fixData) {
|
|
64
|
+
for (const [atRule, commaIndices] of fixData.entries()) {
|
|
65
|
+
let parameters = atRule.raws.params ? atRule.raws.params.raw : atRule.params;
|
|
66
|
+
|
|
67
|
+
for (const index of commaIndices.sort((a, b) => b - a)) {
|
|
68
|
+
const beforeComma = parameters.slice(0, index + 1);
|
|
69
|
+
const afterComma = parameters.slice(index + 1);
|
|
70
|
+
|
|
71
|
+
if (primary.startsWith('always')) {
|
|
72
|
+
parameters = beforeComma + afterComma.replace(/^\s*/, ' ');
|
|
73
|
+
}
|
|
74
|
+
else if (primary.startsWith('never')) {
|
|
75
|
+
parameters = beforeComma + afterComma.replace(/^\s*/, '');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (atRule.raws.params) {
|
|
80
|
+
atRule.raws.params.raw = parameters;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
atRule.params = parameters;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
rule.ruleName = ruleName;
|
|
91
|
+
rule.messages = messages;
|
|
92
|
+
rule.meta = meta;
|
|
93
|
+
module.exports = stylelint.createPlugin(ruleName, rule);
|