@alexlit/lint-kit 103.0.0 → 105.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 (146) hide show
  1. package/.lintstagedrc.js +1 -2
  2. package/.markdownlintrc.js +1 -1
  3. package/.stylelintrc.js +1 -4
  4. package/README.md +1 -1
  5. package/package.json +16 -14
  6. package/packages/config-commitlint/CHANGELOG.md +7 -0
  7. package/packages/config-commitlint/README.md +28 -0
  8. package/packages/config-commitlint/index.js +3 -0
  9. package/packages/config-commitlint/package.json +38 -0
  10. package/packages/config-eslint/CHANGELOG.md +37 -0
  11. package/packages/config-eslint/README.md +69 -0
  12. package/packages/config-eslint/TODO.md +6 -0
  13. package/packages/config-eslint/dictionaries/index.js +462 -0
  14. package/packages/config-eslint/dictionaries/programming/bash.js +25 -0
  15. package/packages/config-eslint/dictionaries/programming/django.js +2345 -0
  16. package/packages/config-eslint/dictionaries/programming/elixir.js +64 -0
  17. package/packages/config-eslint/dictionaries/programming/go.js +7748 -0
  18. package/packages/config-eslint/dictionaries/programming/java.js +33527 -0
  19. package/packages/config-eslint/dictionaries/programming/latex.js +675 -0
  20. package/packages/config-eslint/dictionaries/programming/lua.js +394 -0
  21. package/packages/config-eslint/dictionaries/programming/php.js +9788 -0
  22. package/packages/config-eslint/dictionaries/programming/python.js +367 -0
  23. package/packages/config-eslint/dictionaries/programming/ruby.js +357 -0
  24. package/packages/config-eslint/dictionaries/programming/rust.js +115 -0
  25. package/packages/config-eslint/dictionaries/programming/scala.js +2755 -0
  26. package/packages/config-eslint/dictionaries/specialized/html-symbol-entities.js +1118 -0
  27. package/packages/config-eslint/dictionaries/specialized/lorem-ipsum.js +359 -0
  28. package/packages/config-eslint/index.js +225 -0
  29. package/packages/config-eslint/package.json +87 -0
  30. package/packages/config-eslint/plugins/array-func.js +21 -0
  31. package/packages/config-eslint/plugins/compat.js +8 -0
  32. package/packages/config-eslint/plugins/decorator-position.js +16 -0
  33. package/packages/config-eslint/plugins/eslint-comments.js +10 -0
  34. package/packages/config-eslint/plugins/etc.js +14 -0
  35. package/packages/config-eslint/plugins/ext.js +13 -0
  36. package/packages/config-eslint/plugins/filenames.js +39 -0
  37. package/packages/config-eslint/plugins/import.js +72 -0
  38. package/packages/config-eslint/plugins/jsdoc.js +33 -0
  39. package/packages/config-eslint/plugins/jsx-a11y.js +6 -0
  40. package/packages/config-eslint/plugins/lit-a11y.js +6 -0
  41. package/packages/config-eslint/plugins/lit.js +10 -0
  42. package/packages/config-eslint/plugins/more.js +18 -0
  43. package/packages/config-eslint/plugins/no-await-in-promise.js +6 -0
  44. package/packages/config-eslint/plugins/no-constructor-bind.js +9 -0
  45. package/packages/config-eslint/plugins/no-explicit-type-exports.js +8 -0
  46. package/packages/config-eslint/plugins/no-inferred-method-name.js +8 -0
  47. package/packages/config-eslint/plugins/no-loops.js +8 -0
  48. package/packages/config-eslint/plugins/no-secrets.js +13 -0
  49. package/packages/config-eslint/plugins/no-use-extend-native.js +6 -0
  50. package/packages/config-eslint/plugins/nuxt.js +10 -0
  51. package/packages/config-eslint/plugins/optional/node.js +6 -0
  52. package/packages/config-eslint/plugins/prettier.js +25 -0
  53. package/packages/config-eslint/plugins/promise.js +11 -0
  54. package/packages/config-eslint/plugins/quasar.js +6 -0
  55. package/packages/config-eslint/plugins/regexp.js +8 -0
  56. package/packages/config-eslint/plugins/security.js +11 -0
  57. package/packages/config-eslint/plugins/simple-import-sort.js +9 -0
  58. package/packages/config-eslint/plugins/sonar.js +6 -0
  59. package/packages/config-eslint/plugins/sort-class-members.js +299 -0
  60. package/packages/config-eslint/plugins/sort-destructure-keys.js +11 -0
  61. package/packages/config-eslint/plugins/sort-keys-fix.js +8 -0
  62. package/packages/config-eslint/plugins/spellcheck.js +19 -0
  63. package/packages/config-eslint/plugins/sql.js +27 -0
  64. package/packages/config-eslint/plugins/tanstack-query.js +5 -0
  65. package/packages/config-eslint/plugins/testing-library.js +10 -0
  66. package/packages/config-eslint/plugins/typescript/allow-boolean-property-list.const.js +38 -0
  67. package/packages/config-eslint/plugins/typescript/boolean-prefixes.const.js +11 -0
  68. package/packages/config-eslint/plugins/typescript/english-verbs.const.js +3368 -0
  69. package/packages/config-eslint/plugins/typescript/index.js +154 -0
  70. package/packages/config-eslint/plugins/typescript-sort-keys.js +6 -0
  71. package/packages/config-eslint/plugins/unicorn.js +66 -0
  72. package/packages/config-eslint/plugins/unused-imports.js +18 -0
  73. package/packages/config-eslint/plugins/vitest.js +17 -0
  74. package/packages/config-eslint/plugins/vue-i18n.js +35 -0
  75. package/packages/config-eslint/plugins/vue.js +268 -0
  76. package/packages/config-eslint/plugins/vuejs-accessibility.js +21 -0
  77. package/packages/config-eslint/plugins/wc.js +6 -0
  78. package/packages/config-eslint/plugins/write-good-comments.js +9 -0
  79. package/packages/config-htmllint/CHANGELOG.md +7 -0
  80. package/packages/config-htmllint/README.md +20 -0
  81. package/packages/config-htmllint/index.js +30 -0
  82. package/packages/config-htmllint/package.json +39 -0
  83. package/packages/config-htmllint/test/html.html +335 -0
  84. package/packages/config-markdownlint/CHANGELOG.md +9 -0
  85. package/packages/config-markdownlint/README.md +16 -0
  86. package/packages/config-markdownlint/index.js +17 -0
  87. package/packages/config-markdownlint/package.json +37 -0
  88. package/packages/config-markdownlint/test/deepin-2.md +106 -0
  89. package/packages/config-npmlint/CHANGELOG.md +7 -0
  90. package/packages/config-npmlint/README.md +18 -0
  91. package/packages/config-npmlint/index.json +3 -0
  92. package/packages/config-npmlint/package.json +42 -0
  93. package/packages/config-prettier/CHANGELOG.md +7 -0
  94. package/packages/config-prettier/README.md +16 -0
  95. package/packages/config-prettier/index.js +31 -0
  96. package/packages/config-prettier/package.json +48 -0
  97. package/packages/config-prettier/plugins/jsdoc.js +6 -0
  98. package/packages/config-prettier/plugins/pug.js +7 -0
  99. package/packages/config-prettier/plugins/sort-json.js +4 -0
  100. package/packages/config-prettier/plugins/svelte.js +7 -0
  101. package/packages/config-prettier/plugins/xml.js +4 -0
  102. package/packages/config-prettier/test/Migrations.sol +19 -0
  103. package/packages/config-prettier/test/jsdoc.js +27 -0
  104. package/packages/config-prettier/test/json.json +28 -0
  105. package/packages/config-prettier/test/pug.jade +14 -0
  106. package/packages/config-prettier/test/ruby.example +13 -0
  107. package/packages/config-prettier/test/sql.sql +6 -0
  108. package/packages/config-prettier/test/svelte.svelte +20 -0
  109. package/packages/config-prettier/test/svg.svg +67 -0
  110. package/packages/config-prettier/test/twig.twig +17 -0
  111. package/packages/config-prettier/test/xml.xml +43 -0
  112. package/packages/config-stylelint/CHANGELOG.md +7 -0
  113. package/packages/config-stylelint/README.md +38 -0
  114. package/packages/config-stylelint/index.js +145 -0
  115. package/packages/config-stylelint/package.json +60 -0
  116. package/packages/config-stylelint/plugins/a11y.js +12 -0
  117. package/packages/config-stylelint/plugins/at-rule-no-children.js +13 -0
  118. package/packages/config-stylelint/plugins/color-format.js +10 -0
  119. package/packages/config-stylelint/plugins/declaration-block-no-ignored-properties.js +8 -0
  120. package/packages/config-stylelint/plugins/high-performance-animation.js +14 -0
  121. package/packages/config-stylelint/plugins/no-nested-media.js +8 -0
  122. package/packages/config-stylelint/plugins/no-unresolved-module.js +25 -0
  123. package/packages/config-stylelint/plugins/no-unsupported-browser-features.js +15 -0
  124. package/packages/config-stylelint/plugins/optional/gamut.js +8 -0
  125. package/packages/config-stylelint/plugins/optional/logical-css.js +10 -0
  126. package/packages/config-stylelint/plugins/optional/no-indistinguishable-colors.js +8 -0
  127. package/packages/config-stylelint/plugins/optional/use-logical-spec.js +8 -0
  128. package/packages/config-stylelint/plugins/order.js +486 -0
  129. package/packages/config-stylelint/plugins/prettier.js +8 -0
  130. package/packages/config-stylelint/plugins/scss.js +83 -0
  131. package/packages/config-stylelint/plugins/selector-no-empty.js +8 -0
  132. package/packages/config-stylelint/plugins/use-nesting.js +8 -0
  133. package/packages/config-stylelint/plugins/vue.js +5 -0
  134. package/packages/config-stylelint/test/button.scss +7 -0
  135. package/packages/config-stylelint/test/comp-vue.vue +36 -0
  136. package/packages/config-stylelint/test/logical.scss +35 -0
  137. package/packages/config-stylelint/test/scss.scss +457 -0
  138. package/packages/config-stylelint/test/tailwind.css +8 -0
  139. package/scripts/lint.sh +7 -5
  140. package/scripts/semver.sh +17 -4
  141. package/scripts/up.sh +24 -4
  142. package/scripts/init.sh +0 -46
  143. package/scripts/ou.sh +0 -45
  144. package/scripts/publish.sh +0 -5
  145. package/scripts/upgrade.sh +0 -19
  146. package/scripts/version.sh +0 -4
