@alexlit/config-eslint 40.0.0 → 41.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.js CHANGED
@@ -21,6 +21,7 @@ module.exports = defineConfig({
21
21
  './plugins/compat',
22
22
  // './plugins/decorator-position', // wait for eslint@8 support
23
23
  './plugins/eslint-comments',
24
+ './plugins/etc',
24
25
  './plugins/ext',
25
26
  './plugins/filenames',
26
27
  './plugins/import',
@@ -41,7 +42,7 @@ module.exports = defineConfig({
41
42
  './plugins/security',
42
43
  './plugins/simple-import-sort',
43
44
  './plugins/sonar',
44
- // './plugins/sort-class-members', // wip configuration
45
+ './plugins/sort-class-members',
45
46
  './plugins/sort-destructure-keys',
46
47
  './plugins/sort-keys-fix',
47
48
  './plugins/spellcheck',
@@ -93,20 +94,13 @@ module.exports = defineConfig({
93
94
  'global-require': 'off',
94
95
  },
95
96
  },
96
-
97
- {
98
- extends: [require.resolve('./plugins/etc')],
99
- files: ['*.ts', '*.tsx'],
100
-
101
- parserOptions: {
102
- project: './tsconfig.json',
103
- },
104
- },
105
97
  ],
106
98
 
107
99
  parserOptions: {
108
100
  ecmaFeatures: { jsx: true },
101
+ extraFileExtensions: ['.vue'],
109
102
  parser: '@typescript-eslint/parser',
103
+ project: './tsconfig.json',
110
104
  },
111
105
 
112
106
  root: true,
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [41.0.2](https://github.com/alex-lit/config-eslint/compare/v41.0.1...v41.0.2) (2022-01-13)
2
+
3
+ ## [41.0.1](https://github.com/alex-lit/config-eslint/compare/v41.0.0...v41.0.1) (2022-01-13)
4
+
5
+ # [41.0.0](https://github.com/alex-lit/config-eslint/compare/v40.0.1...v41.0.0) (2022-01-13)
6
+
7
+ ### Features
8
+
9
+ - **plugin:** add sort-class-members plugin
10
+ ([32bce88](https://github.com/alex-lit/config-eslint/commit/32bce88e10cd3d4c26a9560a7fb13b6f2eb10d50))
11
+
12
+ ## [40.0.1](https://github.com/alex-lit/config-eslint/compare/v40.0.0...v40.0.1) (2022-01-12)
13
+
1
14
  # [40.0.0](https://github.com/alex-lit/config-eslint/compare/v39.0.0...v40.0.0) (2022-01-12)
2
15
 
3
16
  ### Features
@@ -1,6 +1,5 @@
1
1
  module.exports = [
2
2
  'aave',
3
- 'autofocus',
4
3
  'airbnb',
5
4
  'aland',
6
5
  'alexey',
@@ -13,13 +12,16 @@ module.exports = [
13
12
  'alfatop',
14
13
  'algo',
15
14
  'alipay',
16
- 'volar',
15
+ 'allowfullscreen',
16
+ 'allowpaymentrequest',
17
17
  'angularjs',
18
18
  'apollo',
19
19
  'applescript',
20
20
  'asyncgenerator',
21
21
  'asynciterable',
22
22
  'atomtest',
23
+ 'autofocus',
24
+ 'autoplay',
23
25
  'averta',
24
26
  'avif',
25
27
  'axios',
@@ -58,6 +60,7 @@ module.exports = [
58
60
  'codemirror',
59
61
  'coffeescript',
60
62
  'coinify',
63
+ 'colour',
61
64
  'combinator',
62
65
  'combinators',
63
66
  'commitlint',
@@ -112,6 +115,7 @@ module.exports = [
112
115
  'evenodd',
113
116
  'facebook',
114
117
  'favicon',
118
+ 'favour',
115
119
  'fetchable',
116
120
  'fieldset',
117
121
  'filenames',
@@ -120,6 +124,9 @@ module.exports = [
120
124
  'flac',
121
125
  'flexepin',
122
126
  'forcedefault',
127
+ 'forlese',
128
+ 'formnovalidate',
129
+ 'fulfil',
123
130
  'getters',
124
131
  'globbing',
125
132
  'googletagmanager',
@@ -133,6 +140,7 @@ module.exports = [
133
140
  'huskyrc',
134
141
  'identicon',
135
142
  'iife',
143
+ 'illtreat',
136
144
  'imask',
137
145
  'inferrable',
138
146
  'inlined',
@@ -142,6 +150,7 @@ module.exports = [
142
150
  'instagram',
143
151
  'interop',
144
152
  'invision',
153
+ 'itemscope',
145
154
  'itez',
146
155
  'jarallax',
147
156
  'joomla',
@@ -193,6 +202,8 @@ module.exports = [
193
202
  'monorepos',
194
203
  'monospace',
195
204
  'monsterid',
205
+ 'mould',
206
+ 'moult',
196
207
  'msapplication',
197
208
  'multilines',
198
209
  'namepath',
@@ -204,9 +215,11 @@ module.exports = [
204
215
  'newwindow',
205
216
  'nginx',
206
217
  'noindex',
218
+ 'nomodule',
207
219
  'noninteraction',
208
220
  'noopener',
209
221
  'notificators',
222
+ 'novalidate',
210
223
  'npmjs',
211
224
  'npmlint',
212
225
  'npmpackagejsonlintrc',
@@ -233,6 +246,7 @@ module.exports = [
233
246
  'personalise',
234
247
  'phantomjs',
235
248
  'pipeless',
249
+ 'playsinline',
236
250
  'plist',
237
251
  'plopfile',
238
252
  'pnpapi',
@@ -241,6 +255,7 @@ module.exports = [
241
255
  'poolifier',
242
256
  'popperjs',
243
257
  'postcss',
258
+ 'practise',
244
259
  'pragma',
245
260
  'preloader',
246
261
  'prismjs',
@@ -263,7 +278,10 @@ module.exports = [
263
278
  'robohash',
264
279
  'rollup',
265
280
  'samsung',
281
+ 'saponify',
282
+ 'satirise',
266
283
  'sberbank',
284
+ 'scabble',
267
285
  'scalable',
268
286
  'scannable',
269
287
  'scripthost',
@@ -307,6 +325,7 @@ module.exports = [
307
325
  'travesti',
308
326
  'treeshake',
309
327
  'trello',
328
+ 'truespeed',
310
329
  'trustpilot',
311
330
  'tsconfig',
312
331
  'txid',
@@ -325,6 +344,7 @@ module.exports = [
325
344
  'vitejs',
326
345
  'vkontakte',
327
346
  'vnode',
347
+ 'volar',
328
348
  'vscode',
329
349
  'vue3',
330
350
  'vuejs',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexlit/config-eslint",
3
- "version": "40.0.0",
3
+ "version": "41.0.2",
4
4
  "private": false,
5
5
  "description": "eslint config",
6
6
  "keywords": [
package/plugins/etc.js CHANGED
@@ -7,9 +7,10 @@ module.exports = {
7
7
  plugins: ['etc'],
8
8
 
9
9
  rules: {
10
+ 'etc/no-implicit-any-catch': 'off',
10
11
  'etc/no-misused-generics': 'error',
11
12
  'etc/no-t': 'error',
12
- 'etc/prefer-less-than': 'error',
13
+ 'etc/prefer-less-than': 'off',
13
14
  'etc/underscore-internal': 'error',
14
15
  },
15
16
  };
package/plugins/jsdoc.js CHANGED
@@ -12,6 +12,8 @@ module.exports = {
12
12
  'jsdoc/require-jsdoc': [
13
13
  'warn',
14
14
  {
15
+ enableFixer: false,
16
+
15
17
  require: {
16
18
  ArrowFunctionExpression: false,
17
19
  ClassDeclaration: true,
@@ -20,6 +20,93 @@ module.exports = {
20
20
  },
21
21
  ],
22
22
 
23
+ emits: [
24
+ {
25
+ name: '/emit[A-Z].*/',
26
+ sort: 'alphabetical',
27
+ type: 'method',
28
+ },
29
+ ],
30
+
31
+ injects: [
32
+ {
33
+ groupByDecorator: 'Inject',
34
+ sort: 'alphabetical',
35
+ type: 'property',
36
+ },
37
+ {
38
+ groupByDecorator: 'InjectReactive',
39
+ sort: 'alphabetical',
40
+ type: 'property',
41
+ },
42
+ ],
43
+
44
+ models: [
45
+ {
46
+ groupByDecorator: 'Model',
47
+ sort: 'alphabetical',
48
+ type: 'property',
49
+ },
50
+ {
51
+ groupByDecorator: 'ModelSync',
52
+ sort: 'alphabetical',
53
+ type: 'property',
54
+ },
55
+ {
56
+ groupByDecorator: 'VModel',
57
+ sort: 'alphabetical',
58
+ type: 'property',
59
+ },
60
+ ],
61
+
62
+ props: [
63
+ {
64
+ groupByDecorator: 'Prop',
65
+ sort: 'alphabetical',
66
+ type: 'property',
67
+ },
68
+ {
69
+ groupByDecorator: 'PropSync',
70
+ sort: 'alphabetical',
71
+ type: 'property',
72
+ },
73
+ ],
74
+
75
+ provides: [
76
+ {
77
+ groupByDecorator: 'Provide',
78
+ sort: 'alphabetical',
79
+ type: 'property',
80
+ },
81
+ {
82
+ groupByDecorator: 'ProvideReactive',
83
+ sort: 'alphabetical',
84
+ type: 'property',
85
+ },
86
+ ],
87
+
88
+ refs: [
89
+ {
90
+ groupByDecorator: 'Ref',
91
+ sort: 'alphabetical',
92
+ type: 'property',
93
+ },
94
+ ],
95
+
96
+ 'sorted-methods': [
97
+ {
98
+ sort: 'alphabetical',
99
+ type: 'method',
100
+ },
101
+ ],
102
+
103
+ 'sorted-properties': [
104
+ {
105
+ sort: 'alphabetical',
106
+ type: 'property',
107
+ },
108
+ ],
109
+
23
110
  'static-accessor-pairs': [
24
111
  {
25
112
  accessorPair: true,
@@ -88,6 +175,70 @@ module.exports = {
88
175
  static: true,
89
176
  },
90
177
  ],
178
+
179
+ 'vue-activated': [{ name: 'activated', type: 'method' }],
180
+
181
+ 'vue-before-create': [{ name: 'beforeCreate', type: 'method' }],
182
+
183
+ 'vue-before-mount': [{ name: 'beforeMount', type: 'method' }],
184
+
185
+ 'vue-before-unmount': [{ name: 'beforeUnmount', type: 'method' }],
186
+
187
+ 'vue-before-update': [{ name: 'beforeUpdate', type: 'method' }],
188
+
189
+ 'vue-created': [{ name: 'created', type: 'method' }],
190
+
191
+ 'vue-deactivated': [{ name: 'deactivated', type: 'method' }],
192
+
193
+ 'vue-error-captured': [{ name: 'errorCaptured', type: 'method' }],
194
+
195
+ 'vue-mounted': [{ name: 'mounted', type: 'method' }],
196
+
197
+ 'vue-render-tracked': [{ name: 'renderTracked', type: 'method' }],
198
+
199
+ 'vue-render-triggered': [{ name: 'renderTriggered', type: 'method' }],
200
+
201
+ 'vue-unmounted': [{ name: 'unmounted', type: 'method' }],
202
+
203
+ 'vue-updated': [{ name: 'updated', type: 'method' }],
204
+
205
+ vuex: [
206
+ {
207
+ groupByDecorator: 'namespace',
208
+ sort: 'alphabetical',
209
+ type: 'property',
210
+ },
211
+ {
212
+ groupByDecorator: 'State',
213
+ sort: 'alphabetical',
214
+ type: 'property',
215
+ },
216
+ {
217
+ groupByDecorator: 'Getter',
218
+ sort: 'alphabetical',
219
+ type: 'property',
220
+ },
221
+ {
222
+ groupByDecorator: 'Mutation',
223
+ sort: 'alphabetical',
224
+ type: 'property',
225
+ },
226
+ {
227
+ groupByDecorator: 'Action',
228
+ sort: 'alphabetical',
229
+ type: 'property',
230
+ },
231
+ {
232
+ groupByDecorator: '(namespace',
233
+ sort: 'alphabetical',
234
+ type: 'property',
235
+ },
236
+ ],
237
+
238
+ watches: [
239
+ { name: '/handle[A-Z].*/', sort: 'alphabetical', type: 'method' },
240
+ { name: '/on[A-Z].*/', sort: 'alphabetical', type: 'method' },
241
+ ],
91
242
  },
92
243
 
93
244
  order: [
@@ -100,8 +251,17 @@ module.exports = {
100
251
  '[static-methods]',
101
252
  '[static-async-methods]',
102
253
 
254
+ // decorated properties
255
+ '[vuex]',
256
+ '[injects]',
257
+ '[props]',
258
+ '[models]',
259
+ '[provides]',
260
+ '[emits]',
261
+ '[refs]',
262
+
103
263
  // properties
104
- '[properties]',
264
+ '[sorted-properties]',
105
265
  '[arrow-function-properties]',
106
266
 
107
267
  // constructor
@@ -112,11 +272,26 @@ module.exports = {
112
272
  '[getters]',
113
273
  '[setters]',
114
274
 
275
+ // vue lifecycle hooks
276
+ '[vue-before-create]',
277
+ '[vue-created]',
278
+ '[vue-before-mount]',
279
+ '[vue-mounted]',
280
+ '[vue-before-update]',
281
+ '[vue-updated]',
282
+ '[vue-before-unmount]',
283
+ '[vue-unmounted]',
284
+ '[vue-error-captured]',
285
+ '[vue-render-tracked]',
286
+ '[vue-render-triggered]',
287
+ '[vue-activated]',
288
+
115
289
  // methods
116
- '[methods]',
290
+ '[watches]',
291
+ '[sorted-methods]',
117
292
  '[async-methods]',
118
293
 
119
- // static private
294
+ // private static
120
295
  '[static-conventional-private-properties]',
121
296
  '[static-conventional-private-methods]',
122
297
  '[static-async-conventional-private-methods]',