linter-bundle 6.3.0 → 7.0.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.
Files changed (143) hide show
  1. package/.linter-bundle.js +27 -17
  2. package/.linter-bundle.schema.json +45 -0
  3. package/CHANGELOG.md +125 -3
  4. package/README.md +51 -63
  5. package/eslint/gatsby.mjs +95 -0
  6. package/eslint/index.mjs +1127 -0
  7. package/eslint/javascript-lazy.mjs +24 -0
  8. package/eslint/javascript.mjs +126 -0
  9. package/eslint/jest.mjs +172 -0
  10. package/eslint/jsdoc.mjs +103 -0
  11. package/eslint/react.mjs +232 -0
  12. package/eslint/rules/no-unnecessary-typeof.md +1 -1
  13. package/eslint/rules/{no-unnecessary-typeof.js → no-unnecessary-typeof.mjs} +9 -11
  14. package/eslint/rules/restricted-filenames.md +4 -4
  15. package/eslint/rules/{restricted-filenames.js → restricted-filenames.mjs} +7 -6
  16. package/eslint/storybook.mjs +42 -0
  17. package/eslint/type-declarations.mjs +49 -0
  18. package/eslint/{overrides-worker.cjs → worker.mjs} +12 -14
  19. package/eslint.mjs +5 -0
  20. package/files/index.js +3 -3
  21. package/helper/{ensure-type.cjs → ensure-type.mjs} +1 -5
  22. package/helper/get-outdated-dependencies.js +4 -4
  23. package/helper/get-outdated-overrides.js +2 -2
  24. package/helper/get-stylelint-path.js +4 -3
  25. package/helper/is-npm-or-yarn.js +2 -2
  26. package/helper/linter-bundle-config.js +9 -14
  27. package/helper/run-process.js +1 -1
  28. package/lint.js +21 -16
  29. package/package.json +31 -29
  30. package/stylelint/index.mjs +1111 -0
  31. package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/{index.cjs → index.mjs} +1 -1
  32. package/stylelint/plugins/stylelint-15.11.0-stylistic/reference/{selectors.cjs → selectors.mjs} +15 -31
  33. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/{index.cjs → index.mjs} +6 -12
  34. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/{index.cjs → index.mjs} +11 -13
  35. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/{index.cjs → index.mjs} +18 -22
  36. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/{index.cjs → index.mjs} +10 -9
  37. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{atRuleNameSpaceChecker.cjs → atRuleNameSpaceChecker.mjs} +4 -3
  38. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/{index.cjs → index.mjs} +16 -30
  39. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/{index.cjs → index.mjs} +13 -35
  40. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/{index.cjs → index.mjs} +11 -40
  41. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/{index.cjs → index.mjs} +10 -27
  42. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/{index.cjs → index.mjs} +14 -65
  43. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/{index.cjs → index.mjs} +13 -30
  44. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/{index.cjs → index.mjs} +14 -27
  45. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/{index.cjs → index.mjs} +10 -16
  46. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.mjs +93 -0
  47. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/{index.cjs → index.mjs} +11 -12
  48. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/{index.cjs → index.mjs} +11 -29
  49. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/{index.cjs → index.mjs} +9 -8
  50. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/{index.cjs → index.mjs} +10 -23
  51. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/{index.cjs → index.mjs} +11 -36
  52. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/{index.cjs → index.mjs} +9 -27
  53. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/{index.cjs → index.mjs} +9 -25
  54. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/{index.cjs → index.mjs} +8 -9
  55. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/{index.cjs → index.mjs} +8 -9
  56. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{declarationBangSpaceChecker.cjs → declarationBangSpaceChecker.mjs} +5 -4
  57. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{declarationColonSpaceChecker.cjs → declarationColonSpaceChecker.mjs} +5 -4
  58. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{findMediaOperator.cjs → findMediaOperator.mjs} +2 -2
  59. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/{index.cjs → index.mjs} +8 -9
  60. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/{index.cjs → index.mjs} +8 -9
  61. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/{index.cjs → index.mjs} +8 -9
  62. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/{index.cjs → index.mjs} +8 -9
  63. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/{index.cjs → index.mjs} +19 -39
  64. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/{index.cjs → index.mjs} +19 -54
  65. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/{index.cjs → index.mjs} +21 -68
  66. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/{index.cjs → index.mjs} +16 -31
  67. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{functionCommaSpaceChecker.cjs → functionCommaSpaceChecker.mjs} +8 -7
  68. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{functionCommaSpaceFix.cjs → functionCommaSpaceFix.mjs} +1 -1
  69. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/{index.cjs → index.mjs} +39 -64
  70. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/{index.cjs → index.mjs} +15 -44
  71. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/{index.cjs → index.mjs} +10 -49
  72. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/{index.cjs → index.mjs} +10 -9
  73. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/{index.cjs → index.mjs} +8 -9
  74. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/{index.cjs → index.mjs} +8 -9
  75. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/{index.cjs → index.mjs} +9 -16
  76. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/{index.cjs → index.mjs} +8 -21
  77. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/{index.cjs → index.mjs} +10 -11
  78. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/{index.cjs → index.mjs} +10 -11
  79. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/{index.cjs → index.mjs} +8 -9
  80. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/{index.cjs → index.mjs} +6 -6
  81. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/{index.cjs → index.mjs} +8 -9
  82. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/{index.cjs → index.mjs} +8 -9
  83. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{mediaFeatureColonSpaceChecker.cjs → mediaFeatureColonSpaceChecker.mjs} +5 -4
  84. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{mediaQueryListCommaWhitespaceChecker.cjs → mediaQueryListCommaWhitespaceChecker.mjs} +6 -5
  85. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/{index.cjs → index.mjs} +6 -20
  86. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/{index.cjs → index.mjs} +13 -16
  87. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/{index.cjs → index.mjs} +10 -33
  88. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/{index.cjs → index.mjs} +7 -13
  89. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/{index.cjs → index.mjs} +13 -31
  90. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/{index.cjs → index.mjs} +9 -18
  91. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/{index.cjs → index.mjs} +10 -16
  92. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/{index.cjs → index.mjs} +9 -36
  93. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/{index.cjs → index.mjs} +7 -8
  94. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/{index.cjs → index.mjs} +7 -8
  95. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/{index.cjs → index.mjs} +7 -8
  96. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/{index.cjs → index.mjs} +7 -8
  97. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/{index.cjs → index.mjs} +9 -20
  98. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/{index.cjs → index.mjs} +9 -14
  99. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/{index.cjs → index.mjs} +7 -8
  100. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/{index.cjs → index.mjs} +7 -8
  101. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/{index.cjs → index.mjs} +7 -8
  102. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/{index.cjs → index.mjs} +10 -21
  103. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/{index.cjs → index.mjs} +10 -24
  104. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/{index.cjs → index.mjs} +12 -35
  105. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/{index.cjs → index.mjs} +10 -15
  106. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{selectorAttributeOperatorSpaceChecker.cjs → selectorAttributeOperatorSpaceChecker.mjs} +6 -5
  107. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{selectorCombinatorSpaceChecker.cjs → selectorCombinatorSpaceChecker.mjs} +12 -11
  108. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{selectorListCommaWhitespaceChecker.cjs → selectorListCommaWhitespaceChecker.mjs} +5 -4
  109. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/{index.cjs → index.mjs} +43 -65
  110. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/{index.cjs → index.mjs} +5 -5
  111. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/{index.cjs → index.mjs} +17 -34
  112. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/{index.cjs → index.mjs} +11 -12
  113. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/{index.cjs → index.mjs} +6 -6
  114. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/{index.cjs → index.mjs} +10 -11
  115. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/{index.cjs → index.mjs} +10 -11
  116. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/{index.cjs → index.mjs} +12 -18
  117. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{valueListCommaWhitespaceChecker.cjs → valueListCommaWhitespaceChecker.mjs} +6 -5
  118. package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/{index.cjs → index.mjs} +1 -1
  119. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{addEmptyLineAfter.cjs → addEmptyLineAfter.mjs} +1 -1
  120. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{hasEmptyBlock.cjs → hasEmptyBlock.mjs} +2 -2
  121. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{nextNonCommentNode.cjs → nextNonCommentNode.mjs} +1 -1
  122. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{removeEmptyLinesAfter.cjs → removeEmptyLinesAfter.mjs} +1 -1
  123. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/transformSelector.mjs +19 -0
  124. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{whitespaceChecker.cjs → whitespaceChecker.mjs} +5 -5
  125. package/stylelint/plugins/stylelint-selector-no-empty.js +2 -0
  126. package/stylelint/plugins/stylelint-selector-tag-no-without-class.js +2 -2
  127. package/stylelint.mjs +6 -0
  128. package/TODO.md +0 -58
  129. package/eslint/index.cjs +0 -1071
  130. package/eslint/overrides-gatsby.cjs +0 -108
  131. package/eslint/overrides-javascript-lazy.cjs +0 -27
  132. package/eslint/overrides-javascript.cjs +0 -121
  133. package/eslint/overrides-jest.cjs +0 -144
  134. package/eslint/overrides-jsdoc.cjs +0 -94
  135. package/eslint/overrides-react.cjs +0 -220
  136. package/eslint/overrides-storybook.cjs +0 -44
  137. package/eslint/overrides-type-declarations.cjs +0 -51
  138. package/eslint/rules/no-global-undefined-check.js +0 -85
  139. package/eslint/rules/no-global-undefined-check.md +0 -34
  140. package/eslint.cjs +0 -5
  141. package/stylelint/index.cjs +0 -1104
  142. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.cjs +0 -95
  143. package/stylelint.cjs +0 -5
