eslint-plugin-stylelint-2 1.0.9

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 (268) hide show
  1. package/CHANGELOG.md +329 -0
  2. package/LICENSE +21 -0
  3. package/README.md +174 -0
  4. package/dist/_internal/rule-docs-url.d.ts +15 -0
  5. package/dist/_internal/rule-docs-url.d.ts.map +1 -0
  6. package/dist/_internal/rule-docs-url.js +15 -0
  7. package/dist/_internal/rule-docs-url.js.map +1 -0
  8. package/dist/_internal/rules-registry.d.ts +88 -0
  9. package/dist/_internal/rules-registry.d.ts.map +1 -0
  10. package/dist/_internal/rules-registry.js +85 -0
  11. package/dist/_internal/rules-registry.js.map +1 -0
  12. package/dist/_internal/stylelint-config-boolean-option-rule.d.ts +17 -0
  13. package/dist/_internal/stylelint-config-boolean-option-rule.d.ts.map +1 -0
  14. package/dist/_internal/stylelint-config-boolean-option-rule.js +90 -0
  15. package/dist/_internal/stylelint-config-boolean-option-rule.js.map +1 -0
  16. package/dist/_internal/stylelint-config-disallowed-option-rule.d.ts +16 -0
  17. package/dist/_internal/stylelint-config-disallowed-option-rule.d.ts.map +1 -0
  18. package/dist/_internal/stylelint-config-disallowed-option-rule.js +48 -0
  19. package/dist/_internal/stylelint-config-disallowed-option-rule.js.map +1 -0
  20. package/dist/_internal/stylelint-config-object.d.ts +62 -0
  21. package/dist/_internal/stylelint-config-object.d.ts.map +1 -0
  22. package/dist/_internal/stylelint-config-object.js +114 -0
  23. package/dist/_internal/stylelint-config-object.js.map +1 -0
  24. package/dist/_internal/stylelint-config-package-option-rule.d.ts +12 -0
  25. package/dist/_internal/stylelint-config-package-option-rule.d.ts.map +1 -0
  26. package/dist/_internal/stylelint-config-package-option-rule.js +66 -0
  27. package/dist/_internal/stylelint-config-package-option-rule.js.map +1 -0
  28. package/dist/_internal/stylelint-config-rules-object.d.ts +23 -0
  29. package/dist/_internal/stylelint-config-rules-object.d.ts.map +1 -0
  30. package/dist/_internal/stylelint-config-rules-object.js +47 -0
  31. package/dist/_internal/stylelint-config-rules-object.js.map +1 -0
  32. package/dist/_internal/stylelint-config-string-array-option-rule.d.ts +27 -0
  33. package/dist/_internal/stylelint-config-string-array-option-rule.d.ts.map +1 -0
  34. package/dist/_internal/stylelint-config-string-array-option-rule.js +234 -0
  35. package/dist/_internal/stylelint-config-string-array-option-rule.js.map +1 -0
  36. package/dist/_internal/stylelint-config-string-array-option.d.ts +32 -0
  37. package/dist/_internal/stylelint-config-string-array-option.d.ts.map +1 -0
  38. package/dist/_internal/stylelint-config-string-array-option.js +55 -0
  39. package/dist/_internal/stylelint-config-string-array-option.js.map +1 -0
  40. package/dist/_internal/stylelint-package-dependencies.d.ts +18 -0
  41. package/dist/_internal/stylelint-package-dependencies.d.ts.map +1 -0
  42. package/dist/_internal/stylelint-package-dependencies.js +107 -0
  43. package/dist/_internal/stylelint-package-dependencies.js.map +1 -0
  44. package/dist/_internal/stylelint-runner.d.ts +4 -0
  45. package/dist/_internal/stylelint-runner.d.ts.map +1 -0
  46. package/dist/_internal/stylelint-runner.js +93 -0
  47. package/dist/_internal/stylelint-runner.js.map +1 -0
  48. package/dist/_internal/stylelint-worker-types.d.ts +70 -0
  49. package/dist/_internal/stylelint-worker-types.d.ts.map +1 -0
  50. package/dist/_internal/stylelint-worker-types.js +2 -0
  51. package/dist/_internal/stylelint-worker-types.js.map +1 -0
  52. package/dist/_internal/stylelint-worker.d.ts +2 -0
  53. package/dist/_internal/stylelint-worker.d.ts.map +1 -0
  54. package/dist/_internal/stylelint-worker.js +113 -0
  55. package/dist/_internal/stylelint-worker.js.map +1 -0
  56. package/dist/_internal/stylelint2-config-references.d.ts +32 -0
  57. package/dist/_internal/stylelint2-config-references.d.ts.map +1 -0
  58. package/dist/_internal/stylelint2-config-references.js +65 -0
  59. package/dist/_internal/stylelint2-config-references.js.map +1 -0
  60. package/dist/_internal/typed-rule.d.ts +42 -0
  61. package/dist/_internal/typed-rule.d.ts.map +1 -0
  62. package/dist/_internal/typed-rule.js +53 -0
  63. package/dist/_internal/typed-rule.js.map +1 -0
  64. package/dist/plugin.cjs +1 -0
  65. package/dist/plugin.d.cts +10 -0
  66. package/dist/plugin.d.ts +36 -0
  67. package/dist/plugin.d.ts.map +1 -0
  68. package/dist/plugin.js +183 -0
  69. package/dist/plugin.js.map +1 -0
  70. package/dist/rules/disallow-stylelint-allow-empty-input.d.ts +9 -0
  71. package/dist/rules/disallow-stylelint-allow-empty-input.d.ts.map +1 -0
  72. package/dist/rules/disallow-stylelint-allow-empty-input.js +29 -0
  73. package/dist/rules/disallow-stylelint-allow-empty-input.js.map +1 -0
  74. package/dist/rules/disallow-stylelint-configuration-comment.d.ts +9 -0
  75. package/dist/rules/disallow-stylelint-configuration-comment.d.ts.map +1 -0
  76. package/dist/rules/disallow-stylelint-configuration-comment.js +29 -0
  77. package/dist/rules/disallow-stylelint-configuration-comment.js.map +1 -0
  78. package/dist/rules/disallow-stylelint-custom-syntax.d.ts +12 -0
  79. package/dist/rules/disallow-stylelint-custom-syntax.d.ts.map +1 -0
  80. package/dist/rules/disallow-stylelint-custom-syntax.js +32 -0
  81. package/dist/rules/disallow-stylelint-custom-syntax.js.map +1 -0
  82. package/dist/rules/disallow-stylelint-default-severity.d.ts +9 -0
  83. package/dist/rules/disallow-stylelint-default-severity.d.ts.map +1 -0
  84. package/dist/rules/disallow-stylelint-default-severity.js +28 -0
  85. package/dist/rules/disallow-stylelint-default-severity.js.map +1 -0
  86. package/dist/rules/disallow-stylelint-duplicate-extends.d.ts +9 -0
  87. package/dist/rules/disallow-stylelint-duplicate-extends.d.ts.map +1 -0
  88. package/dist/rules/disallow-stylelint-duplicate-extends.js +29 -0
  89. package/dist/rules/disallow-stylelint-duplicate-extends.js.map +1 -0
  90. package/dist/rules/disallow-stylelint-duplicate-plugins.d.ts +9 -0
  91. package/dist/rules/disallow-stylelint-duplicate-plugins.d.ts.map +1 -0
  92. package/dist/rules/disallow-stylelint-duplicate-plugins.js +29 -0
  93. package/dist/rules/disallow-stylelint-duplicate-plugins.js.map +1 -0
  94. package/dist/rules/disallow-stylelint-duplicate-rule-option-values.d.ts +10 -0
  95. package/dist/rules/disallow-stylelint-duplicate-rule-option-values.d.ts.map +1 -0
  96. package/dist/rules/disallow-stylelint-duplicate-rule-option-values.js +171 -0
  97. package/dist/rules/disallow-stylelint-duplicate-rule-option-values.js.map +1 -0
  98. package/dist/rules/disallow-stylelint-empty-rules-object.d.ts +7 -0
  99. package/dist/rules/disallow-stylelint-empty-rules-object.d.ts.map +1 -0
  100. package/dist/rules/disallow-stylelint-empty-rules-object.js +65 -0
  101. package/dist/rules/disallow-stylelint-empty-rules-object.js.map +1 -0
  102. package/dist/rules/disallow-stylelint-ignore-disables.d.ts +9 -0
  103. package/dist/rules/disallow-stylelint-ignore-disables.d.ts.map +1 -0
  104. package/dist/rules/disallow-stylelint-ignore-disables.js +28 -0
  105. package/dist/rules/disallow-stylelint-ignore-disables.js.map +1 -0
  106. package/dist/rules/disallow-stylelint-ignore-files.d.ts +9 -0
  107. package/dist/rules/disallow-stylelint-ignore-files.d.ts.map +1 -0
  108. package/dist/rules/disallow-stylelint-ignore-files.js +28 -0
  109. package/dist/rules/disallow-stylelint-ignore-files.js.map +1 -0
  110. package/dist/rules/disallow-stylelint-null-rule-config.d.ts +7 -0
  111. package/dist/rules/disallow-stylelint-null-rule-config.d.ts.map +1 -0
  112. package/dist/rules/disallow-stylelint-null-rule-config.js +86 -0
  113. package/dist/rules/disallow-stylelint-null-rule-config.js.map +1 -0
  114. package/dist/rules/disallow-stylelint-overrides-runtime-options.d.ts +7 -0
  115. package/dist/rules/disallow-stylelint-overrides-runtime-options.d.ts.map +1 -0
  116. package/dist/rules/disallow-stylelint-overrides-runtime-options.js +124 -0
  117. package/dist/rules/disallow-stylelint-overrides-runtime-options.js.map +1 -0
  118. package/dist/rules/disallow-stylelint-processors.d.ts +9 -0
  119. package/dist/rules/disallow-stylelint-processors.d.ts.map +1 -0
  120. package/dist/rules/disallow-stylelint-processors.js +29 -0
  121. package/dist/rules/disallow-stylelint-processors.js.map +1 -0
  122. package/dist/rules/disallow-stylelint-relative-extends-paths.d.ts +9 -0
  123. package/dist/rules/disallow-stylelint-relative-extends-paths.d.ts.map +1 -0
  124. package/dist/rules/disallow-stylelint-relative-extends-paths.js +28 -0
  125. package/dist/rules/disallow-stylelint-relative-extends-paths.js.map +1 -0
  126. package/dist/rules/disallow-stylelint-relative-plugin-paths.d.ts +9 -0
  127. package/dist/rules/disallow-stylelint-relative-plugin-paths.d.ts.map +1 -0
  128. package/dist/rules/disallow-stylelint-relative-plugin-paths.js +28 -0
  129. package/dist/rules/disallow-stylelint-relative-plugin-paths.js.map +1 -0
  130. package/dist/rules/prefer-stylelint-cache.d.ts +9 -0
  131. package/dist/rules/prefer-stylelint-cache.d.ts.map +1 -0
  132. package/dist/rules/prefer-stylelint-cache.js +28 -0
  133. package/dist/rules/prefer-stylelint-cache.js.map +1 -0
  134. package/dist/rules/prefer-stylelint-define-config.d.ts +7 -0
  135. package/dist/rules/prefer-stylelint-define-config.d.ts.map +1 -0
  136. package/dist/rules/prefer-stylelint-define-config.js +82 -0
  137. package/dist/rules/prefer-stylelint-define-config.js.map +1 -0
  138. package/dist/rules/prefer-stylelint-extends-array.d.ts +9 -0
  139. package/dist/rules/prefer-stylelint-extends-array.d.ts.map +1 -0
  140. package/dist/rules/prefer-stylelint-extends-array.js +29 -0
  141. package/dist/rules/prefer-stylelint-extends-array.js.map +1 -0
  142. package/dist/rules/prefer-stylelint-fix.d.ts +7 -0
  143. package/dist/rules/prefer-stylelint-fix.d.ts.map +1 -0
  144. package/dist/rules/prefer-stylelint-fix.js +90 -0
  145. package/dist/rules/prefer-stylelint-fix.js.map +1 -0
  146. package/dist/rules/prefer-stylelint-formatter.d.ts +10 -0
  147. package/dist/rules/prefer-stylelint-formatter.d.ts.map +1 -0
  148. package/dist/rules/prefer-stylelint-formatter.js +77 -0
  149. package/dist/rules/prefer-stylelint-formatter.js.map +1 -0
  150. package/dist/rules/prefer-stylelint-plugins-array.d.ts +9 -0
  151. package/dist/rules/prefer-stylelint-plugins-array.d.ts.map +1 -0
  152. package/dist/rules/prefer-stylelint-plugins-array.js +29 -0
  153. package/dist/rules/prefer-stylelint-plugins-array.js.map +1 -0
  154. package/dist/rules/prefer-stylelint-report-descriptionless-disables.d.ts +12 -0
  155. package/dist/rules/prefer-stylelint-report-descriptionless-disables.d.ts.map +1 -0
  156. package/dist/rules/prefer-stylelint-report-descriptionless-disables.js +32 -0
  157. package/dist/rules/prefer-stylelint-report-descriptionless-disables.js.map +1 -0
  158. package/dist/rules/prefer-stylelint-report-invalid-scope-disables.d.ts +12 -0
  159. package/dist/rules/prefer-stylelint-report-invalid-scope-disables.d.ts.map +1 -0
  160. package/dist/rules/prefer-stylelint-report-invalid-scope-disables.js +32 -0
  161. package/dist/rules/prefer-stylelint-report-invalid-scope-disables.js.map +1 -0
  162. package/dist/rules/prefer-stylelint-report-needless-disables.d.ts +9 -0
  163. package/dist/rules/prefer-stylelint-report-needless-disables.d.ts.map +1 -0
  164. package/dist/rules/prefer-stylelint-report-needless-disables.js +29 -0
  165. package/dist/rules/prefer-stylelint-report-needless-disables.js.map +1 -0
  166. package/dist/rules/prefer-stylelint-report-unscoped-disables.d.ts +9 -0
  167. package/dist/rules/prefer-stylelint-report-unscoped-disables.d.ts.map +1 -0
  168. package/dist/rules/prefer-stylelint-report-unscoped-disables.js +29 -0
  169. package/dist/rules/prefer-stylelint-report-unscoped-disables.js.map +1 -0
  170. package/dist/rules/require-stylelint-config-file-naming-convention.d.ts +13 -0
  171. package/dist/rules/require-stylelint-config-file-naming-convention.d.ts.map +1 -0
  172. package/dist/rules/require-stylelint-config-file-naming-convention.js +58 -0
  173. package/dist/rules/require-stylelint-config-file-naming-convention.js.map +1 -0
  174. package/dist/rules/require-stylelint-custom-syntax-in-overrides.d.ts +7 -0
  175. package/dist/rules/require-stylelint-custom-syntax-in-overrides.d.ts.map +1 -0
  176. package/dist/rules/require-stylelint-custom-syntax-in-overrides.js +100 -0
  177. package/dist/rules/require-stylelint-custom-syntax-in-overrides.js.map +1 -0
  178. package/dist/rules/require-stylelint-extends-packages-installed.d.ts +12 -0
  179. package/dist/rules/require-stylelint-extends-packages-installed.d.ts.map +1 -0
  180. package/dist/rules/require-stylelint-extends-packages-installed.js +31 -0
  181. package/dist/rules/require-stylelint-extends-packages-installed.js.map +1 -0
  182. package/dist/rules/require-stylelint-overrides-configuration.d.ts +7 -0
  183. package/dist/rules/require-stylelint-overrides-configuration.d.ts.map +1 -0
  184. package/dist/rules/require-stylelint-overrides-configuration.js +100 -0
  185. package/dist/rules/require-stylelint-overrides-configuration.js.map +1 -0
  186. package/dist/rules/require-stylelint-overrides-files-array.d.ts +7 -0
  187. package/dist/rules/require-stylelint-overrides-files-array.d.ts.map +1 -0
  188. package/dist/rules/require-stylelint-overrides-files-array.js +99 -0
  189. package/dist/rules/require-stylelint-overrides-files-array.js.map +1 -0
  190. package/dist/rules/require-stylelint-overrides-files.d.ts +7 -0
  191. package/dist/rules/require-stylelint-overrides-files.d.ts.map +1 -0
  192. package/dist/rules/require-stylelint-overrides-files.js +104 -0
  193. package/dist/rules/require-stylelint-overrides-files.js.map +1 -0
  194. package/dist/rules/require-stylelint-plugins-packages-installed.d.ts +12 -0
  195. package/dist/rules/require-stylelint-plugins-packages-installed.d.ts.map +1 -0
  196. package/dist/rules/require-stylelint-plugins-packages-installed.js +31 -0
  197. package/dist/rules/require-stylelint-plugins-packages-installed.js.map +1 -0
  198. package/dist/rules/require-stylelint-report-disables.d.ts +9 -0
  199. package/dist/rules/require-stylelint-report-disables.d.ts.map +1 -0
  200. package/dist/rules/require-stylelint-report-disables.js +29 -0
  201. package/dist/rules/require-stylelint-report-disables.js.map +1 -0
  202. package/dist/rules/require-stylelint-rules-object.d.ts +7 -0
  203. package/dist/rules/require-stylelint-rules-object.d.ts.map +1 -0
  204. package/dist/rules/require-stylelint-rules-object.js +65 -0
  205. package/dist/rules/require-stylelint-rules-object.js.map +1 -0
  206. package/dist/rules/sort-stylelint-extends.d.ts +9 -0
  207. package/dist/rules/sort-stylelint-extends.d.ts.map +1 -0
  208. package/dist/rules/sort-stylelint-extends.js +28 -0
  209. package/dist/rules/sort-stylelint-extends.js.map +1 -0
  210. package/dist/rules/sort-stylelint-plugins.d.ts +9 -0
  211. package/dist/rules/sort-stylelint-plugins.d.ts.map +1 -0
  212. package/dist/rules/sort-stylelint-plugins.js +28 -0
  213. package/dist/rules/sort-stylelint-plugins.js.map +1 -0
  214. package/dist/rules/sort-stylelint-rule-keys.d.ts +7 -0
  215. package/dist/rules/sort-stylelint-rule-keys.d.ts.map +1 -0
  216. package/dist/rules/sort-stylelint-rule-keys.js +129 -0
  217. package/dist/rules/sort-stylelint-rule-keys.js.map +1 -0
  218. package/dist/rules/stylelint.d.ts +15 -0
  219. package/dist/rules/stylelint.d.ts.map +1 -0
  220. package/dist/rules/stylelint.js +157 -0
  221. package/dist/rules/stylelint.js.map +1 -0
  222. package/docs/rules/disallow-stylelint-allow-empty-input.md +62 -0
  223. package/docs/rules/disallow-stylelint-configuration-comment.md +62 -0
  224. package/docs/rules/disallow-stylelint-custom-syntax.md +70 -0
  225. package/docs/rules/disallow-stylelint-default-severity.md +77 -0
  226. package/docs/rules/disallow-stylelint-duplicate-extends.md +61 -0
  227. package/docs/rules/disallow-stylelint-duplicate-plugins.md +61 -0
  228. package/docs/rules/disallow-stylelint-duplicate-rule-option-values.md +73 -0
  229. package/docs/rules/disallow-stylelint-empty-rules-object.md +62 -0
  230. package/docs/rules/disallow-stylelint-ignore-disables.md +78 -0
  231. package/docs/rules/disallow-stylelint-ignore-files.md +78 -0
  232. package/docs/rules/disallow-stylelint-null-rule-config.md +63 -0
  233. package/docs/rules/disallow-stylelint-overrides-runtime-options.md +82 -0
  234. package/docs/rules/disallow-stylelint-processors.md +62 -0
  235. package/docs/rules/disallow-stylelint-relative-extends-paths.md +61 -0
  236. package/docs/rules/disallow-stylelint-relative-plugin-paths.md +61 -0
  237. package/docs/rules/getting-started.md +130 -0
  238. package/docs/rules/overview.md +99 -0
  239. package/docs/rules/prefer-stylelint-cache.md +79 -0
  240. package/docs/rules/prefer-stylelint-define-config.md +90 -0
  241. package/docs/rules/prefer-stylelint-extends-array.md +61 -0
  242. package/docs/rules/prefer-stylelint-fix.md +79 -0
  243. package/docs/rules/prefer-stylelint-formatter.md +80 -0
  244. package/docs/rules/prefer-stylelint-plugins-array.md +61 -0
  245. package/docs/rules/prefer-stylelint-report-descriptionless-disables.md +85 -0
  246. package/docs/rules/prefer-stylelint-report-invalid-scope-disables.md +83 -0
  247. package/docs/rules/prefer-stylelint-report-needless-disables.md +83 -0
  248. package/docs/rules/prefer-stylelint-report-unscoped-disables.md +83 -0
  249. package/docs/rules/presets/all.md +39 -0
  250. package/docs/rules/presets/configs.md +40 -0
  251. package/docs/rules/presets/configuration.md +64 -0
  252. package/docs/rules/presets/index.md +82 -0
  253. package/docs/rules/presets/recommended.md +40 -0
  254. package/docs/rules/presets/stylelint-only.md +42 -0
  255. package/docs/rules/require-stylelint-config-file-naming-convention.md +61 -0
  256. package/docs/rules/require-stylelint-custom-syntax-in-overrides.md +77 -0
  257. package/docs/rules/require-stylelint-extends-packages-installed.md +61 -0
  258. package/docs/rules/require-stylelint-overrides-configuration.md +80 -0
  259. package/docs/rules/require-stylelint-overrides-files-array.md +78 -0
  260. package/docs/rules/require-stylelint-overrides-files.md +83 -0
  261. package/docs/rules/require-stylelint-plugins-packages-installed.md +61 -0
  262. package/docs/rules/require-stylelint-report-disables.md +67 -0
  263. package/docs/rules/require-stylelint-rules-object.md +61 -0
  264. package/docs/rules/sort-stylelint-extends.md +61 -0
  265. package/docs/rules/sort-stylelint-plugins.md +61 -0
  266. package/docs/rules/sort-stylelint-rule-keys.md +65 -0
  267. package/docs/rules/stylelint.md +100 -0
  268. package/package.json +577 -0