@@ -0,0 +1,10 @@
1
+ /** @see [stylelint-color-format](https://github.com/filipekiss/stylelint-color-format) */
2
+ module.exports = {
3
+ plugins: ['stylelint-color-format'],
4
+
5
+ rules: {
6
+ 'color-format/format': {
7
+ format: 'rgb',
8
+ },
9
+ },
10
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [stylelint-declaration-block-no-ignored-properties](https://github.com/kristerkari/stylelint-declaration-block-no-ignored-properties) */
2
+ module.exports = {
3
+ plugins: ['stylelint-declaration-block-no-ignored-properties'],
4
+
5
+ rules: {
6
+ 'plugin/declaration-block-no-ignored-properties': true,
7
+ },
8
+ };
@@ -0,0 +1,14 @@
1
+ /** @see [stylelint-high-performance-animation](https://github.com/kristerkari/stylelint-high-performance-animation) */
2
+ module.exports = {
3
+ plugins: ['stylelint-high-performance-animation'],
4
+
5
+ rules: {
6
+ 'plugin/no-low-performance-animation-properties': [
7
+ true,
8
+ {
9
+ ignore: 'paint-properties',
10
+ ignoreProperties: [],
11
+ },
12
+ ],
13
+ },
14
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [stylelint-no-nested-media](https://github.com/dkrnl/stylelint-no-nested-media) */
2
+ module.exports = {
3
+ plugins: ['stylelint-no-nested-media'],
4
+
5
+ rules: {
6
+ 'pitcher/no-nested-media': true,
7
+ },
8
+ };
@@ -0,0 +1,25 @@
1
+ /** @see [stylelint-no-unresolved-module](https://github.com/niksy/stylelint-no-unresolved-module) */
2
+ module.exports = {
3
+ plugins: ['stylelint-no-unresolved-module'],
4
+
5
+ rules: {
6
+ 'plugin/no-unresolved-module': {
7
+ alias: {
8
+ '~assets': 'assets',
9
+ '~public': 'public',
10
+ '~static': 'static',
11
+ },
12
+
13
+ modules: [
14
+ 'assets',
15
+ 'node_modules',
16
+ 'public',
17
+ 'src',
18
+ 'src/assets',
19
+ 'src/public',
20
+ 'src/static',
21
+ 'static',
22
+ ],
23
+ },
24
+ },
25
+ };
@@ -0,0 +1,15 @@
1
+ /** @see [stylelint-no-unsupported-browser-features](https://github.com/ismay/stylelint-no-unsupported-browser-features) */
2
+ module.exports = {
3
+ plugins: ['stylelint-no-unsupported-browser-features'],
4
+
5
+ rules: {
6
+ 'plugin/no-unsupported-browser-features': [
7
+ true,
8
+ {
9
+ ignore: ['css-nesting'],
10
+ ignorePartialSupport: true,
11
+ severity: 'warning',
12
+ },
13
+ ],
14
+ },
15
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [stylelint-gamut](https://github.com/fpetrakov/stylelint-gamut) */
2
+ module.exports = {
3
+ plugins: ['stylelint-gamut'],
4
+
5
+ rules: {
6
+ 'gamut/color-no-out-gamut-range': true,
7
+ },
8
+ };
@@ -0,0 +1,10 @@
1
+ /** @see [stylelint-plugin-logical-css](https://github.com/yuschick/stylelint-plugin-logical-css) */
2
+ module.exports = {
3
+ plugins: ['stylelint-plugin-logical-css'],
4
+
5
+ rules: {
6
+ 'plugin/use-logical-properties-and-values': [true, { severity: 'warning' }],
7
+
8
+ 'plugin/use-logical-units': [true, { severity: 'warning' }],
9
+ },
10
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [stylelint-no-indistinguishable-colors](https://github.com/ierhyna/stylelint-no-indistinguishable-colors) */
2
+ module.exports = {
3
+ plugins: ['stylelint-no-indistinguishable-colors'],
4
+
5
+ rules: {
6
+ 'plugin/stylelint-no-indistinguishable-colors': true,
7
+ },
8
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [stylelint-use-logical-spec](https://github.com/Jordan-Hall/stylelint-use-logical-spec) */
2
+ module.exports = {
3
+ plugins: ['stylelint-use-logical-spec'],
4
+
5
+ rules: {
6
+ 'liberty/use-logical-spec': ['always'],
7
+ },
8
+ };
@@ -0,0 +1,486 @@
1
+ /** @see [stylelint-order](https://github.com/hudochenkov/stylelint-order) */
2
+ module.exports = {
3
+ plugins: ['stylelint-order'],
4
+
5
+ rules: {
6
+ 'order/order': [
7
+ // SASS variables
8
+ 'dollar-variables',
9
+
10
+ // LESS variables
11
+ 'at-variables',
12
+
13
+ // SASS extends
14
+ { name: 'extend', type: 'at-rule' },
15
+
16
+ // SASS includes
17
+ { name: 'include', type: 'at-rule' },
18
+
19
+ // Tailwind applies
20
+ { name: 'apply', type: 'at-rule' },
21
+
22
+ // CSS custom properties
23
+ 'custom-properties',
24
+
25
+ // SASS aliases
26
+ { selector: '%', type: 'rule' },
27
+
28
+ // Declarations
29
+ 'declarations',
30
+
31
+ // Root
32
+ { name: 'at-root', type: 'at-rule' }, // sass
33
+ { name: 'nest', type: 'at-rule' }, // postcss
34
+
35
+ // Bootstrap media mixins
36
+ { name: 'include', parameter: 'media', type: 'at-rule' },
37
+
38
+ // Tailwind breakpoints
39
+ { name: 'screen', parameter: '2xl', type: 'at-rule' },
40
+ { name: 'screen', parameter: 'xl', type: 'at-rule' },
41
+ { name: 'screen', parameter: 'lg', type: 'at-rule' },
42
+ { name: 'screen', parameter: 'md', type: 'at-rule' },
43
+ { name: 'screen', parameter: 'sm', type: 'at-rule' },
44
+
45
+ // Chrome breakpoints
46
+ { name: 'media', parameter: 'laptop-4k', type: 'at-rule' },
47
+ { name: 'media', parameter: 'laptop-xl', type: 'at-rule' },
48
+ { name: 'media', parameter: 'laptop-l', type: 'at-rule' },
49
+ { name: 'media', parameter: 'laptop', type: 'at-rule' },
50
+ { name: 'media', parameter: 'tablet', type: 'at-rule' },
51
+ { name: 'media', parameter: 'mobile-l', type: 'at-rule' },
52
+ { name: 'media', parameter: 'mobile-m', type: 'at-rule' },
53
+ { name: 'media', parameter: 'mobile-s', type: 'at-rule' },
54
+ { name: 'media', parameter: 'mobile', type: 'at-rule' },
55
+
56
+ // Bootstrap breakpoints
57
+ { name: 'media', parameter: 'xxl', type: 'at-rule' },
58
+ { name: 'media', parameter: 'xl', type: 'at-rule' },
59
+ { name: 'media', parameter: 'lg', type: 'at-rule' },
60
+ { name: 'media', parameter: 'md', type: 'at-rule' },
61
+ { name: 'media', parameter: 'sm', type: 'at-rule' },
62
+ { name: 'media', parameter: 'xs', type: 'at-rule' },
63
+ { name: 'media', parameter: 'xxs', type: 'at-rule' },
64
+
65
+ { name: 'media', type: 'at-rule' },
66
+
67
+ { name: 'container', type: 'at-rule' },
68
+ { name: 'supports', type: 'at-rule' },
69
+ { name: 'document', type: 'at-rule' },
70
+
71
+ // Nested
72
+ { name: 'page', type: 'at-rule' },
73
+ { name: 'font-face', type: 'at-rule' },
74
+ { name: 'keyframes', type: 'at-rule' },
75
+ { name: 'viewport', type: 'at-rule' },
76
+ { name: 'counter-style', type: 'at-rule' },
77
+
78
+ // Font-feature
79
+ { name: 'font-feature-values', type: 'at-rule' },
80
+ { name: 'swash', type: 'at-rule' },
81
+ { name: 'ornaments', type: 'at-rule' },
82
+ { name: 'annotation', type: 'at-rule' },
83
+ { name: 'stylistic', type: 'at-rule' },
84
+ { name: 'styleset', type: 'at-rule' },
85
+ { name: 'character-variant', type: 'at-rule' },
86
+
87
+ 'at-rules',
88
+
89
+ // Linguistic pseudo-classes
90
+ { selector: ':dir', type: 'rule' },
91
+ { selector: ':lang', type: 'rule' },
92
+
93
+ // Location pseudo-classes
94
+ { selector: ':any-link', type: 'rule' },
95
+ { selector: ':link', type: 'rule' },
96
+ { selector: ':visited', type: 'rule' },
97
+ { selector: ':local-link', type: 'rule' },
98
+ { selector: ':target', type: 'rule' },
99
+ { selector: ':target-within', type: 'rule' },
100
+ { selector: ':scope', type: 'rule' },
101
+
102
+ // User action pseudo-classes
103
+ { selector: ':hover', type: 'rule' },
104
+ { selector: ':active', type: 'rule' },
105
+ { selector: ':focus', type: 'rule' },
106
+ { selector: ':focus-visible', type: 'rule' },
107
+ { selector: ':focus-within', type: 'rule' },
108
+
109
+ // Time-dimensional pseudo-classes
110
+ { selector: ':current', type: 'rule' },
111
+ { selector: ':past', type: 'rule' },
112
+ { selector: ':future', type: 'rule' },
113
+
114
+ // Resource state pseudo-classes
115
+ { selector: ':playing', type: 'rule' },
116
+ { selector: ':paused', type: 'rule' },
117
+
118
+ // The input pseudo-classes
119
+ { selector: ':enabled', type: 'rule' },
120
+ { selector: ':disabled', type: 'rule' },
121
+ { selector: ':read-only', type: 'rule' },
122
+ { selector: ':read-write', type: 'rule' },
123
+ { selector: ':placeholder-shown', type: 'rule' },
124
+ { selector: ':default', type: 'rule' },
125
+ { selector: ':checked', type: 'rule' },
126
+ { selector: ':indeterminate', type: 'rule' },
127
+ { selector: ':blank', type: 'rule' },
128
+ { selector: ':valid', type: 'rule' },
129
+ { selector: ':invalid', type: 'rule' },
130
+ { selector: ':in-range', type: 'rule' },
131
+ { selector: ':out-of-range', type: 'rule' },
132
+ { selector: ':required', type: 'rule' },
133
+ { selector: ':optional', type: 'rule' },
134
+ { selector: ':user-invalid', type: 'rule' },
135
+
136
+ // Tree-structural pseudo-classes
137
+ { selector: ':root', type: 'rule' },
138
+ { selector: ':empty', type: 'rule' },
139
+ { selector: ':nth-child', type: 'rule' },
140
+ { selector: ':nth-last-child', type: 'rule' },
141
+ { selector: ':first-child', type: 'rule' },
142
+ { selector: ':last-child', type: 'rule' },
143
+ { selector: ':only-child', type: 'rule' },
144
+ { selector: ':nth-of-type', type: 'rule' },
145
+ { selector: ':nth-last-of-type', type: 'rule' },
146
+ { selector: ':first-of-type', type: 'rule' },
147
+ { selector: ':last-of-type', type: 'rule' },
148
+ { selector: ':only-of-type', type: 'rule' },
149
+
150
+ // Other pseudo-classes
151
+ { selector: ':any', type: 'rule' },
152
+ { selector: ':defined', type: 'rule' },
153
+ { selector: ':first', type: 'rule' },
154
+ { selector: ':fullscreen', type: 'rule' },
155
+ { selector: ':has', type: 'rule' },
156
+ { selector: ':host', type: 'rule' },
157
+ { selector: ':host-context', type: 'rule' },
158
+ { selector: ':is', type: 'rule' },
159
+ { selector: ':left', type: 'rule' },
160
+ { selector: ':matches', type: 'rule' },
161
+ { selector: ':not', type: 'rule' },
162
+ { selector: ':right', type: 'rule' },
163
+ { selector: ':where', type: 'rule' },
164
+
165
+ // Pseudo elements
166
+ { selector: '::before', type: 'rule' },
167
+ { selector: '::after', type: 'rule' },
168
+
169
+ // Text
170
+ { selector: '::first-letter', type: 'rule' },
171
+ { selector: '::first-line', type: 'rule' },
172
+
173
+ // Style
174
+ { selector: '::selection', type: 'rule' },
175
+ { selector: '::marker', type: 'rule' },
176
+ { selector: '::placeholder', type: 'rule' },
177
+ { selector: '::backdrop', type: 'rule' },
178
+ { selector: '::file-selector-button', type: 'rule' },
179
+
180
+ // Web video text tracks format
181
+ { selector: '::cue', type: 'rule' },
182
+ { selector: '::cue-region', type: 'rule' },
183
+
184
+ // Web components
185
+ { selector: '::part', type: 'rule' },
186
+ { selector: '::slotted', type: 'rule' },
187
+
188
+ // Spell checker
189
+ { selector: '::grammar-error', type: 'rule' },
190
+ { selector: '::spelling-error', type: 'rule' },
191
+
192
+ // Vendors
193
+ { selector: '::-khtml-', type: 'rule' },
194
+ { selector: '::-moz-', type: 'rule' },
195
+ { selector: '::-ms-', type: 'rule' },
196
+ { selector: '::-o-', type: 'rule' },
197
+ { selector: '::-webkit-', type: 'rule' },
198
+
199
+ // Deep
200
+ { selector: '::v-deep', type: 'rule' },
201
+
202
+ { selector: '::', type: 'rule' },
203
+
204
+ // Selector list
205
+ { selector: ',', type: 'rule' },
206
+
207
+ // Class selector
208
+ { selector: /\.a/, type: 'rule' },
209
+ { selector: /\.b/, type: 'rule' },
210
+ { selector: /\.c/, type: 'rule' },
211
+ { selector: /\.d/, type: 'rule' },
212
+ { selector: /\.e/, type: 'rule' },
213
+ { selector: /\.f/, type: 'rule' },
214
+ { selector: /\.g/, type: 'rule' },
215
+ { selector: /\.h/, type: 'rule' },
216
+ { selector: /\.i/, type: 'rule' },
217
+ { selector: /\.j/, type: 'rule' },
218
+ { selector: /\.k/, type: 'rule' },
219
+ { selector: /\.l/, type: 'rule' },
220
+ { selector: /\.m/, type: 'rule' },
221
+ { selector: /\.n/, type: 'rule' },
222
+ { selector: /\.o/, type: 'rule' },
223
+ { selector: /\.p/, type: 'rule' },
224
+ { selector: /\.q/, type: 'rule' },
225
+ { selector: /\.r/, type: 'rule' },
226
+ { selector: /\.s/, type: 'rule' },
227
+ { selector: /\.t/, type: 'rule' },
228
+ { selector: /\.u/, type: 'rule' },
229
+ { selector: /\.v/, type: 'rule' },
230
+ { selector: /\.w/, type: 'rule' },
231
+ { selector: /\.x/, type: 'rule' },
232
+ { selector: /\.w/, type: 'rule' },
233
+ { selector: /\.z/, type: 'rule' },
234
+ { selector: /\./, type: 'rule' },
235
+
236
+ // ID selector
237
+ { selector: /#/, type: 'rule' },
238
+
239
+ // Universal selector
240
+ { selector: /\*/, type: 'rule' },
241
+
242
+ // Attribute selector
243
+ { selector: /\[accept/, type: 'rule' },
244
+ { selector: /\[accept-charset/, type: 'rule' },
245
+ { selector: /\[accesskey/, type: 'rule' },
246
+ { selector: /\[action/, type: 'rule' },
247
+ { selector: /\[align/, type: 'rule' },
248
+ { selector: /\[alt/, type: 'rule' },
249
+ { selector: /\[async/, type: 'rule' },
250
+ { selector: /\[autocomplete/, type: 'rule' },
251
+ { selector: /\[autofocus/, type: 'rule' },
252
+ { selector: /\[autoplay/, type: 'rule' },
253
+ { selector: /\[bgcolor/, type: 'rule' },
254
+ { selector: /\[border/, type: 'rule' },
255
+ { selector: /\[charset/, type: 'rule' },
256
+ { selector: /\[checked/, type: 'rule' },
257
+ { selector: /\[cite/, type: 'rule' },
258
+ { selector: /\[class/, type: 'rule' },
259
+ { selector: /\[color/, type: 'rule' },
260
+ { selector: /\[cols/, type: 'rule' },
261
+ { selector: /\[colspan/, type: 'rule' },
262
+ { selector: /\[content/, type: 'rule' },
263
+ { selector: /\[contenteditable/, type: 'rule' },
264
+ { selector: /\[controls/, type: 'rule' },
265
+ { selector: /\[coords/, type: 'rule' },
266
+ { selector: /\[data/, type: 'rule' },
267
+ { selector: /\[data-/, type: 'rule' },
268
+ { selector: /\[datetime/, type: 'rule' },
269
+ { selector: /\[default/, type: 'rule' },
270
+ { selector: /\[defer/, type: 'rule' },
271
+ { selector: /\[dir/, type: 'rule' },
272
+ { selector: /\[dirname/, type: 'rule' },
273
+ { selector: /\[disabled/, type: 'rule' },
274
+ { selector: /\[download/, type: 'rule' },
275
+ { selector: /\[draggable/, type: 'rule' },
276
+ { selector: /\[enctype/, type: 'rule' },
277
+ { selector: /\[for/, type: 'rule' },
278
+ { selector: /\[form/, type: 'rule' },
279
+ { selector: /\[formaction/, type: 'rule' },
280
+ { selector: /\[headers/, type: 'rule' },
281
+ { selector: /\[height/, type: 'rule' },
282
+ { selector: /\[hidden/, type: 'rule' },
283
+ { selector: /\[high/, type: 'rule' },
284
+ { selector: /\[href/, type: 'rule' },
285
+ { selector: /\[hreflang/, type: 'rule' },
286
+ { selector: /\[http-equiv/, type: 'rule' },
287
+ { selector: /\[id/, type: 'rule' },
288
+ { selector: /\[ismap/, type: 'rule' },
289
+ { selector: /\[kind/, type: 'rule' },
290
+ { selector: /\[label/, type: 'rule' },
291
+ { selector: /\[lang/, type: 'rule' },
292
+ { selector: /\[list/, type: 'rule' },
293
+ { selector: /\[loop/, type: 'rule' },
294
+ { selector: /\[low/, type: 'rule' },
295
+ { selector: /\[max/, type: 'rule' },
296
+ { selector: /\[maxlength/, type: 'rule' },
297
+ { selector: /\[media/, type: 'rule' },
298
+ { selector: /\[method/, type: 'rule' },
299
+ { selector: /\[min/, type: 'rule' },
300
+ { selector: /\[multiple/, type: 'rule' },
301
+ { selector: /\[muted/, type: 'rule' },
302
+ { selector: /\[name/, type: 'rule' },
303
+ { selector: /\[novalidate/, type: 'rule' },
304
+ { selector: /\[onabort/, type: 'rule' },
305
+ { selector: /\[onafterprint/, type: 'rule' },
306
+ { selector: /\[onbeforeprint/, type: 'rule' },
307
+ { selector: /\[onbeforeunload/, type: 'rule' },
308
+ { selector: /\[onblur/, type: 'rule' },
309
+ { selector: /\[oncanplay/, type: 'rule' },
310
+ { selector: /\[oncanplaythrough/, type: 'rule' },
311
+ { selector: /\[onchange/, type: 'rule' },
312
+ { selector: /\[onclick/, type: 'rule' },
313
+ { selector: /\[oncontextmenu/, type: 'rule' },
314
+ { selector: /\[oncopy/, type: 'rule' },
315
+ { selector: /\[oncuechange/, type: 'rule' },
316
+ { selector: /\[oncut/, type: 'rule' },
317
+ { selector: /\[ondblclick/, type: 'rule' },
318
+ { selector: /\[ondrag/, type: 'rule' },
319
+ { selector: /\[ondragend/, type: 'rule' },
320
+ { selector: /\[ondragenter/, type: 'rule' },
321
+ { selector: /\[ondragleave/, type: 'rule' },
322
+ { selector: /\[ondragover/, type: 'rule' },
323
+ { selector: /\[ondragstart/, type: 'rule' },
324
+ { selector: /\[ondrop/, type: 'rule' },
325
+ { selector: /\[ondurationchange/, type: 'rule' },
326
+ { selector: /\[onemptied/, type: 'rule' },
327
+ { selector: /\[onended/, type: 'rule' },
328
+ { selector: /\[onerror/, type: 'rule' },
329
+ { selector: /\[onfocus/, type: 'rule' },
330
+ { selector: /\[onhashchange/, type: 'rule' },
331
+ { selector: /\[oninput/, type: 'rule' },
332
+ { selector: /\[oninvalid/, type: 'rule' },
333
+ { selector: /\[onkeydown/, type: 'rule' },
334
+ { selector: /\[onkeypress/, type: 'rule' },
335
+ { selector: /\[onkeyup/, type: 'rule' },
336
+ { selector: /\[onload/, type: 'rule' },
337
+ { selector: /\[onloadeddata/, type: 'rule' },
338
+ { selector: /\[onloadedmetadata/, type: 'rule' },
339
+ { selector: /\[onloadstart/, type: 'rule' },
340
+ { selector: /\[onmousedown/, type: 'rule' },
341
+ { selector: /\[onmousemove/, type: 'rule' },
342
+ { selector: /\[onmouseout/, type: 'rule' },
343
+ { selector: /\[onmouseover/, type: 'rule' },
344
+ { selector: /\[onmouseup/, type: 'rule' },
345
+ { selector: /\[onmousewheel/, type: 'rule' },
346
+ { selector: /\[onoffline/, type: 'rule' },
347
+ { selector: /\[ononline/, type: 'rule' },
348
+ { selector: /\[onpagehide/, type: 'rule' },
349
+ { selector: /\[onpageshow/, type: 'rule' },
350
+ { selector: /\[onpaste/, type: 'rule' },
351
+ { selector: /\[onpause/, type: 'rule' },
352
+ { selector: /\[onplay/, type: 'rule' },
353
+ { selector: /\[onplaying/, type: 'rule' },
354
+ { selector: /\[onpopstate/, type: 'rule' },
355
+ { selector: /\[onprogress/, type: 'rule' },
356
+ { selector: /\[onratechange/, type: 'rule' },
357
+ { selector: /\[onreset/, type: 'rule' },
358
+ { selector: /\[onresize/, type: 'rule' },
359
+ { selector: /\[onscroll/, type: 'rule' },
360
+ { selector: /\[onsearch/, type: 'rule' },
361
+ { selector: /\[onseeked/, type: 'rule' },
362
+ { selector: /\[onseeking/, type: 'rule' },
363
+ { selector: /\[onselect/, type: 'rule' },
364
+ { selector: /\[onstalled/, type: 'rule' },
365
+ { selector: /\[onstorage/, type: 'rule' },
366
+ { selector: /\[onsubmit/, type: 'rule' },
367
+ { selector: /\[onsuspend/, type: 'rule' },
368
+ { selector: /\[ontimeupdate/, type: 'rule' },
369
+ { selector: /\[ontoggle/, type: 'rule' },
370
+ { selector: /\[onunload/, type: 'rule' },
371
+ { selector: /\[onvolumechange/, type: 'rule' },
372
+ { selector: /\[onwaiting/, type: 'rule' },
373
+ { selector: /\[onwheel/, type: 'rule' },
374
+ { selector: /\[open/, type: 'rule' },
375
+ { selector: /\[optimum/, type: 'rule' },
376
+ { selector: /\[pattern/, type: 'rule' },
377
+ { selector: /\[placeholder/, type: 'rule' },
378
+ { selector: /\[poster/, type: 'rule' },
379
+ { selector: /\[preload/, type: 'rule' },
380
+ { selector: /\[readonly/, type: 'rule' },
381
+ { selector: /\[rel/, type: 'rule' },
382
+ { selector: /\[required/, type: 'rule' },
383
+ { selector: /\[reversed/, type: 'rule' },
384
+ { selector: /\[rows/, type: 'rule' },
385
+ { selector: /\[rowspan/, type: 'rule' },
386
+ { selector: /\[sandbox/, type: 'rule' },
387
+ { selector: /\[scope/, type: 'rule' },
388
+ { selector: /\[selected/, type: 'rule' },
389
+ { selector: /\[shape/, type: 'rule' },
390
+ { selector: /\[size/, type: 'rule' },
391
+ { selector: /\[sizes/, type: 'rule' },
392
+ { selector: /\[span/, type: 'rule' },
393
+ { selector: /\[spellcheck/, type: 'rule' },
394
+ { selector: /\[src/, type: 'rule' },
395
+ { selector: /\[srcdoc/, type: 'rule' },
396
+ { selector: /\[srclang/, type: 'rule' },
397
+ { selector: /\[srcset/, type: 'rule' },
398
+ { selector: /\[start/, type: 'rule' },
399
+ { selector: /\[step/, type: 'rule' },
400
+ { selector: /\[style/, type: 'rule' },
401
+ { selector: /\[tabindex/, type: 'rule' },
402
+ { selector: /\[target/, type: 'rule' },
403
+ { selector: /\[title/, type: 'rule' },
404
+ { selector: /\[translate/, type: 'rule' },
405
+ { selector: /\[type/, type: 'rule' },
406
+ { selector: /\[usemap/, type: 'rule' },
407
+ { selector: /\[value/, type: 'rule' },
408
+ { selector: /\[width/, type: 'rule' },
409
+ { selector: /\[/, type: 'rule' },
410
+
411
+ // Adjacent sibling combinator
412
+ { selector: /\+/, type: 'rule' },
413
+
414
+ // General sibling combinator
415
+ { selector: /~/, type: 'rule' },
416
+
417
+ // Child combinator
418
+ { selector: />/, type: 'rule' },
419
+
420
+ // Column combinator
421
+ { selector: /\|\|/, type: 'rule' },
422
+
423
+ // Other combinators
424
+ 'rules',
425
+
426
+ // BEM class
427
+ { selector: /--a/, type: 'rule' },
428
+ { selector: /--b/, type: 'rule' },
429
+ { selector: /--c/, type: 'rule' },
430
+ { selector: /--d/, type: 'rule' },
431
+ { selector: /--e/, type: 'rule' },
432
+ { selector: /--f/, type: 'rule' },
433
+ { selector: /--g/, type: 'rule' },
434
+ { selector: /--h/, type: 'rule' },
435
+ { selector: /--i/, type: 'rule' },
436
+ { selector: /--j/, type: 'rule' },
437
+ { selector: /--k/, type: 'rule' },
438
+ { selector: /--l/, type: 'rule' },
439
+ { selector: /--m/, type: 'rule' },
440
+ { selector: /--n/, type: 'rule' },
441
+ { selector: /--o/, type: 'rule' },
442
+ { selector: /--p/, type: 'rule' },
443
+ { selector: /--q/, type: 'rule' },
444
+ { selector: /--r/, type: 'rule' },
445
+ { selector: /--s/, type: 'rule' },
446
+ { selector: /--t/, type: 'rule' },
447
+ { selector: /--u/, type: 'rule' },
448
+ { selector: /--v/, type: 'rule' },
449
+ { selector: /--w/, type: 'rule' },
450
+ { selector: /--x/, type: 'rule' },
451
+ { selector: /--w/, type: 'rule' },
452
+ { selector: /--z/, type: 'rule' },
453
+ { selector: /--/, type: 'rule' },
454
+
455
+ { selector: /__a/, type: 'rule' },
456
+ { selector: /__b/, type: 'rule' },
457
+ { selector: /__c/, type: 'rule' },
458
+ { selector: /__d/, type: 'rule' },
459
+ { selector: /__e/, type: 'rule' },
460
+ { selector: /__f/, type: 'rule' },
461
+ { selector: /__g/, type: 'rule' },
462
+ { selector: /__h/, type: 'rule' },
463
+ { selector: /__i/, type: 'rule' },
464
+ { selector: /__j/, type: 'rule' },
465
+ { selector: /__k/, type: 'rule' },
466
+ { selector: /__l/, type: 'rule' },
467
+ { selector: /__m/, type: 'rule' },
468
+ { selector: /__n/, type: 'rule' },
469
+ { selector: /__o/, type: 'rule' },
470
+ { selector: /__p/, type: 'rule' },
471
+ { selector: /__q/, type: 'rule' },
472
+ { selector: /__r/, type: 'rule' },
473
+ { selector: /__s/, type: 'rule' },
474
+ { selector: /__t/, type: 'rule' },
475
+ { selector: /__u/, type: 'rule' },
476
+ { selector: /__v/, type: 'rule' },
477
+ { selector: /__w/, type: 'rule' },
478
+ { selector: /__x/, type: 'rule' },
479
+ { selector: /__w/, type: 'rule' },
480
+ { selector: /__z/, type: 'rule' },
481
+ { selector: /__/, type: 'rule' },
482
+ ],
483
+
484
+ 'order/properties-alphabetical-order': true,
485
+ },
486
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [stylelint-prettier](https://github.com/prettier/stylelint-prettier) */
2
+ module.exports = {
3
+ plugins: ['stylelint-prettier'],
4
+
5
+ rules: {
6
+ 'prettier/prettier': true,
7
+ },
8
+ };