@@ -1,1104 +0,0 @@
1
- /**
2
- * @file Global Stylelint settings
3
- */
4
-
5
- /* eslint-disable max-lines -- The rules can be easier managed if they are all in one file */
6
- /* eslint-disable import/max-dependencies -- As we have to import the different plugins, we can't have a limit here */
7
-
8
- module.exports = (async () => {
9
- const { linterBundleConfig } = await import('../helper/linter-bundle-config.js');
10
-
11
- return {
12
- reportNeedlessDisables: true,
13
- reportInvalidScopeDisables: true,
14
- reportDescriptionlessDisables: true,
15
- customSyntax: 'postcss-scss',
16
- plugins: [
17
- 'stylelint-declaration-block-no-ignored-properties',
18
- 'stylelint-order',
19
- 'stylelint-scss',
20
- 'stylelint-use-logical-spec',
21
- 'stylelint-high-performance-animation',
22
- await import('./plugins/stylelint-selector-no-empty.js'),
23
- await import('./plugins/stylelint-selector-tag-no-without-class.js'),
24
- await import('./plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/index.cjs'),
25
- await import('./plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/index.cjs'),
26
- await import('./plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/index.cjs'),
27
- await import('./plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/index.cjs'),
28
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/index.cjs'),
29
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/index.cjs'),
30
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/index.cjs'),
31
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/index.cjs'),
32
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/index.cjs'),
33
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/index.cjs'),
34
- await import('./plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/index.cjs'),
35
- await import('./plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/index.cjs'),
36
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.cjs'),
37
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/index.cjs'),
38
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/index.cjs'),
39
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/index.cjs'),
40
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/index.cjs'),
41
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/index.cjs'),
42
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/index.cjs'),
43
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/index.cjs'),
44
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/index.cjs'),
45
- await import('./plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/index.cjs'),
46
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/index.cjs'),
47
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/index.cjs'),
48
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/index.cjs'),
49
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/index.cjs'),
50
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/index.cjs'),
51
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/index.cjs'),
52
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/index.cjs'),
53
- await import('./plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/index.cjs'),
54
- await import('./plugins/stylelint-15.11.0-stylistic/rules/indentation/index.cjs'),
55
- await import('./plugins/stylelint-15.11.0-stylistic/rules/linebreaks/index.cjs'),
56
- await import('./plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/index.cjs'),
57
- await import('./plugins/stylelint-15.11.0-stylistic/rules/max-line-length/index.cjs'),
58
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/index.cjs'),
59
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/index.cjs'),
60
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/index.cjs'),
61
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/index.cjs'),
62
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/index.cjs'),
63
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/index.cjs'),
64
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/index.cjs'),
65
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/index.cjs'),
66
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/index.cjs'),
67
- await import('./plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/index.cjs'),
68
- await import('./plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/index.cjs'),
69
- await import('./plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/index.cjs'),
70
- await import('./plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/index.cjs'),
71
- await import('./plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/index.cjs'),
72
- await import('./plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/index.cjs'),
73
- await import('./plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/index.cjs'),
74
- await import('./plugins/stylelint-15.11.0-stylistic/rules/property-case/index.cjs'),
75
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/index.cjs'),
76
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/index.cjs'),
77
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/index.cjs'),
78
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/index.cjs'),
79
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/index.cjs'),
80
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/index.cjs'),
81
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/index.cjs'),
82
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/index.cjs'),
83
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/index.cjs'),
84
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/index.cjs'),
85
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/index.cjs'),
86
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/index.cjs'),
87
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/index.cjs'),
88
- await import('./plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/index.cjs'),
89
- await import('./plugins/stylelint-15.11.0-stylistic/rules/string-quotes/index.cjs'),
90
- await import('./plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/index.cjs'),
91
- await import('./plugins/stylelint-15.11.0-stylistic/rules/unit-case/index.cjs'),
92
- await import('./plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/index.cjs'),
93
- await import('./plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/index.cjs'),
94
- await import('./plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/index.cjs'),
95
- await import('./plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/index.cjs'),
96
- await import('./plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/index.cjs')
97
- ],
98
- overrides: [
99
- {
100
- files: ['**/*.module.*'],
101
- rules: {
102
- /**
103
- * stylelint
104
- *
105
- * @see https://github.com/stylelint/stylelint/tree/master/lib/rules
106
- */
107
- 'selector-class-pattern': `^(?!(${[
108
- // Disallowed reserved JavaScript keywords
109
- 'abstract',
110
- 'arguments', 'await',
111
- 'boolean', 'break', 'byte',
112
- 'case', 'catch', 'char', 'class', 'const', 'continue',
113
- 'debugger', 'default', 'delete', 'do', 'double',
114
- 'else', 'enum', 'eval', 'export', 'extends',
115
- 'false', 'final', 'finally', 'float', 'for', 'function',
116
- 'goto',
117
- 'if', 'implements', 'import', 'in', 'Infinity', 'instanceof', 'int', 'interface',
118
- 'let', 'long',
119
- 'NaN', 'native', 'new', 'null',
120
- 'package', 'private', 'protected', 'public',
121
- 'return',
122
- 'short', 'static', 'super', 'switch', 'synchronized',
123
- 'this', 'throw', 'throws', 'transient', 'true', 'try', 'typeof',
124
- 'undefined',
125
- 'var', 'void', 'volatile',
126
- 'while', 'with',
127
- 'yield'
128
- ].join('|')})$).+`,
129
-
130
- /**
131
- * stylelint-selector-tag-no-without-class
132
- *
133
- * @see https://github.com/Moxio/stylelint-selector-tag-no-without-class
134
- */
135
- 'plugin/selector-tag-no-without-class': ['/./']
136
- }
137
- }
138
- ],
139
- rules: {
140
- /**
141
- * stylelint
142
- *
143
- * @see https://github.com/stylelint/stylelint/tree/master/lib/rules
144
- */
145
- 'alpha-value-notation': 'number', // @todo change that to 'percentage'?
146
- 'annotation-no-unknown': [true, { ignoreAnnotations: 'default' }],
147
- 'at-rule-allowed-list': null,
148
- 'at-rule-disallowed-list': null,
149
- 'at-rule-empty-line-before': [
150
- 'always',
151
- {
152
- except: [
153
- 'first-nested'
154
- ],
155
- ignore: [
156
- 'after-comment',
157
- 'blockless-after-same-name-blockless'
158
- ]
159
- }
160
- ],
161
- 'at-rule-no-unknown': null, // scss/at-rule-no-unknown
162
- 'at-rule-no-vendor-prefix': true,
163
- 'at-rule-property-required-list': [{
164
- 'font-face': ['font-family', 'font-style', 'font-weight', 'src']
165
- }],
166
- 'block-no-empty': true,
167
- 'color-function-notation': [
168
- 'modern', {
169
- ignore: ['with-var-inside']
170
- }
171
- ],
172
- 'color-hex-alpha': null, // @todo Not widely supported yet. Activate in 2024.
173
- 'color-hex-length': 'short',
174
- 'color-named': 'never',
175
- 'color-no-hex': true,
176
- 'color-no-invalid-hex': true,
177
- 'comment-empty-line-before': [
178
- 'always',
179
- {
180
- except: ['first-nested'],
181
- ignore: ['stylelint-commands']
182
- }
183
- ],
184
- 'comment-no-empty': true,
185
- 'comment-pattern': /^[^\s].+[^\s]$/u,
186
- 'comment-whitespace-inside': 'always',
187
- 'comment-word-disallowed-list': null,
188
- 'custom-media-pattern': (linterBundleConfig.sass?.patternPrefix ? `${linterBundleConfig.sass.patternPrefix}-[a-z][a-zA-Z]+(-[a-z][a-zA-Z]+\\d*)+` : null),
189
- 'custom-property-empty-line-before': null, // Empty lines between custom properties are optional
190
- 'custom-property-no-missing-var-function': true,
191
- 'custom-property-pattern': (linterBundleConfig.sass?.patternPrefix ? `${linterBundleConfig.sass.patternPrefix}-[a-z][a-zA-Z]+(-[a-z][a-zA-Z]+\\d*)*` : null),
192
- 'declaration-block-no-duplicate-custom-properties': true,
193
- 'declaration-block-no-duplicate-properties': [
194
- true,
195
- {
196
- ignore: ['consecutive-duplicates-with-different-values']
197
- }
198
- ],
199
- 'declaration-block-no-redundant-longhand-properties': [true, { ignoreShorthands: [/^grid-template/u] }],
200
- 'declaration-block-no-shorthand-property-overrides': true,
201
- 'declaration-block-single-line-max-declarations': 1,
202
- 'declaration-empty-line-before': [
203
- 'always',
204
- {
205
- except: [
206
- 'first-nested'
207
- ],
208
- ignore: [
209
- 'after-comment',
210
- 'after-declaration',
211
- 'inside-single-line-block'
212
- ]
213
- }
214
- ],
215
- 'declaration-property-max-values': null, // { '/.*/': 4 }, @todo disabled because of false-positive with `padding-inline-start: #{24px + $i * 16px};` and `transition: transform, background-color, color, border-color, box-shadow;`
216
- 'declaration-no-important': [true, {
217
- severity: 'warning'
218
- }],
219
- 'declaration-property-unit-allowed-list': [{
220
- 'font-size': ['px', 'em'],
221
- 'line-height': ['px', 'em'],
222
- 'transition': ['ms'],
223
- '/^animation/': ['ms']
224
- }],
225
- 'declaration-property-unit-disallowed-list': null,
226
- 'declaration-property-value-allowed-list': null,
227
- 'declaration-property-value-disallowed-list': null,
228
- 'declaration-property-value-no-unknown': [
229
- true,
230
- {
231
- ignoreProperties: {
232
- 'initial-value': /.+/u,
233
- 'grid-template-areas': /^\([^\u0000]+\)$/u, // Whole block wrapped in parentheses.
234
- '/.+/': /((^|\s)\$[a-z])|/ui // SCSS variables
235
- }
236
- }
237
- ],
238
- 'font-family-name-quotes': 'always-where-recommended',
239
- 'font-family-no-duplicate-names': true,
240
- 'font-family-no-missing-generic-family-keyword': true,
241
- 'font-weight-notation': 'numeric',
242
- 'function-allowed-list': null,
243
- 'function-calc-no-unspaced-operator': true,
244
- 'function-disallowed-list': null,
245
- 'function-linear-gradient-no-nonstandard-direction': true,
246
- 'function-name-case': 'lower',
247
- 'function-no-unknown': null, // Implemented by scss/function-no-unknown
248
- 'function-url-no-scheme-relative': true,
249
- 'function-url-quotes': 'always',
250
- 'function-url-scheme-disallowed-list': null,
251
- 'function-url-scheme-allowed-list': null,
252
- 'hue-degree-notation': 'number', // @todo change that to 'angle'?
253
- 'import-notation': null, // This rule, does not make sense. `node_modules` dependencies need to use `url("css_bundle")`, while project files are using only a string.
254
- 'lightness-notation': 'percentage',
255
- 'keyframe-block-no-duplicate-selectors': true,
256
- 'keyframe-declaration-no-important': true,
257
- 'keyframe-selector-notation': 'percentage',
258
- 'keyframes-name-pattern': '^[a-z]+(-[a-z]+)*\\d*$',
259
- 'length-zero-no-unit': true,
260
- 'max-nesting-depth': 6,
261
- 'media-feature-name-allowed-list': null,
262
- 'media-feature-name-disallowed-list': null,
263
- 'media-feature-name-no-unknown': true,
264
- 'media-feature-name-no-vendor-prefix': null, // For Safari, we still need "-webkit-min-device-pixel-ratio": https://caniuse.com/css-media-resolution
265
- 'media-feature-name-unit-allowed-list': null,
266
- 'media-feature-name-value-allowed-list': null,
267
- 'media-feature-name-value-no-unknown': true,
268
- 'media-feature-range-notation': 'prefix',
269
- 'media-query-no-invalid': true,
270
- 'named-grid-areas-no-invalid': true,
271
- 'no-descending-specificity': null, // doesn't work in many cases (e.g. while using the SCSS :global()-pseudo-class)
272
- 'no-duplicate-at-import-rules': true,
273
- 'no-duplicate-selectors': true,
274
- 'no-empty-source': true,
275
- 'no-invalid-double-slash-comments': true,
276
- 'no-invalid-position-at-import-rule': true,
277
- 'no-irregular-whitespace': true,
278
- 'no-unknown-animations': true,
279
- 'no-unknown-custom-properties': null, // @todo Activate in 2025 as Firefox currently does not support "@property" and there is no way to specify which custom properties are available
280
- 'number-max-precision': 5,
281
- 'property-allowed-list': null,
282
- 'property-disallowed-list': [
283
- 'font', // Shorthand property is to complex
284
- 'grid-gap' // @deprecated Use gap.
285
- ],
286
- 'property-no-unknown': null, // Covered by scss/property-no-unknown
287
- 'property-no-vendor-prefix': true,
288
- 'rule-selector-property-disallowed-list': null,
289
- 'rule-empty-line-before': [
290
- 'always-multi-line',
291
- {
292
- except: ['first-nested'],
293
- ignore: ['after-comment']
294
- }
295
- ],
296
- 'selector-anb-no-unmatchable': true,
297
- 'selector-attribute-name-disallowed-list': null,
298
- 'selector-attribute-operator-allowed-list': null,
299
- 'selector-attribute-operator-disallowed-list': null,
300
- 'selector-attribute-quotes': 'always',
301
- 'selector-class-pattern': null,
302
- 'selector-combinator-allowed-list': null,
303
- 'selector-combinator-disallowed-list': null,
304
- 'selector-disallowed-list': null,
305
- 'selector-id-pattern': '^[a-z]+(-[a-z]+)*$',
306
- 'selector-max-attribute': 1,
307
- 'selector-max-class': 5,
308
- 'selector-max-combinators': 5,
309
- 'selector-max-compound-selectors': 5,
310
- 'selector-max-id': 1,
311
- 'selector-max-pseudo-class': 3,
312
- 'selector-max-specificity': [
313
- '1,4,2',
314
- {
315
- ignoreSelectors: [':global', '#root', '[dir="rtl"]', '[dir="ltr"]']
316
- }
317
- ],
318
- 'selector-max-type': 6,
319
- 'selector-max-universal': [1, { ignoreAfterCombinators: ['>', '+'] }],
320
- 'selector-nested-pattern': null,
321
- 'selector-no-qualifying-type': [true, { ignore: ['attribute', 'class'] }],
322
- 'selector-no-vendor-prefix': true,
323
- 'selector-not-notation': null, // 'complex', @todo Reactivate in 2024. Disabled for now, because it depends on the project if modern Selectors Level 4 CSS can be used.
324
- 'selector-pseudo-class-allowed-list': null,
325
- 'selector-pseudo-class-disallowed-list': null,
326
- 'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: ['global'] }],
327
- 'selector-pseudo-element-allowed-list': null,
328
- 'selector-pseudo-element-disallowed-list': null,
329
- 'selector-pseudo-element-colon-notation': 'double',
330
- 'selector-pseudo-element-no-unknown': true,
331
- 'selector-type-case': 'lower',
332
- 'selector-type-no-unknown': true,
333
- 'shorthand-property-no-redundant-values': true,
334
- 'string-no-newline': true,
335
- 'time-min-milliseconds': 40, // @todo For the delay of transitions 40ms should be the minimum, for the duration 150ms should be the minimum (change it, as soon as https://github.com/stylelint/stylelint/issues/4552 got implemented)
336
- 'unit-allowed-list': null,
337
- 'unit-disallowed-list': null,
338
- 'unit-no-unknown': true,
339
- 'value-keyword-case': [
340
- 'lower',
341
- {
342
- camelCaseSvgKeywords: true
343
- }
344
- ],
345
- 'value-no-vendor-prefix': true,
346
-
347
- /**
348
- * stylelint-declaration-block-no-ignored-properties
349
- *
350
- * @see https://www.npmjs.com/package/stylelint-declaration-block-no-ignored-properties
351
- */
352
- 'plugin/declaration-block-no-ignored-properties': true,
353
-
354
- /**
355
- * stylelint-high-performance-animation
356
- *
357
- * @see https://github.com/kristerkari/stylelint-high-performance-animation
358
- */
359
- 'plugin/no-low-performance-animation-properties': [true, {
360
- ignore: 'paint-properties',
361
- severity: 'warning'
362
- }],
363
-
364
- /**
365
- * stylelint-15.11.0-stylistic rules
366
- */
367
- /*
368
- 'plugin/at-rule-name-newline-after': null,
369
- 'plugin/block-closing-brace-space-after': null,
370
- 'plugin/block-opening-brace-newline-before': null,
371
- */
372
- 'plugin/at-rule-name-case': 'lower',
373
- 'plugin/at-rule-name-space-after': 'always-single-line',
374
- 'plugin/at-rule-semicolon-newline-after': 'always',
375
- 'plugin/at-rule-semicolon-space-before': 'never',
376
- 'plugin/block-closing-brace-empty-line-before': 'never',
377
- 'plugin/block-closing-brace-newline-after': 'always',
378
- 'plugin/block-closing-brace-newline-before': 'always-multi-line',
379
- 'plugin/block-closing-brace-space-before': 'always-single-line',
380
- 'plugin/block-opening-brace-newline-after': 'always-multi-line',
381
- 'plugin/block-opening-brace-space-after': 'always-single-line',
382
- 'plugin/block-opening-brace-space-before': 'always',
383
- 'plugin/color-hex-case': 'lower',
384
- 'plugin/declaration-bang-space-after': 'never',
385
- 'plugin/declaration-bang-space-before': 'always',
386
- 'plugin/declaration-block-semicolon-newline-after': 'always-multi-line',
387
- 'plugin/declaration-block-semicolon-newline-before': 'never-multi-line',
388
- 'plugin/declaration-block-semicolon-space-after': 'always-single-line',
389
- 'plugin/declaration-block-semicolon-space-before': 'never',
390
- 'plugin/declaration-block-trailing-semicolon': 'always',
391
- 'plugin/declaration-colon-newline-after': 'always-multi-line',
392
- 'plugin/declaration-colon-space-after': 'always-single-line',
393
- 'plugin/declaration-colon-space-before': 'never',
394
- 'plugin/function-comma-newline-after': 'always-multi-line',
395
- 'plugin/function-comma-newline-before': 'never-multi-line',
396
- 'plugin/function-comma-space-after': 'always-single-line',
397
- 'plugin/function-comma-space-before': 'never',
398
- 'plugin/function-max-empty-lines': 0,
399
- 'plugin/function-parentheses-newline-inside': 'always-multi-line',
400
- 'plugin/function-parentheses-space-inside': 'never-single-line',
401
- 'plugin/function-whitespace-after': 'always',
402
- 'plugin/indentation': 'tab',
403
- 'plugin/linebreaks': 'unix',
404
- 'plugin/max-empty-lines': 1,
405
- 'plugin/max-line-length': 160,
406
- 'plugin/media-feature-colon-space-after': 'always',
407
- 'plugin/media-feature-colon-space-before': 'never',
408
- 'plugin/media-feature-name-case': 'lower',
409
- 'plugin/media-feature-parentheses-space-inside': 'never',
410
- 'plugin/media-feature-range-operator-space-after': 'always',
411
- 'plugin/media-feature-range-operator-space-before': 'always',
412
- 'plugin/media-query-list-comma-newline-after': 'always-multi-line',
413
- 'plugin/media-query-list-comma-newline-before': 'never-multi-line',
414
- 'plugin/media-query-list-comma-space-after': 'always-single-line',
415
- 'plugin/media-query-list-comma-space-before': 'never',
416
- 'plugin/no-empty-first-line': true,
417
- 'plugin/no-eol-whitespace': true,
418
- 'plugin/no-extra-semicolons': true,
419
- 'plugin/no-missing-end-of-source-newline': true,
420
- 'plugin/number-leading-zero': 'always',
421
- 'plugin/number-no-trailing-zeros': true,
422
- 'plugin/property-case': 'lower',
423
- 'plugin/selector-attribute-brackets-space-inside': 'never',
424
- 'plugin/selector-attribute-operator-space-after': 'never',
425
- 'plugin/selector-attribute-operator-space-before': 'never',
426
- 'plugin/selector-combinator-space-after': 'always',
427
- 'plugin/selector-combinator-space-before': 'always',
428
- 'plugin/selector-descendant-combinator-no-non-space': true,
429
- 'plugin/selector-list-comma-newline-after': 'always',
430
- 'plugin/selector-list-comma-newline-before': 'never-multi-line',
431
- 'plugin/selector-list-comma-space-after': 'always-single-line',
432
- 'plugin/selector-list-comma-space-before': 'never',
433
- 'plugin/selector-max-empty-lines': 0,
434
- 'plugin/selector-pseudo-class-case': 'lower',
435
- 'plugin/selector-pseudo-class-parentheses-space-inside': 'never',
436
- 'plugin/selector-pseudo-element-case': 'lower',
437
- 'plugin/string-quotes': 'double',
438
- 'plugin/unicode-bom': 'never',
439
- 'plugin/unit-case': 'lower',
440
- 'plugin/value-list-comma-newline-after': 'always-multi-line',
441
- 'plugin/value-list-comma-newline-before': 'never-multi-line',
442
- 'plugin/value-list-comma-space-after': 'always-single-line',
443
- 'plugin/value-list-comma-space-before': 'never',
444
- 'plugin/value-list-max-empty-lines': 0,
445
-
446
- /**
447
- * stylelint-order
448
- *
449
- * @see https://www.npmjs.com/package/stylelint-order
450
- */
451
- 'order/order': [
452
- 'dollar-variables',
453
- 'at-variables',
454
- {
455
- type: 'at-rule',
456
- name: 'extend'
457
- },
458
- {
459
- type: 'at-rule',
460
- name: 'include'
461
- },
462
- 'custom-properties',
463
- 'declarations',
464
- {
465
- type: 'at-rule',
466
- name: 'media'
467
- },
468
- 'rules',
469
- {
470
- type: 'at-rule',
471
- name: 'keyframes'
472
- }
473
- ],
474
- 'order/properties-alphabetical-order': null,
475
- 'order/properties-order': [
476
- [
477
- {
478
- groupName: 'Reset',
479
- emptyLineBefore: 'always',
480
- noEmptyLineBetween: true,
481
- properties: [
482
- 'all'
483
- ]
484
- },
485
-
486
- {
487
- groupName: 'Performance Optimizations',
488
- emptyLineBefore: 'always',
489
- noEmptyLineBetween: true,
490
- properties: [
491
- 'contain',
492
- 'content-visibility',
493
- 'contain-intrinsic-size',
494
- 'will-change'
495
- ]
496
- },
497
- {
498
- groupName: 'Heading',
499
- emptyLineBefore: 'always',
500
- noEmptyLineBetween: true,
501
- properties: [
502
- 'content',
503
- 'quotes'
504
- ]
505
- },
506
- {
507
- groupName: 'Box',
508
- emptyLineBefore: 'always',
509
- noEmptyLineBetween: true,
510
- properties: [
511
- 'display',
512
- 'visibility',
513
-
514
- 'appearance',
515
-
516
- 'position',
517
- 'z-index'
518
- ]
519
- },
520
- {
521
- groupName: 'Position',
522
- emptyLineBefore: 'always',
523
- noEmptyLineBetween: true,
524
- properties: [
525
- 'inset',
526
- 'top',
527
- 'right',
528
- 'bottom',
529
- 'left',
530
-
531
- 'inset-block',
532
- 'inset-block-start',
533
- 'inset-block-end',
534
- 'inset-inline',
535
- 'inset-inline-start',
536
- 'inset-inline-end',
537
-
538
- 'box-sizing'
539
- ]
540
- },
541
- {
542
- groupName: 'Grid',
543
- emptyLineBefore: 'always',
544
- noEmptyLineBetween: true,
545
- properties: [
546
- 'grid',
547
- 'grid-after',
548
- 'grid-area',
549
- 'grid-auto-columns',
550
- 'grid-auto-flow',
551
- 'grid-auto-rows',
552
- 'grid-before',
553
- 'grid-column',
554
- 'grid-column-end',
555
- 'grid-column-gap',
556
- 'grid-column-start',
557
- 'grid-columns',
558
- 'grid-end',
559
- 'grid-row',
560
- 'grid-row-end',
561
- 'grid-row-gap',
562
- 'grid-row-start',
563
- 'grid-rows',
564
- 'grid-start',
565
- 'grid-template',
566
- 'grid-template-areas',
567
- 'grid-template-columns',
568
- 'grid-template-rows'
569
- ]
570
- },
571
- {
572
- groupName: 'Flex',
573
- emptyLineBefore: 'always',
574
- noEmptyLineBetween: true,
575
- properties: [
576
- 'flex',
577
- 'flex-basis',
578
- 'flex-direction',
579
- 'flex-flow',
580
- 'flex-grow',
581
- 'flex-shrink',
582
- 'flex-wrap',
583
- 'order'
584
- ]
585
- },
586
- {
587
- groupName: 'Gap',
588
- emptyLineBefore: 'always',
589
- noEmptyLineBetween: true,
590
- properties: [
591
- 'gap',
592
- 'row-gap',
593
- 'column-gap'
594
- ]
595
- },
596
- {
597
- groupName: 'Alignment',
598
- emptyLineBefore: 'always',
599
- noEmptyLineBetween: true,
600
- properties: [
601
- 'align-content',
602
- 'align-items',
603
- 'align-self',
604
- 'justify-content',
605
- 'justify-items',
606
- 'justify-self',
607
- 'place-content',
608
- 'place-items',
609
- 'place-self'
610
- ]
611
- },
612
- {
613
- groupName: 'Dimension',
614
- emptyLineBefore: 'always',
615
- noEmptyLineBetween: true,
616
- properties: [
617
- 'width',
618
- 'min-width',
619
- 'max-width',
620
- 'height',
621
- 'min-height',
622
- 'max-height'
623
- ]
624
- },
625
- {
626
- groupName: 'Margin',
627
- emptyLineBefore: 'always',
628
- noEmptyLineBetween: true,
629
- properties: [
630
- 'margin',
631
- 'margin-top',
632
- 'margin-right',
633
- 'margin-bottom',
634
- 'margin-left',
635
-
636
- 'margin-block',
637
- 'margin-block-start',
638
- 'margin-block-end',
639
- 'margin-inline',
640
- 'margin-inline-start',
641
- 'margin-inline-end'
642
- ]
643
- },
644
- {
645
- groupName: 'Padding',
646
- emptyLineBefore: 'always',
647
- noEmptyLineBetween: true,
648
- properties: [
649
- 'padding',
650
- 'padding-top',
651
- 'padding-right',
652
- 'padding-bottom',
653
- 'padding-left',
654
-
655
- 'padding-block',
656
- 'padding-block-start',
657
- 'padding-block-end',
658
- 'padding-inline',
659
- 'padding-inline-start',
660
- 'padding-inline-end'
661
- ]
662
- },
663
- {
664
- groupName: 'Float',
665
- emptyLineBefore: 'always',
666
- noEmptyLineBetween: true,
667
- properties: [
668
- 'float',
669
- 'clear'
670
- ]
671
- },
672
- {
673
- groupName: 'Overflow',
674
- emptyLineBefore: 'always',
675
- noEmptyLineBetween: true,
676
- properties: [
677
- 'overflow',
678
- 'overflow-x',
679
- 'overflow-y',
680
- 'overscroll-behavior'
681
- ]
682
- },
683
- {
684
- groupName: 'Clip / Zoom',
685
- emptyLineBefore: 'always',
686
- noEmptyLineBetween: true,
687
- properties: [
688
- 'clip',
689
- 'zoom'
690
- ]
691
- },
692
- {
693
- groupName: 'Columns',
694
- emptyLineBefore: 'always',
695
- noEmptyLineBetween: true,
696
- properties: [
697
- 'columns',
698
- 'column-fill',
699
- 'column-rule',
700
- 'column-span',
701
- 'column-count',
702
- 'column-width',
703
- 'widows',
704
- 'orphans'
705
- ]
706
- },
707
- {
708
- groupName: 'Table / List',
709
- emptyLineBefore: 'always',
710
- noEmptyLineBetween: true,
711
- properties: [
712
- 'table-layout',
713
- 'empty-cells',
714
- 'caption-side',
715
- 'border-spacing',
716
- 'border-collapse',
717
- 'list-style',
718
- 'list-style-position',
719
- 'list-style-type',
720
- 'list-style-image'
721
- ]
722
- },
723
- {
724
- groupName: 'Transform',
725
- emptyLineBefore: 'always',
726
- noEmptyLineBetween: true,
727
- properties: [
728
- 'transform',
729
- 'transform-origin',
730
- 'transform-style',
731
- 'backface-visibility',
732
- 'perspective',
733
- 'perspective-origin'
734
- ]
735
- },
736
- {
737
- groupName: 'Transition',
738
- emptyLineBefore: 'always',
739
- noEmptyLineBetween: true,
740
- properties: [
741
- 'transition',
742
- 'transition-property',
743
- 'transition-duration',
744
- 'transition-timing-function',
745
- 'transition-delay'
746
- ]
747
- },
748
- {
749
- groupName: 'Animation',
750
- emptyLineBefore: 'always',
751
- noEmptyLineBetween: true,
752
- properties: [
753
- 'animation',
754
- 'animation-name',
755
- 'animation-duration',
756
- 'animation-play-state',
757
- 'animation-timing-function',
758
- 'animation-delay',
759
- 'animation-iteration-count',
760
- 'animation-direction',
761
- 'animation-fill-mode'
762
- ]
763
- },
764
- {
765
- groupName: 'Border General',
766
- emptyLineBefore: 'always',
767
- noEmptyLineBetween: true,
768
- properties: [
769
- 'border',
770
- 'border-top',
771
- 'border-right',
772
- 'border-bottom',
773
- 'border-left',
774
- 'border-width',
775
- 'border-top-width',
776
- 'border-right-width',
777
- 'border-bottom-width',
778
- 'border-left-width',
779
- 'border-inline-start-width',
780
- 'border-inline-end-width',
781
-
782
- 'border-style',
783
- 'border-top-style',
784
- 'border-right-style',
785
- 'border-bottom-style',
786
- 'border-left-style',
787
- 'border-inline-start-style',
788
- 'border-inline-end-style',
789
-
790
- 'border-radius',
791
- 'border-top-left-radius',
792
- 'border-top-right-radius',
793
- 'border-bottom-left-radius',
794
- 'border-bottom-right-radius',
795
-
796
- 'border-color',
797
- 'border-top-color',
798
- 'border-right-color',
799
- 'border-bottom-color',
800
- 'border-left-color',
801
- 'border-inline-start-color',
802
- 'border-inline-end-color'
803
- ]
804
- },
805
- {
806
- groupName: 'Outline',
807
- emptyLineBefore: 'always',
808
- noEmptyLineBetween: true,
809
- properties: [
810
- 'outline',
811
- 'outline-color',
812
- 'outline-offset',
813
- 'outline-style',
814
- 'outline-width'
815
- ]
816
- },
817
- {
818
- groupName: 'Stroke',
819
- emptyLineBefore: 'always',
820
- noEmptyLineBetween: true,
821
- properties: [
822
- 'stroke-width',
823
- 'stroke-linecap',
824
- 'stroke-dasharray',
825
- 'stroke-dashoffset',
826
- 'stroke'
827
- ]
828
- },
829
- {
830
- groupName: 'Opacity',
831
- emptyLineBefore: 'always',
832
- noEmptyLineBetween: true,
833
- properties: [
834
- 'opacity'
835
- ]
836
- },
837
- {
838
- groupName: 'Background',
839
- emptyLineBefore: 'always',
840
- noEmptyLineBetween: true,
841
- properties: [
842
- 'background',
843
- 'background-color',
844
- 'background-image',
845
- 'background-repeat',
846
- 'background-position',
847
- 'background-size',
848
- 'box-shadow',
849
- 'fill'
850
- ]
851
- },
852
- {
853
- groupName: 'Text Color',
854
- emptyLineBefore: 'always',
855
- noEmptyLineBetween: true,
856
- properties: [
857
- 'color',
858
- 'caret-color'
859
- ]
860
- },
861
- {
862
- groupName: 'Font',
863
- emptyLineBefore: 'always',
864
- noEmptyLineBetween: true,
865
- properties: [
866
- 'font',
867
- 'font-family',
868
- 'font-size',
869
- 'font-size-adjust',
870
- 'font-stretch',
871
- 'font-effect',
872
- 'font-style',
873
- 'font-variant',
874
- 'font-weight',
875
- 'font-smoothing',
876
- 'font-display',
877
-
878
- 'font-emphasize',
879
- 'font-emphasize-position',
880
- 'font-emphasize-style'
881
- ]
882
- },
883
- {
884
- groupName: 'Text',
885
- emptyLineBefore: 'always',
886
- noEmptyLineBetween: true,
887
- properties: [
888
- 'letter-spacing',
889
- 'line-height',
890
- 'word-spacing',
891
-
892
- 'text-align',
893
- 'text-align-last',
894
- 'text-decoration',
895
- 'text-indent',
896
- 'text-justify',
897
- 'text-overflow',
898
- 'text-overflow-ellipsis',
899
- 'text-overflow-mode',
900
- 'text-rendering',
901
- 'text-outline',
902
- 'text-shadow',
903
- 'text-transform',
904
- 'text-wrap',
905
- 'word-wrap',
906
- 'overflow-wrap',
907
- 'word-break',
908
-
909
- 'text-emphasis',
910
- 'text-emphasis-color',
911
- 'text-emphasis-style',
912
- 'text-emphasis-position',
913
-
914
- 'vertical-align',
915
- 'white-space',
916
- 'word-spacing',
917
- 'hyphens',
918
- 'hyphenate-character',
919
-
920
- 'src'
921
- ]
922
- },
923
- {
924
- groupName: 'Other',
925
- emptyLineBefore: 'always',
926
- noEmptyLineBetween: true,
927
- properties: [
928
- 'tab-size',
929
- 'counter-reset',
930
- 'counter-increment',
931
- 'resize',
932
- 'cursor',
933
- 'pointer-events',
934
- 'speak',
935
- 'user-select',
936
- 'touch-callout',
937
- 'nav-index',
938
- 'nav-up',
939
- 'nav-right',
940
- 'nav-down',
941
- 'nav-left'
942
- ]
943
- }
944
- ],
945
- {
946
- unspecified: 'bottom',
947
- emptyLineBeforeUnspecified: 'always',
948
- emptyLineMinimumPropertyThreshold: 0
949
- }
950
- ],
951
-
952
- /**
953
- * stylelint-scss
954
- *
955
- * @see https://www.npmjs.com/package/stylelint-scss
956
- */
957
- 'scss/at-each-key-value-single-line': true,
958
- 'scss/at-else-closing-brace-newline-after': 'always-last-in-chain',
959
- 'scss/at-else-closing-brace-space-after': 'never-intermediate',
960
- 'scss/at-else-empty-line-before': 'never',
961
- 'scss/at-else-if-parentheses-space-before': 'always',
962
- 'scss/at-extend-no-missing-placeholder': true,
963
- 'scss/function-calculation-no-interpolation': true,
964
- 'scss/at-function-named-arguments': ['never', { ignoreFunctions: ['scale-color', 'color.scale'] }],
965
- 'scss/at-function-parentheses-space-before': 'always',
966
- 'scss/at-function-pattern': '^[a-z]+(-[a-z]+)*$',
967
- 'scss/at-if-closing-brace-newline-after': 'always-last-in-chain',
968
- 'scss/at-if-closing-brace-space-after': 'never-intermediate',
969
- 'scss/at-if-no-null': true,
970
- 'scss/at-import-partial-extension-blacklist': null,
971
- 'scss/at-import-partial-extension-whitelist': null,
972
- 'scss/at-import-partial-extension': 'always',
973
- 'scss/at-mixin-argumentless-call-parentheses': 'never',
974
- 'scss/at-mixin-named-arguments': ['always', { ignore: ['single-argument'] }],
975
- 'scss/at-mixin-parentheses-space-before': 'always',
976
- 'scss/at-mixin-pattern': '^[a-z]+(-[a-z]+)*$',
977
- 'scss/at-root-no-redundant': true,
978
- 'scss/at-rule-conditional-no-parentheses': true,
979
- 'scss/at-rule-no-unknown': true,
980
- 'scss/at-use-no-unnamespaced': true,
981
- 'scss/at-use-no-redundant-alias': null,
982
- 'scss/block-no-redundant-nesting': null,
983
- 'scss/comment-no-empty': true,
984
- 'scss/comment-no-loud': true,
985
- 'scss/declaration-nested-properties-no-divided-groups': true,
986
- 'scss/declaration-nested-properties': 'never',
987
- 'scss/dimension-no-non-numeric-values': true,
988
- 'scss/dollar-variable-colon-newline-after': null,
989
- 'scss/dollar-variable-colon-space-after': 'always',
990
- 'scss/dollar-variable-colon-space-before': 'never',
991
- 'scss/dollar-variable-default': null,
992
- 'scss/dollar-variable-empty-line-before': [
993
- 'always',
994
- {
995
- except: ['first-nested', 'after-comment', 'after-dollar-variable']
996
- }
997
- ],
998
- 'scss/dollar-variable-empty-line-after': [
999
- 'always',
1000
- {
1001
- except: ['last-nested', 'before-dollar-variable'],
1002
- ignore: ['before-comment', 'inside-single-line-block']
1003
- }
1004
- ],
1005
- 'scss/dollar-variable-first-in-block': [true, { ignore: ['comments', 'imports'] }],
1006
- 'scss/dollar-variable-no-missing-interpolation': true,
1007
- 'scss/dollar-variable-no-namespaced-assignment': true,
1008
- 'scss/dollar-variable-pattern': '^[a-z]+(-[a-z]+)*$',
1009
- 'scss/double-slash-comment-empty-line-before': [
1010
- 'always',
1011
- {
1012
- except: ['first-nested'],
1013
- ignore: ['between-comments', 'stylelint-commands']
1014
- }
1015
- ],
1016
- 'scss/double-slash-comment-inline': null,
1017
- 'scss/double-slash-comment-whitespace-inside': 'always',
1018
- 'scss/function-color-relative': true,
1019
- 'scss/function-disallowed-list': null,
1020
- 'scss/function-no-unknown': [true, { ignoreFunctions: [/^custom-/u] }],
1021
- 'scss/function-quote-no-quoted-strings-inside': true,
1022
- 'scss/function-unquote-no-unquoted-strings-inside': true,
1023
- 'scss/load-no-partial-leading-underscore': null,
1024
- 'scss/map-keys-quotes': 'always',
1025
- 'scss/media-feature-value-dollar-variable': 'never',
1026
- 'scss/no-dollar-variables': null,
1027
- 'scss/no-duplicate-dollar-variables': true,
1028
- 'scss/no-duplicate-mixins': true,
1029
- 'scss/no-global-function-names': true,
1030
- 'scss/no-unused-private-members': true,
1031
- 'scss/operator-no-newline-after': true,
1032
- 'scss/operator-no-newline-before': true,
1033
- 'scss/operator-no-unspaced': true,
1034
- 'scss/partial-no-import': null,
1035
- 'scss/percent-placeholder-pattern': '^[a-z]+(-[a-z]+)*$',
1036
- 'scss/property-no-unknown': true,
1037
- 'scss/selector-nest-combinators': null, // Sometimes nesting does not make sense
1038
- 'scss/selector-no-redundant-nesting-selector': true,
1039
- 'scss/selector-no-union-class-name': true,
1040
-
1041
- /**
1042
- * stylelint-selector-no-empty
1043
- *
1044
- * @see https://github.com/ssivanatarajan/stylelint-selector-no-empty
1045
- */
1046
- 'plugin/stylelint-selector-no-empty': true,
1047
-
1048
- /**
1049
- * stylelint-selector-tag-no-without-class
1050
- *
1051
- * @see https://github.com/Moxio/stylelint-selector-tag-no-without-class
1052
- */
1053
- 'plugin/selector-tag-no-without-class': null,
1054
-
1055
- /**
1056
- * stylelint-use-logical-spec
1057
- *
1058
- * @see https://github.com/Jordan-Hall/stylelint-use-logical-spec
1059
- */
1060
- 'liberty/use-logical-spec': ['always', { except: [
1061
- 'float',
1062
-
1063
- 'inset',
1064
- 'top',
1065
- 'bottom',
1066
-
1067
- 'border-top', // "border-block-start" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-block-start
1068
- 'border-top-color', // "border-block-start-color" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-block-start-color
1069
- 'border-top-left-radius', // "border-start-start-radius" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-start-start-radius
1070
- 'border-top-right-radius', // "border-start-end-radius" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-start-end-radius
1071
- 'border-top-width', // "border-block-start-width" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-block-start-width
1072
- 'border-bottom', // "border-block-end" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-block-end
1073
- 'border-bottom-color', // "border-block-end-color" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-block-end-color
1074
- 'border-bottom-left-radius', // "border-end-start-radius" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-bottom-left-radius
1075
- 'border-bottom-right-radius', // "border-end-end-radius" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-end-end-radius
1076
- 'border-bottom-width', // "border-block-end-width" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-block-end-width
1077
- 'border-left', // "border-inline-start" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-inline-start
1078
- 'border-left-color', // "border-inline-start-color" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-inline-start-color
1079
- 'border-right', // "border-inline-end" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-inline-end
1080
- 'border-right-color', // "border-inline-end-color" is new and should not be used before 2022. @see https://caniuse.com/mdn-css_properties_border-inline-end-color
1081
-
1082
- 'margin',
1083
- 'margin-top',
1084
- 'margin-bottom',
1085
-
1086
- 'padding',
1087
- 'padding-top',
1088
- 'padding-bottom',
1089
-
1090
- 'left',
1091
- 'right',
1092
-
1093
- 'text-align', // @todo Should only be disabled for "right", since numbers should be always aligned right, for any direction.
1094
-
1095
- 'width', // "inline-size" is very rarely needed. I'm not aware of any use-case.
1096
- 'height', // "block-size" is very rarely needed. I'm not aware of any use-case.
1097
- 'min-width', // "min-inline-size" is very rarely needed. I'm not aware of any use-case.
1098
- 'min-height', // "min-block-size" is very rarely needed. I'm not aware of any use-case.
1099
- 'max-width', // "max-inline-size" is very rarely needed. I'm not aware of any use-case.
1100
- 'max-height' // "max-block-size" is very rarely needed. I'm not aware of any use-case.
1101
- ] }]
1102
- }
1103
- };
1104
- })();