@@ -0,0 +1,171 @@
1
+ import { getExportedStylelintConfigObject, isStylelintConfigFile, } from "../_internal/stylelint-config-object.js";
2
+ import { getTopLevelRuleEntries, getTopLevelRulesObject, } from "../_internal/stylelint-config-rules-object.js";
3
+ import { createTypedRule, toRuleListener } from "../_internal/typed-rule.js";
4
+ const isPropertyExpressionValue = (value) => value.type !== "ArrayPattern" &&
5
+ value.type !== "AssignmentPattern" &&
6
+ value.type !== "ObjectPattern" &&
7
+ value.type !== "TSEmptyBodyFunctionExpression";
8
+ const getComparableLiteral = (expression) => {
9
+ if (expression.type !== "Literal") {
10
+ return undefined;
11
+ }
12
+ if (typeof expression.value === "string" ||
13
+ typeof expression.value === "number" ||
14
+ typeof expression.value === "boolean" ||
15
+ expression.value === null) {
16
+ return expression.value;
17
+ }
18
+ return undefined;
19
+ };
20
+ const getArrayLiteralElements = (arrayExpression) => {
21
+ const elements = [];
22
+ for (const element of arrayExpression.elements) {
23
+ if (element === null || element.type === "SpreadElement") {
24
+ return undefined;
25
+ }
26
+ elements.push(element);
27
+ }
28
+ return elements;
29
+ };
30
+ const getObjectExpressionElements = (arrayExpression) => {
31
+ const objectElements = [];
32
+ for (const element of arrayExpression.elements) {
33
+ if (element?.type === "ObjectExpression") {
34
+ objectElements.push(element);
35
+ }
36
+ }
37
+ return objectElements;
38
+ };
39
+ const getArrayValuedOptionProperties = (optionObject) => {
40
+ const optionArrays = [];
41
+ for (const optionProperty of optionObject.properties) {
42
+ if (optionProperty.type !== "Property") {
43
+ continue;
44
+ }
45
+ const optionPropertyValue = optionProperty.value;
46
+ if (isPropertyExpressionValue(optionPropertyValue) &&
47
+ optionPropertyValue.type === "ArrayExpression") {
48
+ optionArrays.push(optionPropertyValue);
49
+ }
50
+ }
51
+ return optionArrays;
52
+ };
53
+ const hasDuplicateComparableLiterals = (elements) => {
54
+ const seenValues = new Set();
55
+ for (const element of elements) {
56
+ const comparableLiteral = getComparableLiteral(element);
57
+ if (comparableLiteral === undefined) {
58
+ return false;
59
+ }
60
+ const signature = `${typeof comparableLiteral}:${String(comparableLiteral)}`;
61
+ if (seenValues.has(signature)) {
62
+ return true;
63
+ }
64
+ seenValues.add(signature);
65
+ }
66
+ return false;
67
+ };
68
+ const getDedupedElements = (elements) => {
69
+ const dedupedElements = [];
70
+ const seenValues = new Set();
71
+ for (const element of elements) {
72
+ const comparableLiteral = getComparableLiteral(element);
73
+ if (comparableLiteral === undefined) {
74
+ return elements;
75
+ }
76
+ const signature = `${typeof comparableLiteral}:${String(comparableLiteral)}`;
77
+ if (seenValues.has(signature)) {
78
+ continue;
79
+ }
80
+ seenValues.add(signature);
81
+ dedupedElements.push(element);
82
+ }
83
+ return dedupedElements;
84
+ };
85
+ const getArrayReplacement = (sourceCode, elements) => `[${elements.map((element) => sourceCode.getText(element)).join(", ")}]`;
86
+ const reportDuplicateOptionArray = (context, sourceCode, optionArray) => {
87
+ const arrayLiteralElements = getArrayLiteralElements(optionArray);
88
+ if (arrayLiteralElements === undefined ||
89
+ !hasDuplicateComparableLiterals(arrayLiteralElements)) {
90
+ return;
91
+ }
92
+ context.report({
93
+ fix(fixer) {
94
+ const dedupedElements = getDedupedElements(arrayLiteralElements);
95
+ return fixer.replaceText(optionArray, getArrayReplacement(sourceCode, dedupedElements));
96
+ },
97
+ messageId: "disallowDuplicateRuleOptionValues",
98
+ node: optionArray,
99
+ });
100
+ };
101
+ const reportDuplicateRuleOptionValues = (context, sourceCode, ruleEntryValue) => {
102
+ if (!isPropertyExpressionValue(ruleEntryValue)) {
103
+ return;
104
+ }
105
+ if (ruleEntryValue.type !== "ArrayExpression") {
106
+ return;
107
+ }
108
+ const optionObjects = getObjectExpressionElements(ruleEntryValue);
109
+ for (const optionObject of optionObjects) {
110
+ const optionArrays = getArrayValuedOptionProperties(optionObject);
111
+ for (const optionArray of optionArrays) {
112
+ reportDuplicateOptionArray(context, sourceCode, optionArray);
113
+ }
114
+ }
115
+ };
116
+ /**
117
+ * Rule module that removes duplicate scalar literals from array-valued
118
+ * Stylelint secondary option properties.
119
+ */
120
+ const disallowStylelintDuplicateRuleOptionValuesRule = createTypedRule({
121
+ create(context) {
122
+ if (!isStylelintConfigFile(context.physicalFilename)) {
123
+ return {};
124
+ }
125
+ const sourceCode = context.sourceCode;
126
+ return toRuleListener({
127
+ ExportDefaultDeclaration(node) {
128
+ if (node === null || typeof node !== "object") {
129
+ return;
130
+ }
131
+ const exportDefaultNode = node;
132
+ const configObject = getExportedStylelintConfigObject(exportDefaultNode.declaration);
133
+ if (configObject === undefined) {
134
+ return;
135
+ }
136
+ const rulesObject = getTopLevelRulesObject(configObject);
137
+ if (rulesObject === undefined) {
138
+ return;
139
+ }
140
+ const ruleEntries = getTopLevelRuleEntries(rulesObject);
141
+ for (const ruleEntry of ruleEntries) {
142
+ reportDuplicateRuleOptionValues(context, sourceCode, ruleEntry.value);
143
+ }
144
+ },
145
+ });
146
+ },
147
+ meta: {
148
+ deprecated: false,
149
+ docs: {
150
+ configs: [
151
+ "stylelint2.configs.recommended",
152
+ "stylelint2.configs.configuration",
153
+ "stylelint2.configs.all",
154
+ ],
155
+ description: "disallow duplicate scalar literals in array-valued Stylelint secondary rule options.",
156
+ frozen: false,
157
+ recommended: true,
158
+ requiresTypeChecking: false,
159
+ url: "https://nick2bad4u.github.io/eslint-plugin-stylelint-2/docs/rules/disallow-stylelint-duplicate-rule-option-values",
160
+ },
161
+ fixable: "code",
162
+ messages: {
163
+ disallowDuplicateRuleOptionValues: "Remove duplicate values from this Stylelint secondary option array so rule behavior remains explicit.",
164
+ },
165
+ schema: [],
166
+ type: "suggestion",
167
+ },
168
+ name: "disallow-stylelint-duplicate-rule-option-values",
169
+ });
170
+ export default disallowStylelintDuplicateRuleOptionValuesRule;
171
+ //# sourceMappingURL=disallow-stylelint-duplicate-rule-option-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-duplicate-rule-option-values.js","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-duplicate-rule-option-values.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { RuleModuleWithDocs } from "../_internal/typed-rule.js";
2
+ type MessageIds = "disallowEmptyRulesObject";
3
+ type Options = readonly [];
4
+ /** Rule module that disallows `rules: {}` in Stylelint config files. */
5
+ declare const disallowStylelintEmptyRulesObjectRule: RuleModuleWithDocs<MessageIds, Options>;
6
+ export default disallowStylelintEmptyRulesObjectRule;
7
+ //# sourceMappingURL=disallow-stylelint-empty-rules-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-empty-rules-object.d.ts","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-empty-rules-object.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AASrE,KAAK,UAAU,GAAG,0BAA0B,CAAC;AAC7C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAU3B,wEAAwE;AACxE,QAAA,MAAM,qCAAqC,EAAE,kBAAkB,CAC3D,UAAU,EACV,OAAO,CA2ET,CAAC;AAEH,eAAe,qCAAqC,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { getExportedStylelintConfigObject, getObjectPropertyByName, isStylelintConfigFile, } from "../_internal/stylelint-config-object.js";
2
+ import { createTypedRule, toRuleListener } from "../_internal/typed-rule.js";
3
+ const isPropertyExpressionValue = (value) => value.type !== "ArrayPattern" &&
4
+ value.type !== "AssignmentPattern" &&
5
+ value.type !== "ObjectPattern" &&
6
+ value.type !== "TSEmptyBodyFunctionExpression";
7
+ /** Rule module that disallows `rules: {}` in Stylelint config files. */
8
+ const disallowStylelintEmptyRulesObjectRule = createTypedRule({
9
+ create(context) {
10
+ if (!isStylelintConfigFile(context.physicalFilename)) {
11
+ return {};
12
+ }
13
+ return toRuleListener({
14
+ ExportDefaultDeclaration(node) {
15
+ if (node === null || typeof node !== "object") {
16
+ return;
17
+ }
18
+ const exportDefaultNode = node;
19
+ const configObject = getExportedStylelintConfigObject(exportDefaultNode.declaration);
20
+ if (configObject === undefined) {
21
+ return;
22
+ }
23
+ const rulesProperty = getObjectPropertyByName(configObject, "rules");
24
+ if (rulesProperty === undefined) {
25
+ return;
26
+ }
27
+ const value = rulesProperty.value;
28
+ if (!isPropertyExpressionValue(value)) {
29
+ return;
30
+ }
31
+ if (value.type !== "ObjectExpression" ||
32
+ value.properties.length > 0) {
33
+ return;
34
+ }
35
+ context.report({
36
+ messageId: "disallowEmptyRulesObject",
37
+ node: rulesProperty,
38
+ });
39
+ },
40
+ });
41
+ },
42
+ meta: {
43
+ deprecated: false,
44
+ docs: {
45
+ configs: [
46
+ "stylelint2.configs.recommended",
47
+ "stylelint2.configs.configuration",
48
+ "stylelint2.configs.all",
49
+ ],
50
+ description: "disallow an empty top-level `rules` object in authored Stylelint config files.",
51
+ frozen: false,
52
+ recommended: true,
53
+ requiresTypeChecking: false,
54
+ url: "https://nick2bad4u.github.io/eslint-plugin-stylelint-2/docs/rules/disallow-stylelint-empty-rules-object",
55
+ },
56
+ messages: {
57
+ disallowEmptyRulesObject: "Avoid `rules: {}` in shared Stylelint config files. Either define explicit rules or remove the empty object.",
58
+ },
59
+ schema: [],
60
+ type: "suggestion",
61
+ },
62
+ name: "disallow-stylelint-empty-rules-object",
63
+ });
64
+ export default disallowStylelintEmptyRulesObjectRule;
65
+ //# sourceMappingURL=disallow-stylelint-empty-rules-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-empty-rules-object.js","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-empty-rules-object.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK7E,MAAM,yBAAyB,GAAG,CAC9B,KAA2C,EACf,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,cAAc;IAC7B,KAAK,CAAC,IAAI,KAAK,mBAAmB;IAClC,KAAK,CAAC,IAAI,KAAK,eAAe;IAC9B,KAAK,CAAC,IAAI,KAAK,+BAA+B,CAAC;AAEnD,wEAAwE;AACxE,MAAM,qCAAqC,GAGvC,eAAe,CAAC;IAChB,MAAM,CAAC,OAAO;QACV,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,cAAc,CAAC;YAClB,wBAAwB,CAAC,IAAa;gBAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5C,OAAO;gBACX,CAAC;gBAED,MAAM,iBAAiB,GACnB,IAAyC,CAAC;gBAC9C,MAAM,YAAY,GAAG,gCAAgC,CACjD,iBAAiB,CAAC,WAAW,CAChC,CAAC;gBAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBAED,MAAM,aAAa,GAAG,uBAAuB,CACzC,YAAY,EACZ,OAAO,CACV,CAAC;gBAEF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAElC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,OAAO;gBACX,CAAC;gBAED,IACI,KAAK,CAAC,IAAI,KAAK,kBAAkB;oBACjC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC7B,CAAC;oBACC,OAAO;gBACX,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACX,SAAS,EAAE,0BAA0B;oBACrC,IAAI,EAAE,aAAa;iBACtB,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IACD,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,OAAO,EAAE;gBACL,gCAAgC;gBAChC,kCAAkC;gBAClC,wBAAwB;aAC3B;YACD,WAAW,EACP,gFAAgF;YACpF,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,KAAK;YAC3B,GAAG,EAAE,yGAAyG;SACjH;QACD,QAAQ,EAAE;YACN,wBAAwB,EACpB,8GAA8G;SACrH;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,uCAAuC;CAChD,CAAC,CAAC;AAEH,eAAe,qCAAqC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Disallow top-level Stylelint ignoreDisables configuration in authored config files.
4
+ */
5
+ import type { RuleModuleWithDocs } from "../_internal/typed-rule.js";
6
+ /** Rule module that disallows `ignoreDisables` in Stylelint config files. */
7
+ declare const disallowStylelintIgnoreDisablesRule: RuleModuleWithDocs<"disallowConfigOption", readonly []>;
8
+ export default disallowStylelintIgnoreDisablesRule;
9
+ //# sourceMappingURL=disallow-stylelint-ignore-disables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-ignore-disables.d.ts","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-ignore-disables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,6EAA6E;AAC7E,QAAA,MAAM,mCAAmC,EAAE,kBAAkB,CACzD,sBAAsB,EACtB,SAAS,EAAE,CA0Bb,CAAC;AAEH,eAAe,mCAAmC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { createStylelintConfigDisallowedOptionRule } from "../_internal/stylelint-config-disallowed-option-rule.js";
2
+ /** Rule module that disallows `ignoreDisables` in Stylelint config files. */
3
+ const disallowStylelintIgnoreDisablesRule = createStylelintConfigDisallowedOptionRule({
4
+ meta: {
5
+ deprecated: false,
6
+ docs: {
7
+ configs: [
8
+ "stylelint2.configs.configuration",
9
+ "stylelint2.configs.all",
10
+ ],
11
+ description: "disallow configuring Stylelint's top-level `ignoreDisables` option inside authored Stylelint config files.",
12
+ frozen: false,
13
+ recommended: false,
14
+ requiresTypeChecking: false,
15
+ url: "https://nick2bad4u.github.io/eslint-plugin-stylelint-2/docs/rules/disallow-stylelint-ignore-disables",
16
+ },
17
+ fixable: "code",
18
+ messages: {
19
+ disallowConfigOption: "Remove `ignoreDisables` from the Stylelint config. It undermines disable-comment governance and conflicts with the report*Disables safety checks this plugin is designed to reinforce.",
20
+ },
21
+ schema: [],
22
+ type: "suggestion",
23
+ },
24
+ name: "disallow-stylelint-ignore-disables",
25
+ optionName: "ignoreDisables",
26
+ });
27
+ export default disallowStylelintIgnoreDisablesRule;
28
+ //# sourceMappingURL=disallow-stylelint-ignore-disables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-ignore-disables.js","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-ignore-disables.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yCAAyC,EAAE,MAAM,yDAAyD,CAAC;AAEpH,6EAA6E;AAC7E,MAAM,mCAAmC,GAGrC,yCAAyC,CAAC;IAC1C,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,OAAO,EAAE;gBACL,kCAAkC;gBAClC,wBAAwB;aAC3B;YACD,WAAW,EACP,4GAA4G;YAChH,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,KAAK;YAC3B,GAAG,EAAE,sGAAsG;SAC9G;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACN,oBAAoB,EAChB,wLAAwL;SAC/L;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,oCAAoC;IAC1C,UAAU,EAAE,gBAAgB;CAC/B,CAAC,CAAC;AAEH,eAAe,mCAAmC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Disallow top-level Stylelint ignoreFiles configuration in authored config files.
4
+ */
5
+ import type { RuleModuleWithDocs } from "../_internal/typed-rule.js";
6
+ /** Rule module that disallows `ignoreFiles` in Stylelint config files. */
7
+ declare const disallowStylelintIgnoreFilesRule: RuleModuleWithDocs<"disallowConfigOption", readonly []>;
8
+ export default disallowStylelintIgnoreFilesRule;
9
+ //# sourceMappingURL=disallow-stylelint-ignore-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-ignore-files.d.ts","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-ignore-files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,0EAA0E;AAC1E,QAAA,MAAM,gCAAgC,EAAE,kBAAkB,CACtD,sBAAsB,EACtB,SAAS,EAAE,CA0Bb,CAAC;AAEH,eAAe,gCAAgC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { createStylelintConfigDisallowedOptionRule } from "../_internal/stylelint-config-disallowed-option-rule.js";
2
+ /** Rule module that disallows `ignoreFiles` in Stylelint config files. */
3
+ const disallowStylelintIgnoreFilesRule = createStylelintConfigDisallowedOptionRule({
4
+ meta: {
5
+ deprecated: false,
6
+ docs: {
7
+ configs: [
8
+ "stylelint2.configs.configuration",
9
+ "stylelint2.configs.all",
10
+ ],
11
+ description: "disallow configuring Stylelint's top-level `ignoreFiles` option inside authored Stylelint config files.",
12
+ frozen: false,
13
+ recommended: false,
14
+ requiresTypeChecking: false,
15
+ url: "https://nick2bad4u.github.io/eslint-plugin-stylelint-2/docs/rules/disallow-stylelint-ignore-files",
16
+ },
17
+ fixable: "code",
18
+ messages: {
19
+ disallowConfigOption: "Remove `ignoreFiles` from the shared Stylelint config. Ignore coverage should be defined in .stylelintignore or invocation-level file globs so repositories keep predictable lint scope.",
20
+ },
21
+ schema: [],
22
+ type: "suggestion",
23
+ },
24
+ name: "disallow-stylelint-ignore-files",
25
+ optionName: "ignoreFiles",
26
+ });
27
+ export default disallowStylelintIgnoreFilesRule;
28
+ //# sourceMappingURL=disallow-stylelint-ignore-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-ignore-files.js","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-ignore-files.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yCAAyC,EAAE,MAAM,yDAAyD,CAAC;AAEpH,0EAA0E;AAC1E,MAAM,gCAAgC,GAGlC,yCAAyC,CAAC;IAC1C,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,OAAO,EAAE;gBACL,kCAAkC;gBAClC,wBAAwB;aAC3B;YACD,WAAW,EACP,yGAAyG;YAC7G,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,KAAK;YAC3B,GAAG,EAAE,mGAAmG;SAC3G;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACN,oBAAoB,EAChB,0LAA0L;SACjM;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,iCAAiC;IACvC,UAAU,EAAE,aAAa;CAC5B,CAAC,CAAC;AAEH,eAAe,gCAAgC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { RuleModuleWithDocs } from "../_internal/typed-rule.js";
2
+ type MessageIds = "disallowNullRuleConfig";
3
+ type Options = readonly [];
4
+ /** Rule module that disallows top-level `rules: { some-rule: null }` entries. */
5
+ declare const disallowStylelintNullRuleConfigRule: RuleModuleWithDocs<MessageIds, Options>;
6
+ export default disallowStylelintNullRuleConfigRule;
7
+ //# sourceMappingURL=disallow-stylelint-null-rule-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-null-rule-config.d.ts","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-null-rule-config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAYrE,KAAK,UAAU,GAAG,wBAAwB,CAAC;AAC3C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA6B3B,iFAAiF;AACjF,QAAA,MAAM,mCAAmC,EAAE,kBAAkB,CACzD,UAAU,EACV,OAAO,CAoFT,CAAC;AAEH,eAAe,mCAAmC,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { getExportedStylelintConfigObject, isStylelintConfigFile, } from "../_internal/stylelint-config-object.js";
2
+ import { getTopLevelRuleEntries, getTopLevelRulesObject, } from "../_internal/stylelint-config-rules-object.js";
3
+ import { createTypedRule, toRuleListener } from "../_internal/typed-rule.js";
4
+ const isPropertyExpressionValue = (value) => value.type !== "ArrayPattern" &&
5
+ value.type !== "AssignmentPattern" &&
6
+ value.type !== "ObjectPattern" &&
7
+ value.type !== "TSEmptyBodyFunctionExpression";
8
+ const getRuleName = (property) => {
9
+ const propertyKey = property.key;
10
+ if (propertyKey.type === "Identifier") {
11
+ return propertyKey.name;
12
+ }
13
+ if (propertyKey.type === "Literal" &&
14
+ typeof propertyKey.value === "string") {
15
+ return propertyKey.value;
16
+ }
17
+ return undefined;
18
+ };
19
+ /** Rule module that disallows top-level `rules: { some-rule: null }` entries. */
20
+ const disallowStylelintNullRuleConfigRule = createTypedRule({
21
+ create(context) {
22
+ if (!isStylelintConfigFile(context.physicalFilename)) {
23
+ return {};
24
+ }
25
+ return toRuleListener({
26
+ ExportDefaultDeclaration(node) {
27
+ if (node === null || typeof node !== "object") {
28
+ return;
29
+ }
30
+ const exportDefaultNode = node;
31
+ const configObject = getExportedStylelintConfigObject(exportDefaultNode.declaration);
32
+ if (configObject === undefined) {
33
+ return;
34
+ }
35
+ const rulesObject = getTopLevelRulesObject(configObject);
36
+ if (rulesObject === undefined) {
37
+ return;
38
+ }
39
+ const ruleEntries = getTopLevelRuleEntries(rulesObject);
40
+ for (const ruleEntry of ruleEntries) {
41
+ const ruleEntryValue = ruleEntry.value;
42
+ if (!isPropertyExpressionValue(ruleEntryValue)) {
43
+ continue;
44
+ }
45
+ if (ruleEntryValue.type !== "Literal" ||
46
+ ruleEntryValue.value !== null) {
47
+ continue;
48
+ }
49
+ const ruleName = getRuleName(ruleEntry);
50
+ context.report({
51
+ data: ruleName === undefined
52
+ ? {}
53
+ : {
54
+ ruleName,
55
+ },
56
+ messageId: "disallowNullRuleConfig",
57
+ node: ruleEntry,
58
+ });
59
+ }
60
+ },
61
+ });
62
+ },
63
+ meta: {
64
+ deprecated: false,
65
+ docs: {
66
+ configs: [
67
+ "stylelint2.configs.recommended",
68
+ "stylelint2.configs.configuration",
69
+ "stylelint2.configs.all",
70
+ ],
71
+ description: "disallow `null` values in top-level Stylelint `rules` entries.",
72
+ frozen: false,
73
+ recommended: true,
74
+ requiresTypeChecking: false,
75
+ url: "https://nick2bad4u.github.io/eslint-plugin-stylelint-2/docs/rules/disallow-stylelint-null-rule-config",
76
+ },
77
+ messages: {
78
+ disallowNullRuleConfig: "Avoid configuring Stylelint rule `{{ruleName}}` as `null` in shared config. Prefer explicit rule behavior that is reviewable in preset policy.",
79
+ },
80
+ schema: [],
81
+ type: "suggestion",
82
+ },
83
+ name: "disallow-stylelint-null-rule-config",
84
+ });
85
+ export default disallowStylelintNullRuleConfigRule;
86
+ //# sourceMappingURL=disallow-stylelint-null-rule-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-null-rule-config.js","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-null-rule-config.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,gCAAgC,EAChC,qBAAqB,GACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,sBAAsB,GACzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK7E,MAAM,yBAAyB,GAAG,CAC9B,KAA2C,EACf,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,cAAc;IAC7B,KAAK,CAAC,IAAI,KAAK,mBAAmB;IAClC,KAAK,CAAC,IAAI,KAAK,eAAe;IAC9B,KAAK,CAAC,IAAI,KAAK,+BAA+B,CAAC;AAEnD,MAAM,WAAW,GAAG,CAChB,QAAqC,EACnB,EAAE;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;IAEjC,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IACI,WAAW,CAAC,IAAI,KAAK,SAAS;QAC9B,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,EACvC,CAAC;QACC,OAAO,WAAW,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,iFAAiF;AACjF,MAAM,mCAAmC,GAGrC,eAAe,CAAC;IAChB,MAAM,CAAC,OAAO;QACV,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,cAAc,CAAC;YAClB,wBAAwB,CAAC,IAAa;gBAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5C,OAAO;gBACX,CAAC;gBAED,MAAM,iBAAiB,GACnB,IAAyC,CAAC;gBAC9C,MAAM,YAAY,GAAG,gCAAgC,CACjD,iBAAiB,CAAC,WAAW,CAChC,CAAC;gBAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;gBAEzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;gBAExD,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;oBAClC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;oBAEvC,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC7C,SAAS;oBACb,CAAC;oBAED,IACI,cAAc,CAAC,IAAI,KAAK,SAAS;wBACjC,cAAc,CAAC,KAAK,KAAK,IAAI,EAC/B,CAAC;wBACC,SAAS;oBACb,CAAC;oBAED,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;oBAExC,OAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EACA,QAAQ,KAAK,SAAS;4BAClB,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC;gCACI,QAAQ;6BACX;wBACX,SAAS,EAAE,wBAAwB;wBACnC,IAAI,EAAE,SAAS;qBAClB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IACD,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,OAAO,EAAE;gBACL,gCAAgC;gBAChC,kCAAkC;gBAClC,wBAAwB;aAC3B;YACD,WAAW,EACP,gEAAgE;YACpE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,KAAK;YAC3B,GAAG,EAAE,uGAAuG;SAC/G;QACD,QAAQ,EAAE;YACN,sBAAsB,EAClB,gJAAgJ;SACvJ;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,qCAAqC;CAC9C,CAAC,CAAC;AAEH,eAAe,mCAAmC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { RuleModuleWithDocs } from "../_internal/typed-rule.js";
2
+ type MessageIds = "disallowRuntimeOptionInOverride";
3
+ type Options = readonly [];
4
+ /** Rule module that disallows runtime options in Stylelint overrides. */
5
+ declare const disallowStylelintOverridesRuntimeOptionsRule: RuleModuleWithDocs<MessageIds, Options>;
6
+ export default disallowStylelintOverridesRuntimeOptionsRule;
7
+ //# sourceMappingURL=disallow-stylelint-overrides-runtime-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-overrides-runtime-options.d.ts","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-overrides-runtime-options.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAUrE,KAAK,UAAU,GAAG,iCAAiC,CAAC;AACpD,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAsG3B,yEAAyE;AACzE,QAAA,MAAM,4CAA4C,EAAE,kBAAkB,CAClE,UAAU,EACV,OAAO,CAyET,CAAC;AAEH,eAAe,4CAA4C,CAAC"}
@@ -0,0 +1,124 @@
1
+ import { createFixToRemoveObjectProperty, getExportedStylelintConfigObject, isPropertyNamed, isStylelintConfigFile, } from "../_internal/stylelint-config-object.js";
2
+ import { createTypedRule, toRuleListener } from "../_internal/typed-rule.js";
3
+ const isDisallowedRuntimeOptionName = (name) => name === "allowEmptyInput" || name === "cache" || name === "fix";
4
+ const isPropertyExpressionValue = (value) => value.type !== "ArrayPattern" &&
5
+ value.type !== "AssignmentPattern" &&
6
+ value.type !== "ObjectPattern" &&
7
+ value.type !== "TSEmptyBodyFunctionExpression";
8
+ const getOverridesEntries = (configObject) => {
9
+ for (const propertyNode of configObject.properties) {
10
+ if (propertyNode.type !== "Property" ||
11
+ !isPropertyNamed(propertyNode, "overrides")) {
12
+ continue;
13
+ }
14
+ const propertyValue = propertyNode.value;
15
+ if (!isPropertyExpressionValue(propertyValue)) {
16
+ return [];
17
+ }
18
+ if (propertyValue.type !== "ArrayExpression") {
19
+ return [];
20
+ }
21
+ const overrideEntries = [];
22
+ for (const entry of propertyValue.elements) {
23
+ if (entry?.type !== "ObjectExpression") {
24
+ continue;
25
+ }
26
+ overrideEntries.push(entry);
27
+ }
28
+ return overrideEntries;
29
+ }
30
+ return [];
31
+ };
32
+ const getRuntimeOptionName = (propertyNode) => {
33
+ if (propertyNode.computed) {
34
+ return undefined;
35
+ }
36
+ const propertyKey = propertyNode.key;
37
+ let propertyName = undefined;
38
+ if (propertyKey.type === "Identifier") {
39
+ propertyName = propertyKey.name;
40
+ }
41
+ else if (propertyKey.type === "Literal" &&
42
+ typeof propertyKey.value === "string") {
43
+ propertyName = propertyKey.value;
44
+ }
45
+ if (propertyName === undefined) {
46
+ return undefined;
47
+ }
48
+ return isDisallowedRuntimeOptionName(propertyName)
49
+ ? propertyName
50
+ : undefined;
51
+ };
52
+ const reportRuntimeOption = (context, overrideEntry, propertyNode, optionName) => {
53
+ context.report({
54
+ data: {
55
+ optionName,
56
+ },
57
+ fix(fixer) {
58
+ return createFixToRemoveObjectProperty({
59
+ fixer,
60
+ objectExpression: overrideEntry,
61
+ property: propertyNode,
62
+ });
63
+ },
64
+ messageId: "disallowRuntimeOptionInOverride",
65
+ node: propertyNode,
66
+ });
67
+ };
68
+ /** Rule module that disallows runtime options in Stylelint overrides. */
69
+ const disallowStylelintOverridesRuntimeOptionsRule = createTypedRule({
70
+ create(context) {
71
+ if (!isStylelintConfigFile(context.physicalFilename)) {
72
+ return {};
73
+ }
74
+ return toRuleListener({
75
+ ExportDefaultDeclaration(node) {
76
+ if (node === null || typeof node !== "object") {
77
+ return;
78
+ }
79
+ const exportDefaultNode = node;
80
+ const configObject = getExportedStylelintConfigObject(exportDefaultNode.declaration);
81
+ if (configObject === undefined) {
82
+ return;
83
+ }
84
+ const overridesEntries = getOverridesEntries(configObject);
85
+ for (const overrideEntry of overridesEntries) {
86
+ for (const propertyNode of overrideEntry.properties) {
87
+ if (propertyNode.type !== "Property") {
88
+ continue;
89
+ }
90
+ const runtimeOptionName = getRuntimeOptionName(propertyNode);
91
+ if (runtimeOptionName === undefined) {
92
+ continue;
93
+ }
94
+ reportRuntimeOption(context, overrideEntry, propertyNode, runtimeOptionName);
95
+ }
96
+ }
97
+ },
98
+ });
99
+ },
100
+ meta: {
101
+ deprecated: false,
102
+ docs: {
103
+ configs: [
104
+ "stylelint2.configs.recommended",
105
+ "stylelint2.configs.configuration",
106
+ "stylelint2.configs.all",
107
+ ],
108
+ description: "disallow runtime-only Stylelint options (`allowEmptyInput`, `cache`, `fix`) inside `overrides` entries.",
109
+ frozen: false,
110
+ recommended: true,
111
+ requiresTypeChecking: false,
112
+ url: "https://nick2bad4u.github.io/eslint-plugin-stylelint-2/docs/rules/disallow-stylelint-overrides-runtime-options",
113
+ },
114
+ fixable: "code",
115
+ messages: {
116
+ disallowRuntimeOptionInOverride: "Move `{{optionName}}` out of `overrides`. This runtime option should not be configured per-file and belongs at invocation scope instead.",
117
+ },
118
+ schema: [],
119
+ type: "suggestion",
120
+ },
121
+ name: "disallow-stylelint-overrides-runtime-options",
122
+ });
123
+ export default disallowStylelintOverridesRuntimeOptionsRule;
124
+ //# sourceMappingURL=disallow-stylelint-overrides-runtime-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-overrides-runtime-options.js","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-overrides-runtime-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Disallow top-level Stylelint processors configuration in authored config files.
4
+ */
5
+ import type { RuleModuleWithDocs } from "../_internal/typed-rule.js";
6
+ /** Rule module that disallows `processors` in Stylelint config files. */
7
+ declare const disallowStylelintProcessorsRule: RuleModuleWithDocs<"disallowConfigOption", readonly []>;
8
+ export default disallowStylelintProcessorsRule;
9
+ //# sourceMappingURL=disallow-stylelint-processors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disallow-stylelint-processors.d.ts","sourceRoot":"","sources":["../../src/rules/disallow-stylelint-processors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,yEAAyE;AACzE,QAAA,MAAM,+BAA+B,EAAE,kBAAkB,CACrD,sBAAsB,EACtB,SAAS,EAAE,CA2Bb,CAAC;AAEH,eAAe,+BAA+B,CAAC"}