@flarian/frontend-preset 1.6.1 → 2.0.1
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/README.md +269 -129
- package/dist/eslint/config/imports.cjs +8 -3
- package/dist/eslint/config/imports.d.cts +5 -3
- package/dist/eslint/config/imports.d.mts +5 -3
- package/dist/eslint/config/imports.d.ts +5 -3
- package/dist/eslint/config/imports.mjs +7 -3
- package/dist/eslint/config/javascript.cjs +72 -0
- package/dist/eslint/config/javascript.d.cts +7 -0
- package/dist/eslint/config/javascript.d.mts +7 -0
- package/dist/eslint/config/javascript.d.ts +7 -0
- package/dist/eslint/config/javascript.mjs +64 -0
- package/dist/eslint/config/json.cjs +31 -9
- package/dist/eslint/config/json.d.cts +12 -3
- package/dist/eslint/config/json.d.mts +12 -3
- package/dist/eslint/config/json.d.ts +12 -3
- package/dist/eslint/config/json.mjs +26 -9
- package/dist/eslint/config/jsx.cjs +34 -20
- package/dist/eslint/config/jsx.d.cts +5 -3
- package/dist/eslint/config/jsx.d.mts +5 -3
- package/dist/eslint/config/jsx.d.ts +5 -3
- package/dist/eslint/config/jsx.mjs +33 -20
- package/dist/eslint/config/prettier.cjs +50 -11
- package/dist/eslint/config/prettier.d.cts +5 -3
- package/dist/eslint/config/prettier.d.mts +5 -3
- package/dist/eslint/config/prettier.d.ts +5 -3
- package/dist/eslint/config/prettier.mjs +46 -9
- package/dist/eslint/config/react.cjs +12 -7
- package/dist/eslint/config/react.d.cts +5 -3
- package/dist/eslint/config/react.d.mts +5 -3
- package/dist/eslint/config/react.d.ts +5 -3
- package/dist/eslint/config/react.mjs +11 -7
- package/dist/eslint/config/{base.cjs → stylistic.cjs} +292 -186
- package/dist/eslint/config/stylistic.d.cts +7 -0
- package/dist/eslint/config/stylistic.d.mts +7 -0
- package/dist/eslint/config/stylistic.d.ts +7 -0
- package/dist/eslint/config/{base.mjs → stylistic.mjs} +291 -182
- package/dist/eslint/config/typescript.cjs +43 -0
- package/dist/eslint/config/typescript.d.cts +7 -0
- package/dist/eslint/config/typescript.d.mts +7 -0
- package/dist/eslint/config/typescript.d.ts +7 -0
- package/dist/eslint/config/typescript.mjs +36 -0
- package/dist/eslint/config/vue.cjs +24 -13
- package/dist/eslint/config/vue.d.cts +5 -6
- package/dist/eslint/config/vue.d.mts +5 -6
- package/dist/eslint/config/vue.d.ts +5 -6
- package/dist/eslint/config/vue.mjs +23 -13
- package/dist/eslint/index.cjs +37 -21
- package/dist/eslint/index.d.cts +10 -8
- package/dist/eslint/index.d.mts +10 -8
- package/dist/eslint/index.d.ts +10 -8
- package/dist/eslint/index.mjs +19 -14
- package/dist/index.cjs +13 -12
- package/dist/index.d.cts +9 -7
- package/dist/index.d.mts +9 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.mjs +13 -12
- package/dist/prettier/config/base.cjs +1 -1
- package/dist/prettier/config/base.mjs +1 -1
- package/dist/shared/frontend-preset.B9JjGTzu.d.mts +60 -0
- package/dist/shared/frontend-preset.BUXYewoh.d.ts +60 -0
- package/dist/shared/frontend-preset.CADA8VXw.mjs +37 -0
- package/dist/shared/frontend-preset.Cco7BHYd.cjs +5 -0
- package/dist/shared/frontend-preset.CnYH3mAs.d.cts +60 -0
- package/dist/shared/frontend-preset.CtslHPdG.mjs +3 -0
- package/dist/shared/frontend-preset.DEAWyl_Y.d.cts +8 -0
- package/dist/shared/frontend-preset.DEAWyl_Y.d.mts +8 -0
- package/dist/shared/frontend-preset.DEAWyl_Y.d.ts +8 -0
- package/dist/shared/frontend-preset.GULoLGRF.cjs +39 -0
- package/dist/stylelint/config/all.d.cts +4 -2
- package/dist/stylelint/config/all.d.mts +4 -2
- package/dist/stylelint/config/all.d.ts +4 -2
- package/dist/stylelint/config/less.cjs +5 -1
- package/dist/stylelint/config/less.mjs +5 -1
- package/dist/stylelint/config/scss.cjs +5 -1
- package/dist/stylelint/config/scss.mjs +5 -1
- package/package.json +78 -28
- package/dist/eslint/config/all.cjs +0 -36
- package/dist/eslint/config/all.d.cts +0 -14
- package/dist/eslint/config/all.d.mts +0 -14
- package/dist/eslint/config/all.d.ts +0 -14
- package/dist/eslint/config/all.mjs +0 -33
- package/dist/eslint/config/base.d.cts +0 -8
- package/dist/eslint/config/base.d.mts +0 -8
- package/dist/eslint/config/base.d.ts +0 -8
- package/dist/shared/frontend-preset.BXVU99PK.d.mts +0 -37
- package/dist/shared/frontend-preset.Bfc_XKcp.d.cts +0 -37
- package/dist/shared/frontend-preset.CbViwkJz.cjs +0 -27
- package/dist/shared/frontend-preset.CiCuZ-UD.d.ts +0 -37
- package/dist/shared/frontend-preset.DbH8phB0.mjs +0 -25
|
@@ -1,74 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const tsPlugin = require('typescript-eslint');
|
|
5
|
-
const jsPlugin = require('@eslint/js');
|
|
3
|
+
const stripPlugins = require('../../shared/frontend-preset.Cco7BHYd.cjs');
|
|
6
4
|
const stylisticJs = require('@stylistic/eslint-plugin');
|
|
7
5
|
|
|
8
6
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
9
7
|
|
|
10
|
-
const globals__default = /*#__PURE__*/_interopDefaultCompat(globals);
|
|
11
|
-
const tsPlugin__default = /*#__PURE__*/_interopDefaultCompat(tsPlugin);
|
|
12
|
-
const jsPlugin__default = /*#__PURE__*/_interopDefaultCompat(jsPlugin);
|
|
13
8
|
const stylisticJs__default = /*#__PURE__*/_interopDefaultCompat(stylisticJs);
|
|
14
9
|
|
|
15
|
-
const esLintJavaScriptRules = {
|
|
16
|
-
files: ["**/*.{js,ts,jsx,tsx,cjs,mjs,vue}"],
|
|
17
|
-
rules: {
|
|
18
|
-
"arrow-body-style": ["error", "as-needed"],
|
|
19
|
-
curly: "error",
|
|
20
|
-
"func-names": ["error", "always"],
|
|
21
|
-
"no-undef": "off",
|
|
22
|
-
"no-alert": "error",
|
|
23
|
-
"no-console": "error",
|
|
24
|
-
"no-var": "error",
|
|
25
|
-
"no-duplicate-imports": [
|
|
26
|
-
"error",
|
|
27
|
-
{
|
|
28
|
-
includeExports: true
|
|
29
|
-
}
|
|
30
|
-
],
|
|
31
|
-
"no-magic-numbers": [
|
|
32
|
-
"error",
|
|
33
|
-
{
|
|
34
|
-
ignore: [-1, 0, 1],
|
|
35
|
-
ignoreArrayIndexes: true,
|
|
36
|
-
ignoreDefaultValues: true,
|
|
37
|
-
enforceConst: true
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
"no-plusplus": [
|
|
41
|
-
"error",
|
|
42
|
-
{
|
|
43
|
-
allowForLoopAfterthoughts: true
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"no-restricted-syntax": [
|
|
47
|
-
"error",
|
|
48
|
-
{
|
|
49
|
-
selector: "ForInStatement",
|
|
50
|
-
message: "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
selector: "LabeledStatement",
|
|
54
|
-
message: "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
selector: "WithStatement",
|
|
58
|
-
message: "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
|
|
59
|
-
}
|
|
60
|
-
],
|
|
61
|
-
"no-unused-expressions": [
|
|
62
|
-
"error",
|
|
63
|
-
{
|
|
64
|
-
allowShortCircuit: true
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
10
|
const esLintStylisticRules = {
|
|
71
|
-
files: ["**/*.{js,ts,jsx,tsx,cjs,mjs,vue}"],
|
|
72
11
|
plugins: {
|
|
73
12
|
"@stylistic": stylisticJs__default
|
|
74
13
|
},
|
|
@@ -77,7 +16,7 @@ const esLintStylisticRules = {
|
|
|
77
16
|
* Принудительно вводить переносы строк после открытия и перед закрытием скобок массива
|
|
78
17
|
* https://eslint.style/rules/default/array-bracket-newline
|
|
79
18
|
*/
|
|
80
|
-
"@stylistic/array-bracket-newline": ["warn",
|
|
19
|
+
"@stylistic/array-bracket-newline": ["warn", "consistent"],
|
|
81
20
|
/**
|
|
82
21
|
* Обеспечить единообразие интервалов внутри скобок массива
|
|
83
22
|
* https://eslint.style/rules/default/array-bracket-spacing
|
|
@@ -87,17 +26,23 @@ const esLintStylisticRules = {
|
|
|
87
26
|
* Принудительно вставлять переносы строк после каждого элемента массива
|
|
88
27
|
* https://eslint.style/rules/default/array-element-newline
|
|
89
28
|
*/
|
|
90
|
-
"@stylistic/array-element-newline": ["warn",
|
|
29
|
+
"@stylistic/array-element-newline": ["warn", "consistent"],
|
|
91
30
|
/**
|
|
92
31
|
* Требуйте заключения аргументов стрелочной функции в скобки
|
|
93
32
|
* https://eslint.style/rules/default/arrow-parens
|
|
94
33
|
*/
|
|
95
|
-
"@stylistic/arrow-parens": ["
|
|
34
|
+
"@stylistic/arrow-parens": ["warn", "as-needed"],
|
|
96
35
|
/**
|
|
97
36
|
* Обеспечить одинаковый интервал до и после стрелки в стрелочных функциях
|
|
98
37
|
* https://eslint.style/rules/default/arrow-spacing
|
|
99
38
|
*/
|
|
100
|
-
"@stylistic/arrow-spacing": [
|
|
39
|
+
"@stylistic/arrow-spacing": [
|
|
40
|
+
"warn",
|
|
41
|
+
{
|
|
42
|
+
before: true,
|
|
43
|
+
after: true
|
|
44
|
+
}
|
|
45
|
+
],
|
|
101
46
|
/**
|
|
102
47
|
* Запрещать или принудительно вводить пробелы внутри блоков после открытия блока и перед закрытием блока
|
|
103
48
|
* https://eslint.style/rules/default/block-spacing
|
|
@@ -117,18 +62,27 @@ const esLintStylisticRules = {
|
|
|
117
62
|
{
|
|
118
63
|
arrays: "always-multiline",
|
|
119
64
|
objects: "always-multiline",
|
|
120
|
-
imports: "
|
|
121
|
-
exports: "
|
|
122
|
-
functions: "
|
|
123
|
-
importAttributes: "
|
|
124
|
-
dynamicImports: "
|
|
65
|
+
imports: "always-multiline",
|
|
66
|
+
exports: "always-multiline",
|
|
67
|
+
functions: "only-multiline",
|
|
68
|
+
importAttributes: "always-multiline",
|
|
69
|
+
dynamicImports: "always-multiline",
|
|
70
|
+
enums: "always-multiline",
|
|
71
|
+
generics: "only-multiline",
|
|
72
|
+
tuples: "always-multiline"
|
|
125
73
|
}
|
|
126
74
|
],
|
|
127
75
|
/**
|
|
128
76
|
* Обеспечьте одинаковый интервал до и после запятых
|
|
129
77
|
* https://eslint.style/rules/default/comma-spacing
|
|
130
78
|
*/
|
|
131
|
-
"@stylistic/comma-spacing": [
|
|
79
|
+
"@stylistic/comma-spacing": [
|
|
80
|
+
"warn",
|
|
81
|
+
{
|
|
82
|
+
before: false,
|
|
83
|
+
after: true
|
|
84
|
+
}
|
|
85
|
+
],
|
|
132
86
|
/**
|
|
133
87
|
* Обеспечить единообразие стиля запятых
|
|
134
88
|
* https://eslint.style/rules/default/comma-style
|
|
@@ -173,7 +127,13 @@ const esLintStylisticRules = {
|
|
|
173
127
|
* Обеспечить единообразие интервалов вокруг операторов `*` в функциях генератора
|
|
174
128
|
* https://eslint.style/rules/default/generator-star-spacing
|
|
175
129
|
*/
|
|
176
|
-
"@stylistic/generator-star-spacing": [
|
|
130
|
+
"@stylistic/generator-star-spacing": [
|
|
131
|
+
"warn",
|
|
132
|
+
{
|
|
133
|
+
before: false,
|
|
134
|
+
after: true
|
|
135
|
+
}
|
|
136
|
+
],
|
|
177
137
|
/**
|
|
178
138
|
* Обеспечить расположение тел стрелочных функций
|
|
179
139
|
* https://eslint.style/rules/default/implicit-arrow-linebreak
|
|
@@ -193,12 +153,24 @@ const esLintStylisticRules = {
|
|
|
193
153
|
* Обеспечьте соблюдение единообразных интервалов между именами свойств и аннотациями типов в типах и интерфейсах.
|
|
194
154
|
* https://eslint.style/rules/default/key-spacing
|
|
195
155
|
*/
|
|
196
|
-
"@stylistic/key-spacing": [
|
|
156
|
+
"@stylistic/key-spacing": [
|
|
157
|
+
"warn",
|
|
158
|
+
{
|
|
159
|
+
beforeColon: false,
|
|
160
|
+
afterColon: true
|
|
161
|
+
}
|
|
162
|
+
],
|
|
197
163
|
/**
|
|
198
164
|
* Обеспечьте одинаковый интервал до и после ключевых слов.
|
|
199
165
|
* https://eslint.style/rules/default/keyword-spacing
|
|
200
166
|
*/
|
|
201
|
-
"@stylistic/keyword-spacing": [
|
|
167
|
+
"@stylistic/keyword-spacing": [
|
|
168
|
+
"warn",
|
|
169
|
+
{
|
|
170
|
+
before: true,
|
|
171
|
+
after: true
|
|
172
|
+
}
|
|
173
|
+
],
|
|
202
174
|
/**
|
|
203
175
|
* Обеспечить положение строчных комментариев
|
|
204
176
|
* https://eslint.style/rules/default/line-comment-position
|
|
@@ -216,22 +188,54 @@ const esLintStylisticRules = {
|
|
|
216
188
|
"@stylistic/lines-around-comment": [
|
|
217
189
|
"warn",
|
|
218
190
|
{
|
|
191
|
+
beforeBlockComment: true,
|
|
192
|
+
afterBlockComment: false,
|
|
193
|
+
beforeLineComment: true,
|
|
194
|
+
afterLineComment: false,
|
|
219
195
|
allowBlockStart: true,
|
|
196
|
+
allowBlockEnd: true,
|
|
220
197
|
allowObjectStart: true,
|
|
221
|
-
|
|
222
|
-
|
|
198
|
+
allowObjectEnd: true,
|
|
199
|
+
allowArrayStart: true,
|
|
200
|
+
allowArrayEnd: true,
|
|
201
|
+
allowClassStart: true,
|
|
202
|
+
allowClassEnd: true,
|
|
203
|
+
allowEnumStart: true,
|
|
204
|
+
allowEnumEnd: true,
|
|
205
|
+
allowInterfaceStart: true,
|
|
206
|
+
allowInterfaceEnd: true,
|
|
207
|
+
allowModuleStart: true,
|
|
208
|
+
allowModuleEnd: true,
|
|
209
|
+
allowTypeStart: true,
|
|
210
|
+
allowTypeEnd: true
|
|
223
211
|
}
|
|
224
212
|
],
|
|
225
213
|
/**
|
|
226
214
|
* Требовать или запрещать пустую строку между членами класса
|
|
227
215
|
* https://eslint.style/rules/default/lines-between-class-members
|
|
228
216
|
*/
|
|
229
|
-
"@stylistic/lines-between-class-members": [
|
|
217
|
+
"@stylistic/lines-between-class-members": [
|
|
218
|
+
"warn",
|
|
219
|
+
"always",
|
|
220
|
+
{ exceptAfterSingleLine: true }
|
|
221
|
+
],
|
|
230
222
|
/**
|
|
231
223
|
* Обеспечить максимальную длину строки
|
|
232
224
|
* https://eslint.style/rules/default/max-len
|
|
233
225
|
*/
|
|
234
|
-
"@stylistic/max-len": [
|
|
226
|
+
"@stylistic/max-len": [
|
|
227
|
+
"warn",
|
|
228
|
+
{
|
|
229
|
+
code: 100,
|
|
230
|
+
ignoreUrls: true,
|
|
231
|
+
ignoreStrings: true,
|
|
232
|
+
ignoreTemplateLiterals: true,
|
|
233
|
+
ignoreRegExpLiterals: true,
|
|
234
|
+
ignoreComments: true,
|
|
235
|
+
ignoreTrailingComments: true,
|
|
236
|
+
ignorePattern: "^\\s*//[-!]?"
|
|
237
|
+
}
|
|
238
|
+
],
|
|
235
239
|
/**
|
|
236
240
|
* Обеспечить максимально допустимое количество утверждений в строке
|
|
237
241
|
* https://eslint.style/rules/default/max-statements-per-line
|
|
@@ -286,12 +290,12 @@ const esLintStylisticRules = {
|
|
|
286
290
|
* Запретить стрелочные функции там, где их можно спутать со сравнениями
|
|
287
291
|
* https://eslint.style/rules/default/no-confusing-arrow
|
|
288
292
|
*/
|
|
289
|
-
"@stylistic/no-confusing-arrow": ["
|
|
293
|
+
"@stylistic/no-confusing-arrow": ["off"],
|
|
290
294
|
/**
|
|
291
295
|
* Запретить ненужные скобки
|
|
292
296
|
* https://eslint.style/rules/default/no-extra-parens
|
|
293
297
|
*/
|
|
294
|
-
"@stylistic/no-extra-parens": ["
|
|
298
|
+
"@stylistic/no-extra-parens": ["off"],
|
|
295
299
|
/**
|
|
296
300
|
* Запретить ненужные точки с запятой
|
|
297
301
|
* https://eslint.style/rules/default/no-extra-semi
|
|
@@ -306,22 +310,29 @@ const esLintStylisticRules = {
|
|
|
306
310
|
* Запретить смешанные бинарные операторы
|
|
307
311
|
* https://eslint.style/rules/default/no-mixed-operators
|
|
308
312
|
*/
|
|
309
|
-
"@stylistic/no-mixed-operators":
|
|
313
|
+
"@stylistic/no-mixed-operators": "off",
|
|
310
314
|
/**
|
|
311
315
|
* Запретить смешанные пробелы и табуляции для отступов
|
|
312
316
|
* https://eslint.style/rules/default/no-mixed-spaces-and-tabs
|
|
313
317
|
*/
|
|
314
|
-
"@stylistic/no-mixed-spaces-and-tabs": ["warn"
|
|
318
|
+
"@stylistic/no-mixed-spaces-and-tabs": ["warn"],
|
|
315
319
|
/**
|
|
316
|
-
* Запретить множественные
|
|
320
|
+
* Запретить множественные пробелы.
|
|
317
321
|
* https://eslint.style/rules/default/no-multi-spaces
|
|
318
322
|
*/
|
|
319
|
-
"@stylistic/no-multi-spaces": ["warn"
|
|
323
|
+
"@stylistic/no-multi-spaces": ["warn"],
|
|
320
324
|
/**
|
|
321
325
|
* Запретить несколько пустых строк
|
|
322
326
|
* https://eslint.style/rules/default/no-multiple-empty-lines
|
|
323
327
|
*/
|
|
324
|
-
"@stylistic/no-multiple-empty-lines": [
|
|
328
|
+
"@stylistic/no-multiple-empty-lines": [
|
|
329
|
+
"warn",
|
|
330
|
+
{
|
|
331
|
+
max: 1,
|
|
332
|
+
maxBOF: 0,
|
|
333
|
+
maxEOF: 1
|
|
334
|
+
}
|
|
335
|
+
],
|
|
325
336
|
/**
|
|
326
337
|
* Запретить табуляцию
|
|
327
338
|
* https://eslint.style/rules/default/no-tabs
|
|
@@ -346,23 +357,7 @@ const esLintStylisticRules = {
|
|
|
346
357
|
* Обеспечивать единообразие переносов строк после открывающихся и перед закрывающимися фигурными скобками
|
|
347
358
|
* https://eslint.style/rules/default/object-curly-newline
|
|
348
359
|
*/
|
|
349
|
-
"@stylistic/object-curly-newline": [
|
|
350
|
-
"warn",
|
|
351
|
-
{
|
|
352
|
-
ObjectExpression: {
|
|
353
|
-
multiline: true,
|
|
354
|
-
minProperties: 4,
|
|
355
|
-
consistent: true
|
|
356
|
-
},
|
|
357
|
-
ObjectPattern: {
|
|
358
|
-
multiline: true,
|
|
359
|
-
minProperties: 4,
|
|
360
|
-
consistent: true
|
|
361
|
-
},
|
|
362
|
-
ImportDeclaration: { multiline: true, minProperties: 4 },
|
|
363
|
-
ExportDeclaration: { multiline: true, minProperties: 4 }
|
|
364
|
-
}
|
|
365
|
-
],
|
|
360
|
+
"@stylistic/object-curly-newline": ["warn", { consistent: true }],
|
|
366
361
|
/**
|
|
367
362
|
* Обеспечьте постоянный интервал внутри скобок
|
|
368
363
|
* https://eslint.style/rules/default/object-curly-spacing
|
|
@@ -382,42 +377,118 @@ const esLintStylisticRules = {
|
|
|
382
377
|
* Обеспечить единый стиль переноса строк для операторов
|
|
383
378
|
* https://eslint.style/rules/default/operator-linebreak
|
|
384
379
|
*/
|
|
385
|
-
"@stylistic/operator-linebreak": ["warn", "before"],
|
|
380
|
+
"@stylistic/operator-linebreak": ["warn", "after", { overrides: { "?": "before", ":": "before", "|": "before" } }],
|
|
386
381
|
/**
|
|
387
382
|
* Требовать или запрещать отступы внутри блоков
|
|
388
383
|
* https://eslint.style/rules/default/padded-blocks
|
|
389
384
|
*/
|
|
390
|
-
"@stylistic/padded-blocks": ["
|
|
385
|
+
"@stylistic/padded-blocks": ["warn", "never"],
|
|
391
386
|
/**
|
|
392
387
|
* Требовать или запрещать заполнение строк между операторами
|
|
393
388
|
* https://eslint.style/rules/default/padding-line-between-statements
|
|
394
389
|
*/
|
|
395
390
|
"@stylistic/padding-line-between-statements": [
|
|
396
391
|
"warn",
|
|
397
|
-
{
|
|
392
|
+
{
|
|
393
|
+
blankLine: "always",
|
|
394
|
+
prev: "*",
|
|
395
|
+
next: ["*"]
|
|
396
|
+
},
|
|
398
397
|
{
|
|
399
398
|
blankLine: "any",
|
|
400
399
|
prev: ["const", "let", "var"],
|
|
401
400
|
next: ["const", "let", "var"]
|
|
402
401
|
},
|
|
403
|
-
{
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
{
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
{
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
{
|
|
419
|
-
|
|
420
|
-
|
|
402
|
+
{
|
|
403
|
+
blankLine: "any",
|
|
404
|
+
prev: ["block"],
|
|
405
|
+
next: ["block"]
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
blankLine: "any",
|
|
409
|
+
prev: ["block-like"],
|
|
410
|
+
next: ["block-like"]
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
blankLine: "any",
|
|
414
|
+
prev: ["cjs-export"],
|
|
415
|
+
next: ["cjs-export"]
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
blankLine: "any",
|
|
419
|
+
prev: ["cjs-import"],
|
|
420
|
+
next: ["cjs-import"]
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
blankLine: "any",
|
|
424
|
+
prev: ["class"],
|
|
425
|
+
next: ["class"]
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
blankLine: "any",
|
|
429
|
+
prev: ["continue"],
|
|
430
|
+
next: ["continue"]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
blankLine: "any",
|
|
434
|
+
prev: ["debugger"],
|
|
435
|
+
next: ["debugger"]
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
blankLine: "any",
|
|
439
|
+
prev: ["default"],
|
|
440
|
+
next: ["default"]
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
blankLine: "any",
|
|
444
|
+
prev: ["directive"],
|
|
445
|
+
next: ["directive"]
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
blankLine: "any",
|
|
449
|
+
prev: ["do"],
|
|
450
|
+
next: ["do"]
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
blankLine: "any",
|
|
454
|
+
prev: ["empty"],
|
|
455
|
+
next: ["empty"]
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
blankLine: "any",
|
|
459
|
+
prev: ["export"],
|
|
460
|
+
next: ["export"]
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
blankLine: "any",
|
|
464
|
+
prev: ["expression"],
|
|
465
|
+
next: ["expression"]
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
blankLine: "any",
|
|
469
|
+
prev: ["for"],
|
|
470
|
+
next: ["for"]
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
blankLine: "any",
|
|
474
|
+
prev: ["function"],
|
|
475
|
+
next: ["function"]
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
blankLine: "any",
|
|
479
|
+
prev: ["if"],
|
|
480
|
+
next: ["if"]
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
blankLine: "any",
|
|
484
|
+
prev: ["iife"],
|
|
485
|
+
next: ["iife"]
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
blankLine: "any",
|
|
489
|
+
prev: ["import"],
|
|
490
|
+
next: ["import"]
|
|
491
|
+
},
|
|
421
492
|
{
|
|
422
493
|
blankLine: "any",
|
|
423
494
|
prev: ["multiline-block-like"],
|
|
@@ -438,7 +509,11 @@ const esLintStylisticRules = {
|
|
|
438
509
|
prev: ["multiline-expression"],
|
|
439
510
|
next: ["multiline-expression"]
|
|
440
511
|
},
|
|
441
|
-
{
|
|
512
|
+
{
|
|
513
|
+
blankLine: "any",
|
|
514
|
+
prev: ["return"],
|
|
515
|
+
next: ["return"]
|
|
516
|
+
},
|
|
442
517
|
{
|
|
443
518
|
blankLine: "any",
|
|
444
519
|
prev: ["singleline-const", "singleline-let", "singleline-var"],
|
|
@@ -449,24 +524,58 @@ const esLintStylisticRules = {
|
|
|
449
524
|
prev: ["singleline-export"],
|
|
450
525
|
next: ["singleline-export"]
|
|
451
526
|
},
|
|
452
|
-
{
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
{
|
|
458
|
-
|
|
527
|
+
{
|
|
528
|
+
blankLine: "any",
|
|
529
|
+
prev: ["switch"],
|
|
530
|
+
next: ["switch"]
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
blankLine: "any",
|
|
534
|
+
prev: ["throw"],
|
|
535
|
+
next: ["throw"]
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
blankLine: "any",
|
|
539
|
+
prev: ["try"],
|
|
540
|
+
next: ["try"]
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
blankLine: "any",
|
|
544
|
+
prev: ["while"],
|
|
545
|
+
next: ["while"]
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
blankLine: "any",
|
|
549
|
+
prev: ["with"],
|
|
550
|
+
next: ["with"]
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
blankLine: "any",
|
|
554
|
+
prev: ["type"],
|
|
555
|
+
next: ["type"]
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
blankLine: "any",
|
|
559
|
+
prev: ["interface"],
|
|
560
|
+
next: ["interface"]
|
|
561
|
+
}
|
|
459
562
|
],
|
|
460
563
|
/**
|
|
461
564
|
* Обязательно заключайте в кавычки имена свойств объектов, типов, интерфейсов и перечислений.
|
|
462
565
|
* https://eslint.style/rules/default/quote-props
|
|
463
566
|
*/
|
|
464
|
-
"@stylistic/quote-props": ["warn", "as-needed"
|
|
567
|
+
"@stylistic/quote-props": ["warn", "as-needed"],
|
|
465
568
|
/**
|
|
466
569
|
* Обеспечить последовательное использование обратных кавычек, двойных или одинарных кавычек
|
|
467
570
|
* https://eslint.style/rules/default/quotes
|
|
468
571
|
*/
|
|
469
|
-
"@stylistic/quotes": [
|
|
572
|
+
"@stylistic/quotes": [
|
|
573
|
+
"warn",
|
|
574
|
+
"single",
|
|
575
|
+
{
|
|
576
|
+
avoidEscape: true
|
|
577
|
+
}
|
|
578
|
+
],
|
|
470
579
|
/**
|
|
471
580
|
* Обеспечить соблюдение интервалов между операторами rest и spread и их выражениями
|
|
472
581
|
* https://eslint.style/rules/default/rest-spread-spacing
|
|
@@ -481,7 +590,13 @@ const esLintStylisticRules = {
|
|
|
481
590
|
* Обеспечьте одинаковый интервал до и после точек с запятой
|
|
482
591
|
* https://eslint.style/rules/default/semi-spacing
|
|
483
592
|
*/
|
|
484
|
-
"@stylistic/semi-spacing": [
|
|
593
|
+
"@stylistic/semi-spacing": [
|
|
594
|
+
"warn",
|
|
595
|
+
{
|
|
596
|
+
before: false,
|
|
597
|
+
after: true
|
|
598
|
+
}
|
|
599
|
+
],
|
|
485
600
|
/**
|
|
486
601
|
* Обеспечить правильное расположение точек с запятой
|
|
487
602
|
* https://eslint.style/rules/default/semi-style
|
|
@@ -496,7 +611,14 @@ const esLintStylisticRules = {
|
|
|
496
611
|
* Обеспечить одинаковый интервал перед скобками функций
|
|
497
612
|
* https://eslint.style/rules/default/space-before-function-paren
|
|
498
613
|
*/
|
|
499
|
-
"@stylistic/space-before-function-paren": [
|
|
614
|
+
"@stylistic/space-before-function-paren": [
|
|
615
|
+
"warn",
|
|
616
|
+
{
|
|
617
|
+
anonymous: "never",
|
|
618
|
+
named: "never",
|
|
619
|
+
asyncArrow: "always"
|
|
620
|
+
}
|
|
621
|
+
],
|
|
500
622
|
/**
|
|
501
623
|
* Обеспечьте одинаковый интервал внутри скобок
|
|
502
624
|
* https://eslint.style/rules/default/space-in-parens
|
|
@@ -511,7 +633,13 @@ const esLintStylisticRules = {
|
|
|
511
633
|
* Обеспечивать единообразие интервалов до и после унарных операторов
|
|
512
634
|
* https://eslint.style/rules/default/space-unary-ops
|
|
513
635
|
*/
|
|
514
|
-
"@stylistic/space-unary-ops": [
|
|
636
|
+
"@stylistic/space-unary-ops": [
|
|
637
|
+
"warn",
|
|
638
|
+
{
|
|
639
|
+
words: true,
|
|
640
|
+
nonwords: false
|
|
641
|
+
}
|
|
642
|
+
],
|
|
515
643
|
/**
|
|
516
644
|
* Обеспечьте единообразие интервалов после `//` или `/*` в комментариях
|
|
517
645
|
* https://eslint.style/rules/default/spaced-comment
|
|
@@ -521,7 +649,13 @@ const esLintStylisticRules = {
|
|
|
521
649
|
* Обеспечить наличие пробелов вокруг двоеточий в операторах switch
|
|
522
650
|
* https://eslint.style/rules/default/switch-colon-spacing
|
|
523
651
|
*/
|
|
524
|
-
"@stylistic/switch-colon-spacing": [
|
|
652
|
+
"@stylistic/switch-colon-spacing": [
|
|
653
|
+
"warn",
|
|
654
|
+
{
|
|
655
|
+
before: false,
|
|
656
|
+
after: true
|
|
657
|
+
}
|
|
658
|
+
],
|
|
525
659
|
/**
|
|
526
660
|
* Требовать или запрещать пробелы вокруг встроенных выражений строк шаблонов
|
|
527
661
|
* https://eslint.style/rules/default/template-curly-spacing
|
|
@@ -536,7 +670,14 @@ const esLintStylisticRules = {
|
|
|
536
670
|
* Требуйте одинакового интервала вокруг аннотаций типов.
|
|
537
671
|
* https://eslint.style/rules/default/type-annotation-spacing
|
|
538
672
|
*/
|
|
539
|
-
"@stylistic/type-annotation-spacing": [
|
|
673
|
+
"@stylistic/type-annotation-spacing": [
|
|
674
|
+
"warn",
|
|
675
|
+
{
|
|
676
|
+
before: true,
|
|
677
|
+
after: true,
|
|
678
|
+
overrides: { colon: { before: false, after: true } }
|
|
679
|
+
}
|
|
680
|
+
],
|
|
540
681
|
/**
|
|
541
682
|
* Обеспечивает единообразие интервалов внутри обобщенных типов TypeScript
|
|
542
683
|
* https://eslint.style/rules/default/type-generic-spacing
|
|
@@ -556,54 +697,19 @@ const esLintStylisticRules = {
|
|
|
556
697
|
* Требуйте заключения в скобки литералов регулярных выражений
|
|
557
698
|
* https://eslint.style/rules/default/wrap-regex
|
|
558
699
|
*/
|
|
559
|
-
"@stylistic/wrap-regex": ["
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
languageOptions: {
|
|
566
|
-
parserOptions: {
|
|
567
|
-
parser: tsPlugin__default.parser
|
|
568
|
-
}
|
|
569
|
-
},
|
|
570
|
-
plugins: {
|
|
571
|
-
"@typescript-eslint": tsPlugin__default.plugin
|
|
572
|
-
},
|
|
573
|
-
rules: {
|
|
574
|
-
"@typescript-eslint/consistent-type-definitions": "off",
|
|
575
|
-
"@typescript-eslint/no-shadow": "error",
|
|
576
|
-
"@typescript-eslint/no-unused-vars": "off",
|
|
577
|
-
"@typescript-eslint/no-namespace": "off",
|
|
578
|
-
"@typescript-eslint/consistent-type-imports": [
|
|
579
|
-
"error",
|
|
580
|
-
{
|
|
581
|
-
prefer: "type-imports",
|
|
582
|
-
disallowTypeAnnotations: false,
|
|
583
|
-
fixStyle: "inline-type-imports"
|
|
584
|
-
}
|
|
585
|
-
]
|
|
700
|
+
"@stylistic/wrap-regex": ["off"],
|
|
701
|
+
/**
|
|
702
|
+
* Пробелы вокруг * в yield*: yield* generator
|
|
703
|
+
* https://eslint.style/rules/yield-star-spacing
|
|
704
|
+
*/
|
|
705
|
+
"@stylistic/yield-star-spacing": ["warn", "after"]
|
|
586
706
|
}
|
|
587
707
|
};
|
|
588
708
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
return [
|
|
594
|
-
{
|
|
595
|
-
languageOptions: {
|
|
596
|
-
globals: { ...globals__default.browser, ...globals__default.node }
|
|
597
|
-
}
|
|
598
|
-
},
|
|
599
|
-
jsPlugin__default.configs.recommended,
|
|
600
|
-
...registerPlugins ? tsPlugin__default.configs.recommended : tsPlugin__default.configs.recommended.map(stripPlugins),
|
|
601
|
-
esLintJavaScriptRules,
|
|
602
|
-
registerPlugins ? esLintTypeScriptRules : stripPlugins(esLintTypeScriptRules),
|
|
603
|
-
esLintStylisticRules
|
|
604
|
-
];
|
|
605
|
-
}
|
|
606
|
-
const baseConfig = createBaseConfig();
|
|
709
|
+
const createStylisticConfig = ({ registerPlugins = true } = {}) => [
|
|
710
|
+
registerPlugins ? esLintStylisticRules : stripPlugins.stripPlugins(esLintStylisticRules)
|
|
711
|
+
];
|
|
712
|
+
const stylistic = createStylisticConfig();
|
|
607
713
|
|
|
608
|
-
exports.
|
|
609
|
-
exports.
|
|
714
|
+
exports.createStylisticConfig = createStylisticConfig;
|
|
715
|
+
exports.stylistic = stylistic;
|