@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,359 @@
1
+ module.exports = [
2
+ 'ab',
3
+ 'ac',
4
+ 'accumsan',
5
+ 'accusamus',
6
+ 'accusantium',
7
+ 'ad',
8
+ 'adipisci',
9
+ 'adipiscing',
10
+ 'adipisicing',
11
+ 'aenean',
12
+ 'alias',
13
+ 'aliqua',
14
+ 'aliquam',
15
+ 'aliquet',
16
+ 'aliquid',
17
+ 'aliquip',
18
+ 'amet',
19
+ 'anim',
20
+ 'animi',
21
+ 'ante',
22
+ 'aperiam',
23
+ 'aptent',
24
+ 'architecto',
25
+ 'arcu',
26
+ 'asperiores',
27
+ 'aspernatur',
28
+ 'assumenda',
29
+ 'at',
30
+ 'atque',
31
+ 'auctor',
32
+ 'augue',
33
+ 'aut',
34
+ 'aute',
35
+ 'autem',
36
+ 'beatae',
37
+ 'bibendum',
38
+ 'blandit',
39
+ 'blanditiis',
40
+ 'cillum',
41
+ 'class',
42
+ 'commodi',
43
+ 'commodo',
44
+ 'condimentum',
45
+ 'congue',
46
+ 'consectetur',
47
+ 'consequat',
48
+ 'consequatur',
49
+ 'consequuntur',
50
+ 'conubia',
51
+ 'convallis',
52
+ 'corporis',
53
+ 'corrupti',
54
+ 'cras',
55
+ 'cubilia',
56
+ 'culpa',
57
+ 'cum',
58
+ 'cumque',
59
+ 'cupidatat',
60
+ 'cupiditate',
61
+ 'curabitur',
62
+ 'curae',
63
+ 'cursus',
64
+ 'dapibus',
65
+ 'debitis',
66
+ 'delectus',
67
+ 'deleniti',
68
+ 'deserunt',
69
+ 'diam',
70
+ 'dicta',
71
+ 'dictum',
72
+ 'dictumst',
73
+ 'dignissim',
74
+ 'dignissimos',
75
+ 'dis',
76
+ 'distinctio',
77
+ 'do',
78
+ 'dolor',
79
+ 'dolore',
80
+ 'dolorem',
81
+ 'doloremque',
82
+ 'dolores',
83
+ 'doloribus',
84
+ 'dolorum',
85
+ 'donec',
86
+ 'ducimus',
87
+ 'dui',
88
+ 'duis',
89
+ 'ea',
90
+ 'eaque',
91
+ 'earum',
92
+ 'efficitur',
93
+ 'egestas',
94
+ 'eget',
95
+ 'eius',
96
+ 'eiusmod',
97
+ 'eleifend',
98
+ 'elementum',
99
+ 'eligendi',
100
+ 'elit',
101
+ 'enim',
102
+ 'eos',
103
+ 'erat',
104
+ 'eros',
105
+ 'error',
106
+ 'esse',
107
+ 'est',
108
+ 'et',
109
+ 'etiam',
110
+ 'eu',
111
+ 'euismod',
112
+ 'eum',
113
+ 'eveniet',
114
+ 'ex',
115
+ 'excepteur',
116
+ 'excepturi',
117
+ 'exercitation',
118
+ 'exercitationem',
119
+ 'expedita',
120
+ 'explicabo',
121
+ 'facere',
122
+ 'facilis',
123
+ 'facilisi',
124
+ 'facilisis',
125
+ 'fames',
126
+ 'faucibus',
127
+ 'felis',
128
+ 'fermentum',
129
+ 'feugiat',
130
+ 'finibus',
131
+ 'fringilla',
132
+ 'fuga',
133
+ 'fugiat',
134
+ 'fugit',
135
+ 'fusce',
136
+ 'gravida',
137
+ 'habitant',
138
+ 'habitasse',
139
+ 'hac',
140
+ 'harum',
141
+ 'hendrerit',
142
+ 'hic',
143
+ 'himenaeos',
144
+ 'iaculis',
145
+ 'id',
146
+ 'illo',
147
+ 'illum',
148
+ 'impedit',
149
+ 'imperdiet',
150
+ 'in',
151
+ 'inceptos',
152
+ 'incididunt',
153
+ 'incidunt',
154
+ 'integer',
155
+ 'interdum',
156
+ 'inventore',
157
+ 'ipsa',
158
+ 'ipsam',
159
+ 'ipsum',
160
+ 'irure',
161
+ 'iste',
162
+ 'itaque',
163
+ 'iure',
164
+ 'iusto',
165
+ 'justo',
166
+ 'labore',
167
+ 'laboriosam',
168
+ 'laboris',
169
+ 'laborum',
170
+ 'lacinia',
171
+ 'lacus',
172
+ 'laoreet',
173
+ 'laudantium',
174
+ 'lectus',
175
+ 'leo',
176
+ 'libero',
177
+ 'ligula',
178
+ 'litora',
179
+ 'lobortis',
180
+ 'lorem',
181
+ 'luctus',
182
+ 'maecenas',
183
+ 'magna',
184
+ 'magnam',
185
+ 'magni',
186
+ 'magnis',
187
+ 'maiores',
188
+ 'malesuada',
189
+ 'massa',
190
+ 'mattis',
191
+ 'mauris',
192
+ 'maxime',
193
+ 'maximus',
194
+ 'metus',
195
+ 'mi',
196
+ 'minim',
197
+ 'minima',
198
+ 'minus',
199
+ 'modi',
200
+ 'molestiae',
201
+ 'molestias',
202
+ 'molestie',
203
+ 'mollis',
204
+ 'mollit',
205
+ 'mollitia',
206
+ 'montes',
207
+ 'morbi',
208
+ 'mus',
209
+ 'nam',
210
+ 'nascetur',
211
+ 'natoque',
212
+ 'natus',
213
+ 'nec',
214
+ 'necessitatibus',
215
+ 'nemo',
216
+ 'neque',
217
+ 'nesciunt',
218
+ 'netus',
219
+ 'nibh',
220
+ 'nihil',
221
+ 'nisi',
222
+ 'nisl',
223
+ 'nobis',
224
+ 'non',
225
+ 'nostra',
226
+ 'nostrud',
227
+ 'nostrum',
228
+ 'nulla',
229
+ 'nullam',
230
+ 'numquam',
231
+ 'nunc',
232
+ 'obcaecati',
233
+ 'occaecat',
234
+ 'odio',
235
+ 'odit',
236
+ 'officia',
237
+ 'officiis',
238
+ 'omnis',
239
+ 'optio',
240
+ 'orci',
241
+ 'ornare',
242
+ 'pariatur',
243
+ 'parturient',
244
+ 'pellentesque',
245
+ 'penatibus',
246
+ 'per',
247
+ 'perferendis',
248
+ 'perspiciatis',
249
+ 'pharetra',
250
+ 'phasellus',
251
+ 'placeat',
252
+ 'placerat',
253
+ 'platea',
254
+ 'porro',
255
+ 'porta',
256
+ 'porttitor',
257
+ 'possimus',
258
+ 'posuere',
259
+ 'praesent',
260
+ 'praesentium',
261
+ 'pretium',
262
+ 'primis',
263
+ 'proident',
264
+ 'proin',
265
+ 'provident',
266
+ 'pulvinar',
267
+ 'purus',
268
+ 'quae',
269
+ 'quaerat',
270
+ 'quam',
271
+ 'quas',
272
+ 'quasi',
273
+ 'qui',
274
+ 'quia',
275
+ 'quibusdam',
276
+ 'quidem',
277
+ 'quis',
278
+ 'quisquam',
279
+ 'quisque',
280
+ 'quo',
281
+ 'quod',
282
+ 'quos',
283
+ 'ratione',
284
+ 'recusandae',
285
+ 'reiciendis',
286
+ 'rem',
287
+ 'repellat',
288
+ 'repellendus',
289
+ 'reprehenderit',
290
+ 'repudiandae',
291
+ 'rerum',
292
+ 'rhoncus',
293
+ 'ridiculus',
294
+ 'risus',
295
+ 'rutrum',
296
+ 'saepe',
297
+ 'sagittis',
298
+ 'sapien',
299
+ 'sapiente',
300
+ 'scelerisque',
301
+ 'sed',
302
+ 'sem',
303
+ 'semper',
304
+ 'senectus',
305
+ 'sequi',
306
+ 'similique',
307
+ 'sint',
308
+ 'sit',
309
+ 'sociis',
310
+ 'sociosqu',
311
+ 'sodales',
312
+ 'sollicitudin',
313
+ 'soluta',
314
+ 'sunt',
315
+ 'suscipit',
316
+ 'suspendisse',
317
+ 'taciti',
318
+ 'tellus',
319
+ 'tempor',
320
+ 'tempora',
321
+ 'tempore',
322
+ 'temporibus',
323
+ 'tempus',
324
+ 'tenetur',
325
+ 'tincidunt',
326
+ 'torquent',
327
+ 'tortor',
328
+ 'totam',
329
+ 'tristique',
330
+ 'turpis',
331
+ 'ullam',
332
+ 'ullamco',
333
+ 'ullamcorper',
334
+ 'ultrices',
335
+ 'ultricies',
336
+ 'unde',
337
+ 'urna',
338
+ 'ut',
339
+ 'varius',
340
+ 'vehicula',
341
+ 'vel',
342
+ 'velit',
343
+ 'venenatis',
344
+ 'veniam',
345
+ 'veritatis',
346
+ 'vero',
347
+ 'vestibulum',
348
+ 'vitae',
349
+ 'vivamus',
350
+ 'viverra',
351
+ 'voluptas',
352
+ 'voluptate',
353
+ 'voluptatem',
354
+ 'voluptates',
355
+ 'voluptatibus',
356
+ 'voluptatum',
357
+ 'volutpat',
358
+ 'vulputate',
359
+ ];
@@ -0,0 +1,225 @@
1
+ // @ts-check
2
+ /* eslint-disable sonarjs/no-duplicate-string */
3
+
4
+ const { defineConfig } = require('eslint-define-config');
5
+
6
+ module.exports = defineConfig({
7
+ env: {
8
+ browser: true,
9
+ node: true,
10
+ },
11
+
12
+ extends: [
13
+ /** @see [eslint-config-airbnb-base](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb-base) */
14
+ 'airbnb-base',
15
+
16
+ /* plugins */
17
+ ...[
18
+ './plugins/array-func',
19
+ './plugins/compat',
20
+ './plugins/decorator-position',
21
+ './plugins/eslint-comments',
22
+ './plugins/etc',
23
+ './plugins/ext',
24
+ './plugins/filenames',
25
+ './plugins/import',
26
+ './plugins/jsdoc',
27
+ './plugins/jsx-a11y',
28
+ './plugins/lit',
29
+ './plugins/lit-a11y',
30
+ './plugins/more',
31
+ './plugins/no-await-in-promise',
32
+ './plugins/no-constructor-bind',
33
+ './plugins/no-explicit-type-exports',
34
+ './plugins/no-loops',
35
+ './plugins/no-secrets',
36
+ './plugins/no-use-extend-native',
37
+ './plugins/promise',
38
+ './plugins/regexp',
39
+ './plugins/security',
40
+ './plugins/simple-import-sort',
41
+ './plugins/sonar',
42
+ './plugins/sort-class-members',
43
+ './plugins/sort-destructure-keys',
44
+ './plugins/sort-keys-fix',
45
+ './plugins/spellcheck',
46
+ './plugins/sql',
47
+ './plugins/tanstack-query',
48
+ './plugins/testing-library',
49
+ './plugins/typescript-sort-keys',
50
+ './plugins/typescript/index',
51
+ './plugins/unicorn',
52
+ './plugins/unused-imports',
53
+ './plugins/vitest',
54
+ './plugins/vue',
55
+ './plugins/vue-i18n',
56
+ './plugins/vuejs-accessibility',
57
+ './plugins/wc',
58
+ './plugins/write-good-comments',
59
+
60
+ /* optional */
61
+ // './plugins/optional/node',
62
+
63
+ /* prettier */
64
+ './plugins/prettier',
65
+ ].map((config) => require.resolve(config)),
66
+ ],
67
+
68
+ ignorePatterns: [
69
+ '.*',
70
+ '**/build/**',
71
+ '**/dist/**',
72
+ '**/docs/**',
73
+ '**/node_modules/**',
74
+ '**/storybook-*/**',
75
+ '**/sw.js',
76
+ '!.*.js',
77
+ '!.node',
78
+ '!.storybook',
79
+ ],
80
+
81
+ overrides: [
82
+ {
83
+ files: ['.*.js', '.*.ts', '*.config.js', '*.config.ts'],
84
+
85
+ rules: {
86
+ 'global-require': 'off',
87
+ },
88
+ },
89
+ {
90
+ files: ['**/store/**/*', '**/vuex/**/*', '**/pinia/**/*'],
91
+
92
+ rules: {
93
+ 'no-param-reassign': 'off',
94
+ },
95
+ },
96
+ ],
97
+
98
+ parserOptions: {
99
+ ecmaFeatures: { jsx: true },
100
+ extraFileExtensions: ['.vue'],
101
+ parser: '@typescript-eslint/parser',
102
+ project: './tsconfig.json',
103
+ },
104
+
105
+ root: true,
106
+
107
+ rules: {
108
+ 'class-methods-use-this': 'off',
109
+ curly: 'error',
110
+ 'func-style': ['error', 'declaration', { allowArrowFunctions: true }],
111
+ 'grouped-accessor-pairs': ['error', 'getBeforeSet'],
112
+
113
+ 'lines-around-comment': [
114
+ 'warn',
115
+ {
116
+ afterBlockComment: false,
117
+ afterLineComment: false,
118
+
119
+ allowArrayEnd: true,
120
+ allowArrayStart: true,
121
+
122
+ allowBlockEnd: true,
123
+ allowBlockStart: true,
124
+
125
+ allowClassEnd: true,
126
+ allowClassStart: true,
127
+
128
+ allowObjectEnd: true,
129
+ allowObjectStart: true,
130
+
131
+ beforeBlockComment: true,
132
+ beforeLineComment: false,
133
+ },
134
+ ],
135
+
136
+ 'no-console': 'warn',
137
+
138
+ 'no-implicit-coercion': 'error',
139
+
140
+ 'no-param-reassign': ['error', { props: false }],
141
+
142
+ 'no-restricted-exports': [
143
+ 'error',
144
+ {
145
+ restrictedNamedExports: [
146
+ 'then', // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions
147
+ ],
148
+ },
149
+ ],
150
+
151
+ 'no-return-await': 'off',
152
+
153
+ 'no-shadow': 'off',
154
+
155
+ 'no-underscore-dangle': 'off',
156
+
157
+ 'no-unused-vars': 'off',
158
+
159
+ // delegate to eslint-plugin-unused-imports
160
+ 'no-use-before-define': 'off',
161
+
162
+ 'nonblock-statement-body-position': ['error', 'below'],
163
+
164
+ 'padding-line-between-statements': [
165
+ 'warn',
166
+ // always
167
+ { blankLine: 'always', next: '*', prev: 'block-like' },
168
+ { blankLine: 'always', next: '*', prev: 'case' },
169
+ { blankLine: 'always', next: '*', prev: 'cjs-export' },
170
+ { blankLine: 'always', next: '*', prev: 'cjs-import' },
171
+ { blankLine: 'always', next: '*', prev: 'class' },
172
+ { blankLine: 'always', next: '*', prev: 'default' },
173
+ { blankLine: 'always', next: '*', prev: 'directive' },
174
+ { blankLine: 'always', next: '*', prev: 'expression' },
175
+ { blankLine: 'always', next: '*', prev: 'iife' },
176
+ { blankLine: 'always', next: '*', prev: 'multiline-block-like' },
177
+ { blankLine: 'always', next: '*', prev: 'multiline-const' },
178
+ { blankLine: 'always', next: '*', prev: 'multiline-expression' },
179
+ { blankLine: 'always', next: '*', prev: 'multiline-let' },
180
+ { blankLine: 'always', next: '*', prev: 'multiline-var' },
181
+ { blankLine: 'always', next: '*', prev: 'singleline-const' },
182
+ { blankLine: 'always', next: '*', prev: 'singleline-let' },
183
+ { blankLine: 'always', next: '*', prev: 'singleline-var' },
184
+ { blankLine: 'always', next: 'block-like', prev: '*' },
185
+ { blankLine: 'always', next: 'cjs-export', prev: '*' },
186
+ { blankLine: 'always', next: 'cjs-import', prev: '*' },
187
+ { blankLine: 'always', next: 'class', prev: '*' },
188
+ { blankLine: 'always', next: 'expression', prev: '*' },
189
+ { blankLine: 'always', next: 'function', prev: '*' },
190
+ { blankLine: 'always', next: 'iife', prev: '*' },
191
+ { blankLine: 'always', next: 'multiline-block-like', prev: '*' },
192
+ { blankLine: 'always', next: 'multiline-const', prev: '*' },
193
+ { blankLine: 'always', next: 'multiline-expression', prev: '*' },
194
+ { blankLine: 'always', next: 'multiline-let', prev: '*' },
195
+ { blankLine: 'always', next: 'multiline-var', prev: '*' },
196
+ { blankLine: 'always', next: 'return', prev: '*' },
197
+ { blankLine: 'always', next: 'switch', prev: '*' },
198
+ // any
199
+ { blankLine: 'any', next: 'expression', prev: 'expression' },
200
+ {
201
+ blankLine: 'any',
202
+ next: 'singleline-const',
203
+ prev: 'singleline-const',
204
+ },
205
+ { blankLine: 'any', next: 'singleline-let', prev: 'singleline-let' },
206
+ { blankLine: 'any', next: 'singleline-var', prev: 'singleline-var' },
207
+ // never
208
+ { blankLine: 'never', next: 'cjs-export', prev: 'cjs-export' },
209
+ { blankLine: 'never', next: 'cjs-import', prev: 'cjs-import' },
210
+ { blankLine: 'never', next: 'directive', prev: 'directive' },
211
+ ],
212
+
213
+ quotes: ['error', 'single'],
214
+ 'require-await': 'off',
215
+ 'sort-imports': 'off',
216
+
217
+ 'sort-keys': [
218
+ 'warn',
219
+ 'asc',
220
+ { caseSensitive: true, minKeys: 2, natural: true },
221
+ ],
222
+
223
+ 'sort-vars': 'warn',
224
+ },
225
+ });
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "@alexlit/config-eslint",
3
+ "version": "69.1.0",
4
+ "private": false,
5
+ "description": "Eslint config",
6
+ "keywords": [
7
+ "eslint",
8
+ "config"
9
+ ],
10
+ "homepage": "https://github.com/alex-lit/lint-kit#readme",
11
+ "bugs": {
12
+ "url": "https://github.com/alex-lit/lint-kit/issues"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/alex-lit/lint-kit.git",
17
+ "directory": "packages/config-eslint"
18
+ },
19
+ "license": "MIT",
20
+ "author": "Alexey Litovchenko",
21
+ "maintainers": [
22
+ "Alexey Litovchenko <alex.lit@outlook.com> (https://alexlit.gitlab.io)"
23
+ ],
24
+ "main": "index.js",
25
+ "files": [
26
+ "README.md",
27
+ "dictionaries",
28
+ "index.js",
29
+ "plugins"
30
+ ],
31
+ "scripts": {
32
+ "semver": "../../scripts/semver.sh",
33
+ "up": "../../scripts/up.sh"
34
+ },
35
+ "dependencies": {
36
+ "@intlify/eslint-plugin-vue-i18n": "^2.0.0",
37
+ "@tanstack/eslint-plugin-query": "^5.0.5",
38
+ "@typescript-eslint/eslint-plugin": "^6.9.0",
39
+ "@typescript-eslint/parser": "^6.9.0",
40
+ "eslint": "^8.52.0",
41
+ "eslint-config-airbnb-base": "^15.0.0",
42
+ "eslint-config-prettier": "^9.0.0",
43
+ "eslint-define-config": "^1.24.1",
44
+ "eslint-import-resolver-alias": "^1.1.2",
45
+ "eslint-plugin-array-func": "^4.0.0",
46
+ "eslint-plugin-compat": "^4.2.0",
47
+ "eslint-plugin-decorator-position": "^5.0.2",
48
+ "eslint-plugin-eslint-comments": "^3.2.0",
49
+ "eslint-plugin-etc": "^2.0.3",
50
+ "eslint-plugin-ext": "^0.1.0",
51
+ "eslint-plugin-filenames": "^1.3.2",
52
+ "eslint-plugin-import": "^2.29.0",
53
+ "eslint-plugin-jsdoc": "^46.8.2",
54
+ "eslint-plugin-jsx-a11y": "^6.7.1",
55
+ "eslint-plugin-lit": "^1.9.1",
56
+ "eslint-plugin-lit-a11y": "^4.1.0",
57
+ "eslint-plugin-more": "^1.0.5",
58
+ "eslint-plugin-no-await-in-promise": "^1.1.5",
59
+ "eslint-plugin-no-constructor-bind": "^2.0.4",
60
+ "eslint-plugin-no-explicit-type-exports": "^0.12.1",
61
+ "eslint-plugin-no-loops": "^0.3.0",
62
+ "eslint-plugin-no-secrets": "^0.8.9",
63
+ "eslint-plugin-no-use-extend-native": "^0.5.0",
64
+ "eslint-plugin-node": "^11.1.0",
65
+ "eslint-plugin-prettier": "^5.0.1",
66
+ "eslint-plugin-promise": "^6.1.1",
67
+ "eslint-plugin-regexp": "^2.1.1",
68
+ "eslint-plugin-security": "^1.7.1",
69
+ "eslint-plugin-simple-import-sort": "^10.0.0",
70
+ "eslint-plugin-sonarjs": "^0.21.0",
71
+ "eslint-plugin-sort-class-members": "^1.19.0",
72
+ "eslint-plugin-sort-destructure-keys": "^1.5.0",
73
+ "eslint-plugin-sort-keys-fix": "^1.1.2",
74
+ "eslint-plugin-spellcheck": "^0.0.20",
75
+ "eslint-plugin-sql": "^2.5.0",
76
+ "eslint-plugin-testing-library": "^6.1.0",
77
+ "eslint-plugin-typescript-sort-keys": "^3.1.0",
78
+ "eslint-plugin-unicorn": "^48.0.1",
79
+ "eslint-plugin-unused-imports": "^3.0.0",
80
+ "eslint-plugin-vitest": "^0.3.8",
81
+ "eslint-plugin-vue": "^9.18.0",
82
+ "eslint-plugin-vuejs-accessibility": "^2.2.0",
83
+ "eslint-plugin-wc": "^2.0.4",
84
+ "eslint-plugin-write-good-comments": "^0.2.0",
85
+ "typescript": "^5.2.2"
86
+ }
87
+ }
@@ -0,0 +1,21 @@
1
+ /* eslint-disable unicorn/prevent-abbreviations */
2
+ /** @see [eslint-plugin-array-func](https://github.com/freaktechnik/eslint-plugin-array-func) */
3
+ module.exports = {
4
+ extends: ['plugin:array-func/all'],
5
+
6
+ plugins: ['array-func'],
7
+
8
+ rules: {
9
+ // delegate to eslint-plugin-unicorn
10
+ 'array-func/no-unnecessary-this-arg': 'off',
11
+
12
+ // delegate to eslint-plugin-unicorn
13
+ 'array-func/prefer-array-from': 'off',
14
+
15
+ // delegate to eslint-plugin-unicorn
16
+ 'array-func/prefer-flat': 'off',
17
+
18
+ // delegate to eslint-plugin-unicorn
19
+ 'array-func/prefer-flat-map': 'off',
20
+ },
21
+ };
@@ -0,0 +1,8 @@
1
+ /** @see [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat) */
2
+ module.exports = {
3
+ extends: ['plugin:compat/recommended'],
4
+
5
+ settings: {
6
+ polyfills: [],
7
+ },
8
+ };