@rogolev/value 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. package/.prettierignore +4 -0
  2. package/CHANGELOG.md +56 -0
  3. package/LICENSE +41 -0
  4. package/README.md +91 -0
  5. package/babel.config.json +20 -0
  6. package/docs/helpers/array.md +80 -0
  7. package/docs/helpers/empty.md +77 -0
  8. package/docs/helpers/gettype.md +69 -0
  9. package/docs/helpers/is_array.md +105 -0
  10. package/docs/helpers/is_assoc.md +59 -0
  11. package/docs/helpers/is_bigint.md +57 -0
  12. package/docs/helpers/is_bool.md +50 -0
  13. package/docs/helpers/is_boolean.md +50 -0
  14. package/docs/helpers/is_class.md +73 -0
  15. package/docs/helpers/is_float.md +71 -0
  16. package/docs/helpers/is_function.md +62 -0
  17. package/docs/helpers/is_infinity.md +61 -0
  18. package/docs/helpers/is_int.md +81 -0
  19. package/docs/helpers/is_integer.md +82 -0
  20. package/docs/helpers/is_list.md +51 -0
  21. package/docs/helpers/is_nan.md +59 -0
  22. package/docs/helpers/is_null.md +49 -0
  23. package/docs/helpers/is_number.md +67 -0
  24. package/docs/helpers/is_numeric.md +76 -0
  25. package/docs/helpers/is_object.md +69 -0
  26. package/docs/helpers/is_scalar.md +60 -0
  27. package/docs/helpers/is_string.md +58 -0
  28. package/docs/helpers/is_symbol.md +58 -0
  29. package/docs/helpers/is_undefined.md +56 -0
  30. package/docs/helpers/print.md +187 -0
  31. package/docs/helpers/print_type.md +225 -0
  32. package/docs/helpers/settype.md +78 -0
  33. package/docs/helpers/to_array.md +106 -0
  34. package/docs/helpers/to_assoc.md +91 -0
  35. package/docs/helpers/to_bool.md +76 -0
  36. package/docs/helpers/to_boolean.md +77 -0
  37. package/docs/helpers/to_float.md +70 -0
  38. package/docs/helpers/to_int.md +87 -0
  39. package/docs/helpers/to_integer.md +87 -0
  40. package/docs/helpers/to_list.md +47 -0
  41. package/docs/helpers/to_object.md +76 -0
  42. package/docs/helpers/to_string.md +134 -0
  43. package/docs/helpers.md +51 -0
  44. package/docs/types/NaN.md +30 -0
  45. package/docs/types/array.md +252 -0
  46. package/docs/types/bigint.md +34 -0
  47. package/docs/types/boolean.md +47 -0
  48. package/docs/types/class.md +36 -0
  49. package/docs/types/float.md +35 -0
  50. package/docs/types/function.md +121 -0
  51. package/docs/types/infinity.md +32 -0
  52. package/docs/types/integer.md +35 -0
  53. package/docs/types/null.md +23 -0
  54. package/docs/types/object.md +62 -0
  55. package/docs/types/string.md +33 -0
  56. package/docs/types/symbol.md +29 -0
  57. package/docs/types/undefined.md +25 -0
  58. package/docs/types.md +44 -0
  59. package/eslint.config.mjs +1664 -0
  60. package/index.mjs +37 -0
  61. package/jest.config.mjs +31 -0
  62. package/package.json +47 -0
  63. package/prettier.config.mjs +224 -0
  64. package/src/helpers/array.mjs +107 -0
  65. package/src/helpers/empty.mjs +70 -0
  66. package/src/helpers/gettype.mjs +133 -0
  67. package/src/helpers/is_array.mjs +128 -0
  68. package/src/helpers/is_assoc.mjs +51 -0
  69. package/src/helpers/is_bigint.mjs +47 -0
  70. package/src/helpers/is_bool.mjs +43 -0
  71. package/src/helpers/is_boolean.mjs +43 -0
  72. package/src/helpers/is_class.mjs +87 -0
  73. package/src/helpers/is_float.mjs +67 -0
  74. package/src/helpers/is_function.mjs +74 -0
  75. package/src/helpers/is_infinity.mjs +52 -0
  76. package/src/helpers/is_int.mjs +57 -0
  77. package/src/helpers/is_integer.mjs +74 -0
  78. package/src/helpers/is_list.mjs +43 -0
  79. package/src/helpers/is_nan.mjs +51 -0
  80. package/src/helpers/is_null.mjs +37 -0
  81. package/src/helpers/is_number.mjs +49 -0
  82. package/src/helpers/is_numeric.mjs +64 -0
  83. package/src/helpers/is_object.mjs +72 -0
  84. package/src/helpers/is_scalar.mjs +45 -0
  85. package/src/helpers/is_string.mjs +46 -0
  86. package/src/helpers/is_symbol.mjs +46 -0
  87. package/src/helpers/is_undefined.mjs +44 -0
  88. package/src/helpers/print.mjs +245 -0
  89. package/src/helpers/print_type.mjs +261 -0
  90. package/src/helpers/settype.mjs +101 -0
  91. package/src/helpers/to_array.mjs +118 -0
  92. package/src/helpers/to_assoc.mjs +98 -0
  93. package/src/helpers/to_bool.mjs +68 -0
  94. package/src/helpers/to_boolean.mjs +64 -0
  95. package/src/helpers/to_float.mjs +72 -0
  96. package/src/helpers/to_int.mjs +93 -0
  97. package/src/helpers/to_integer.mjs +81 -0
  98. package/src/helpers/to_list.mjs +56 -0
  99. package/src/helpers/to_object.mjs +94 -0
  100. package/src/helpers/to_string.mjs +157 -0
  101. package/tests/helpers/array.test.mjs +58 -0
  102. package/tests/helpers/empty.test.mjs +22 -0
  103. package/tests/helpers/gettype.test.mjs +74 -0
  104. package/tests/helpers/is_array.test.mjs +404 -0
  105. package/tests/helpers/is_assoc.test.mjs +42 -0
  106. package/tests/helpers/is_bigint.test.mjs +51 -0
  107. package/tests/helpers/is_bool.test.mjs +43 -0
  108. package/tests/helpers/is_boolean.test.mjs +43 -0
  109. package/tests/helpers/is_class.test.mjs +84 -0
  110. package/tests/helpers/is_float.test.mjs +87 -0
  111. package/tests/helpers/is_function.test.mjs +83 -0
  112. package/tests/helpers/is_infinity.test.mjs +46 -0
  113. package/tests/helpers/is_int.test.mjs +45 -0
  114. package/tests/helpers/is_integer.test.mjs +64 -0
  115. package/tests/helpers/is_list.test.mjs +42 -0
  116. package/tests/helpers/is_nan.test.mjs +43 -0
  117. package/tests/helpers/is_null.test.mjs +17 -0
  118. package/tests/helpers/is_number.test.mjs +25 -0
  119. package/tests/helpers/is_numeric.test.mjs +30 -0
  120. package/tests/helpers/is_object.test.mjs +52 -0
  121. package/tests/helpers/is_scalar.test.mjs +21 -0
  122. package/tests/helpers/is_string.test.mjs +20 -0
  123. package/tests/helpers/is_symbol.test.mjs +20 -0
  124. package/tests/helpers/is_undefined.test.mjs +18 -0
  125. package/tests/helpers/print.test.mjs +62 -0
  126. package/tests/helpers/print_type.test.mjs +62 -0
  127. package/tests/helpers/settype.test.mjs +34 -0
  128. package/tests/helpers/to_array.test.mjs +38 -0
  129. package/tests/helpers/to_assoc.test.mjs +33 -0
  130. package/tests/helpers/to_bool.test.mjs +51 -0
  131. package/tests/helpers/to_boolean.test.mjs +51 -0
  132. package/tests/helpers/to_float.test.mjs +26 -0
  133. package/tests/helpers/to_int.test.mjs +48 -0
  134. package/tests/helpers/to_integer.test.mjs +48 -0
  135. package/tests/helpers/to_list.test.mjs +32 -0
  136. package/tests/helpers/to_object.test.mjs +36 -0
  137. package/tests/helpers/to_string.test.mjs +71 -0
@@ -0,0 +1,1664 @@
1
+ import globals from 'globals';
2
+ import pluginJs from '@eslint/js';
3
+ import eslintPluginPrettier from 'eslint-plugin-prettier';
4
+ import eslintConfigPrettier from 'eslint-config-prettier';
5
+
6
+ /**
7
+ * Конфигурация библиотеки
8
+ */
9
+ const eslintConfig = {
10
+ /**
11
+ * Имя объекта конфигурации.
12
+ *
13
+ * Это используется в сообщениях об ошибках и инспекторе конфигурации,
14
+ * чтобы помочь определить, какой объект конфигурации используется.
15
+ */
16
+ name: 'eslint-config',
17
+
18
+ /**
19
+ * Массив шаблонов glob, указывающий файлы, к которым должен применяться
20
+ * объект конфигурации. Если не указано, объект конфигурации применяется
21
+ * ко всем файлам, соответствующим любому другому объекту конфигурации.
22
+ */
23
+ files: ['src/**/*.mjs', 'tests/**/*.mjs'],
24
+
25
+ /**
26
+ * Массив шаблонов glob, указывающий файлы, к которым объект конфигурации
27
+ * не должен применяться. Если не указано, объект конфигурации применяется
28
+ * ко всем файлам, соответствующим files. Если ignores используется без
29
+ * каких-либо других ключей в объекте конфигурации, то шаблоны действуют
30
+ * как глобальные игнорируемые.
31
+ */
32
+ ignores: [],
33
+
34
+ /**
35
+ * Параметры языка JavaScript.
36
+ *
37
+ * Экосистема JavaScript имеет множество сред выполнения, версий,
38
+ * расширений и фреймворков. Каждый из них может иметь различный
39
+ * поддерживаемый синтаксис и глобальные переменные. ESLint
40
+ * позволяет вам настраивать параметры языка, специфичные для
41
+ * JavaScript, используемого в вашем проекте, например
42
+ * пользовательские глобальные переменные. Вы также можете
43
+ * использовать плагины для расширения ESLint для поддержки
44
+ * языковых параметров вашего проекта.
45
+ */
46
+ languageOptions: {
47
+ /**
48
+ * Указывает версию ECMAScript анализируемого кода, определяя как синтаксис,
49
+ * так и доступные глобальные переменные.
50
+ *
51
+ * Установлен в 3 или 5 для ECMAScript 3 и 5 соответственно.
52
+ * В противном случае вы можете использовать любой год между 2015 до настоящего времени.
53
+ * В большинстве случаев мы рекомендуем использовать значение по умолчанию: "latest"
54
+ * чтобы убедиться, что вы всегда используете самую последнюю версию ECMAScript.
55
+ */
56
+ ecmaVersion: 'latest',
57
+
58
+ /**
59
+ * Указывает режим используемого файла JavaScript.
60
+ *
61
+ * Возможные значения:
62
+ *
63
+ * - `module` - Модуль ESM (недействителен, если ecmaVersion является 3 или 5).
64
+ * Ваш код имеет область действия модуля и выполняется в строгом режиме.
65
+ *
66
+ * - `commonjs` - Модуль CommonJS (полезно, если ваш код использует require()).
67
+ * Ваш код имеет область действия функции верхнего уровня и работает в нестрогом режиме.
68
+ *
69
+ * - `script`- немодульный.
70
+ * Ваш код имеет общую глобальную область видимости и работает в нестрогом режиме.
71
+ */
72
+ sourceType: 'module',
73
+
74
+ /**
75
+ * Объект, определяющий дополнительные объекты, которые следует добавить
76
+ * в глобальную область видимости во время проверки.
77
+ */
78
+ globals: { ...globals.browser },
79
+
80
+ /**
81
+ * Объект, определяющий дополнительные параметры, которые передаются
82
+ * непосредственно в parse() или parseForESLint()метод на парсере.
83
+ * Доступные параметры зависят от анализатора.
84
+ */
85
+ parserOptions: {
86
+ /**
87
+ * Разрешить использование зарезервированных слов в качестве
88
+ * идентификаторов (если ecmaVersion является 3).
89
+ */
90
+ allowReserved: false,
91
+
92
+ /**
93
+ * Объект, указывающий, какие дополнительные возможности языка
94
+ * вы хотели бы использовать.
95
+ */
96
+ ecmaFeatures: {
97
+ /**
98
+ * Позволять return заявления в глобальном масштабе.
99
+ */
100
+ globalReturn: false,
101
+
102
+ /**
103
+ * Включить глобальный строгий режим (если ecmaVersion является 5 или больше).
104
+ */
105
+ impliedStrict: false,
106
+
107
+ /**
108
+ * Включить JSX.
109
+ */
110
+ jsx: false,
111
+ },
112
+ },
113
+ },
114
+
115
+ /**
116
+ * Параметры линтера.
117
+ */
118
+ linterOptions: {
119
+ /**
120
+ * Логическое значение, указывающее, разрешена ли встроенная конфигурация.
121
+ */
122
+ noInlineConfig: true,
123
+
124
+ /**
125
+ * Строка серьезности, указывающая, следует ли отслеживать и сообщать
126
+ * о неиспользованных директивах отключения и включения и каким образом.
127
+ * Для совместимости с устаревшими версиями true эквивалентно "warn"
128
+ * и false эквивалентно "off". (по умолчанию: "warn").
129
+ */
130
+ reportUnusedDisableDirectives: 'warn',
131
+ },
132
+
133
+ /**
134
+ * Объект, содержащий сопоставление имен плагинов с именами плагинов
135
+ * и их объектами. Когда files указан, эти плагины доступны только
136
+ * для соответствующих файлов.
137
+ */
138
+ plugins: {
139
+ eslintPluginPrettier,
140
+ },
141
+
142
+ /**
143
+ * Объект, содержащий настроенные правила.
144
+ *
145
+ * Когда files или ignores указаны, эти конфигурации правил доступны
146
+ * только для соответствующих файлов.
147
+ *
148
+ * **Правила** — это основной строительный блок ESLint. Правило проверяет,
149
+ * соответствует ли ваш код определенным ожиданиям и что делать, если
150
+ * он этим ожиданиям не соответствует. Правила также могут содержать
151
+ * дополнительные параметры конфигурации, специфичные для этого правила.
152
+ *
153
+ * Чтобы изменить серьезность правила, установите идентификатор правила,
154
+ * равный одному из следующих значений:
155
+ *
156
+ * - "off" или 0 - отключить правило
157
+ * - "warn" или 1 - включить правило как предупреждение (не влияет на код выхода)
158
+ * - "error" или 2 - включить правило как ошибку (код выхода 1 при срабатывании)
159
+ */
160
+ rules: {
161
+ /**
162
+ * Принудить return операторы в обратных вызовах методов массива.
163
+ *
164
+ * @link https://eslint.org/docs/latest/rules/array-callback-return
165
+ */
166
+ 'array-callback-return': [
167
+ 'error',
168
+ {
169
+ allowImplicit: true,
170
+ checkForEach: true,
171
+ allowVoid: false,
172
+ },
173
+ ],
174
+
175
+ /**
176
+ * Требовать super() вызовы конструкторов.
177
+ *
178
+ * @link https://eslint.org/docs/latest/rules/constructor-super
179
+ */
180
+ 'constructor-super': 'error',
181
+
182
+ /**
183
+ * Принудительно выполнить предложение обновления цикла «for»,
184
+ * перемещая счетчик в правильном направлении.
185
+ *
186
+ * @link https://eslint.org/docs/latest/rules/for-direction
187
+ */
188
+ 'for-direction': 'error',
189
+
190
+ /**
191
+ * Принудить return утверждения в геттерах.
192
+ *
193
+ * @link https://eslint.org/docs/latest/rules/getter-return
194
+ */
195
+ 'getter-return': [
196
+ 'error',
197
+ {
198
+ allowImplicit: true,
199
+ },
200
+ ],
201
+
202
+ /**
203
+ * Запретить использование асинхронной функции в качестве исполнителя обещаний.
204
+ *
205
+ * @link https://eslint.org/docs/latest/rules/no-async-promise-executor
206
+ */
207
+ 'no-async-promise-executor': 'error',
208
+
209
+ /**
210
+ * Запретить await внутри циклов.
211
+ *
212
+ * @link https://eslint.org/docs/latest/rules/no-await-in-loop
213
+ */
214
+ 'no-await-in-loop': 'error',
215
+
216
+ /**
217
+ * Запретить переназначение членов класса.
218
+ *
219
+ * @link https://eslint.org/docs/latest/rules/no-class-assign
220
+ */
221
+ 'no-class-assign': 'error',
222
+
223
+ /**
224
+ * Запретить сравнение с -0.
225
+ *
226
+ * @link https://eslint.org/docs/latest/rules/no-compare-neg-zero
227
+ */
228
+ 'no-compare-neg-zero': 'error',
229
+
230
+ /**
231
+ * Запретить операторы присваивания в условных выражениях.
232
+ *
233
+ * @link https://eslint.org/docs/latest/rules/no-cond-assign
234
+ */
235
+ 'no-cond-assign': ['error', 'except-parens'],
236
+
237
+ /**
238
+ * Запретить переназначение const переменные.
239
+ *
240
+ * @link https://eslint.org/docs/latest/rules/no-const-assign
241
+ */
242
+ 'no-const-assign': 'error',
243
+
244
+ /**
245
+ * Запретить выражения, в которых операция не влияет на значение.
246
+ *
247
+ * @link https://eslint.org/docs/latest/rules/no-constant-binary-expression
248
+ */
249
+ 'no-constant-binary-expression': 'error',
250
+
251
+ /**
252
+ * Запретить постоянные выражения в условиях.
253
+ *
254
+ * @link https://eslint.org/docs/latest/rules/no-constant-condition
255
+ */
256
+ 'no-constant-condition': ['error', { checkLoops: 'allExceptWhileTrue' }],
257
+
258
+ /**
259
+ * Запретить возврат значения из конструктора.
260
+ *
261
+ * @link https://eslint.org/docs/latest/rules/no-constructor-return
262
+ */
263
+ 'no-constructor-return': 'off',
264
+
265
+ /**
266
+ * Запретить управляющие символы в регулярных выражениях.
267
+ *
268
+ * @link https://eslint.org/docs/latest/rules/no-control-regex
269
+ */
270
+ 'no-control-regex': 'error',
271
+
272
+ /**
273
+ * Запретить использование debugger.
274
+ *
275
+ * @link https://eslint.org/docs/latest/rules/no-debugger
276
+ */
277
+ 'no-debugger': 'error',
278
+
279
+ /**
280
+ * Запретить дублирование аргументов в function определения.
281
+ *
282
+ * @link https://eslint.org/docs/latest/rules/no-dupe-args
283
+ */
284
+ 'no-dupe-args': 'error',
285
+
286
+ /**
287
+ * Запретить дублирование членов класса.
288
+ *
289
+ * @link https://eslint.org/docs/latest/rules/no-dupe-class-members
290
+ */
291
+ 'no-dupe-class-members': 'error',
292
+
293
+ /**
294
+ * Запретить дублирование условий в цепочках if-else-if.
295
+ *
296
+ * @link https://eslint.org/docs/latest/rules/no-dupe-else-if
297
+ */
298
+ 'no-dupe-else-if': 'error',
299
+
300
+ /**
301
+ * Запретить дублирование ключей в литералах объектов.
302
+ *
303
+ * @link https://eslint.org/docs/latest/rules/no-dupe-keys
304
+ */
305
+ 'no-dupe-keys': 'error',
306
+
307
+ /**
308
+ * Запретить дублирование меток регистра.
309
+ *
310
+ * @link https://eslint.org/docs/latest/rules/no-duplicate-case
311
+ */
312
+ 'no-duplicate-case': 'error',
313
+
314
+ /**
315
+ * Это правило требует, чтобы весь импорт из одного модуля, который можно объединить,
316
+ * существовал в одном import заявление.
317
+ *
318
+ * @link https://eslint.org/docs/latest/rules/no-duplicate-imports
319
+ */
320
+ 'no-duplicate-imports': [
321
+ 'error',
322
+ {
323
+ includeExports: true,
324
+ },
325
+ ],
326
+
327
+ /**
328
+ * Запретить пустые классы символов в регулярных выражениях.
329
+ *
330
+ * @link https://eslint.org/docs/latest/rules/no-empty-character-class
331
+ */
332
+ 'no-empty-character-class': 'error',
333
+
334
+ /**
335
+ * Запретить пустые шаблоны деструктуризации.
336
+ *
337
+ * @link https://eslint.org/docs/latest/rules/no-empty-pattern
338
+ */
339
+ 'no-empty-pattern': 'error',
340
+
341
+ /**
342
+ * Запретить переназначение исключений в catch статьи.
343
+ *
344
+ * @link https://eslint.org/docs/latest/rules/no-ex-assign
345
+ */
346
+ 'no-ex-assign': 'error',
347
+
348
+ /**
349
+ * Запретить провал case заявления.
350
+ *
351
+ * @link https://eslint.org/docs/latest/rules/no-fallthrough
352
+ */
353
+ 'no-fallthrough': 'error',
354
+
355
+ /**
356
+ * Запретить переназначение function декларации.
357
+ *
358
+ * @link https://eslint.org/docs/latest/rules/no-func-assign
359
+ */
360
+ 'no-func-assign': 'error',
361
+
362
+ /**
363
+ * Запретить назначение импортированным привязкам.
364
+ *
365
+ * @link https://eslint.org/docs/latest/rules/no-import-assign
366
+ */
367
+ 'no-import-assign': 'error',
368
+
369
+ /**
370
+ * Запретить переменную или function объявления во вложенных блоках.
371
+ *
372
+ * @link https://eslint.org/docs/latest/rules/no-inner-declarations
373
+ */
374
+ 'no-inner-declarations': ['error', 'functions', { blockScopedFunctions: 'disallow' }],
375
+
376
+ /**
377
+ * Запретить недопустимые строки регулярных выражений в RegExp конструкторы.
378
+ *
379
+ * @link https://eslint.org/docs/latest/rules/no-invalid-regexp
380
+ */
381
+ 'no-invalid-regexp': [
382
+ 'error',
383
+ {
384
+ allowConstructorFlags: [],
385
+ },
386
+ ],
387
+
388
+ /**
389
+ * Запретить неправильные пробелы.
390
+ *
391
+ * @link https://eslint.org/docs/latest/rules/no-irregular-whitespace
392
+ */
393
+ 'no-irregular-whitespace': [
394
+ 'off',
395
+ {
396
+ skipStrings: true,
397
+ skipComments: true,
398
+ skipRegExps: false,
399
+ skipTemplates: false,
400
+ skipJSXText: false,
401
+ },
402
+ ],
403
+
404
+ /**
405
+ * Запретить литеральные числа, которые теряют точность.
406
+ *
407
+ * @link https://eslint.org/docs/latest/rules/no-loss-of-precision
408
+ */
409
+ 'no-loss-of-precision': 'error',
410
+
411
+ /**
412
+ * Запретить символы, состоящие из нескольких кодовых точек в синтаксисе класса символов.
413
+ *
414
+ * @link https://eslint.org/docs/latest/rules/no-misleading-character-class
415
+ */
416
+ 'no-misleading-character-class': [
417
+ 'error',
418
+ {
419
+ allowEscape: true,
420
+ },
421
+ ],
422
+
423
+ /**
424
+ * Запретить new операторы с глобальными функциями, не являющимися конструкторами.
425
+ *
426
+ * @link https://eslint.org/docs/latest/rules/no-new-native-nonconstructor
427
+ */
428
+ 'no-new-native-nonconstructor': 'error',
429
+
430
+ /**
431
+ * Запретить вызов свойств глобального объекта как функций.
432
+ *
433
+ * @link https://eslint.org/docs/latest/rules/no-obj-calls
434
+ */
435
+ 'no-obj-calls': 'error',
436
+
437
+ /**
438
+ * Запретить возврат значений из функций-исполнителей Promise.
439
+ *
440
+ * @link https://eslint.org/docs/latest/rules/no-promise-executor-return
441
+ */
442
+ 'no-promise-executor-return': 'error',
443
+
444
+ /**
445
+ * Запретить звонки некоторым Object.prototype методы
446
+ * непосредственно на объектах.
447
+ *
448
+ * @link https://eslint.org/docs/latest/rules/no-prototype-builtins
449
+ */
450
+ 'no-prototype-builtins': 'off',
451
+
452
+ /**
453
+ * Запретить задания, в которых обе стороны абсолютно одинаковы.
454
+ *
455
+ * @link https://eslint.org/docs/latest/rules/no-self-assign
456
+ */
457
+ 'no-self-assign': [
458
+ 'error',
459
+ {
460
+ props: true,
461
+ },
462
+ ],
463
+
464
+ /**
465
+ * Запретить сравнения, в которых обе стороны абсолютно одинаковы.
466
+ *
467
+ * @link https://eslint.org/docs/latest/rules/no-self-compare
468
+ */
469
+ 'no-self-compare': 'error',
470
+
471
+ /**
472
+ * Запретить возврат значений из установщиков.
473
+ *
474
+ * @link https://eslint.org/docs/latest/rules/no-setter-return
475
+ */
476
+ 'no-setter-return': 'error',
477
+
478
+ /**
479
+ * Запретить разреженные массивы.
480
+ *
481
+ * @link https://eslint.org/docs/latest/rules/no-sparse-arrays
482
+ */
483
+ 'no-sparse-arrays': 'error',
484
+
485
+ /**
486
+ * Запретить синтаксис буквенного заполнителя шаблона в обычных строках.
487
+ *
488
+ * @link https://eslint.org/docs/latest/rules/no-template-curly-in-string
489
+ */
490
+ 'no-template-curly-in-string': 'error',
491
+
492
+ /**
493
+ * Запретить this / super перед звонком super() в конструкторах.
494
+ *
495
+ * @link https://eslint.org/docs/latest/rules/no-this-before-super
496
+ */
497
+ 'no-this-before-super': 'error',
498
+
499
+ /**
500
+ * Запретить использование необъявленных переменных, если это не указано в global Комментарии.
501
+ *
502
+ * @link https://eslint.org/docs/latest/rules/no-undef
503
+ */
504
+ 'no-undef': ['off'],
505
+
506
+ /**
507
+ * Запретить запутанные многострочные выражения.
508
+ *
509
+ * @link https://eslint.org/docs/latest/rules/no-unexpected-multiline
510
+ */
511
+ 'no-unexpected-multiline': 'error',
512
+
513
+ /**
514
+ * Запретить неизмененные условия цикла.
515
+ *
516
+ * @link https://eslint.org/docs/latest/rules/no-unmodified-loop-condition
517
+ */
518
+ 'no-unmodified-loop-condition': 'error',
519
+
520
+ /**
521
+ * Запретить недоступный код после return, throw, continue, и break заявления.
522
+ *
523
+ * @link https://eslint.org/docs/latest/rules/no-unreachable
524
+ */
525
+ 'no-unreachable': 'error',
526
+
527
+ /**
528
+ * Запретить циклы с телом, допускающим только одну итерацию.
529
+ *
530
+ * @link https://eslint.org/docs/latest/rules/no-unreachable-loop
531
+ */
532
+ 'no-unreachable-loop': 'off',
533
+
534
+ /**
535
+ * Запретить операторы потока управления в finally блоки.
536
+ *
537
+ * @link https://eslint.org/docs/latest/rules/no-unsafe-finally
538
+ */
539
+ 'no-unsafe-finally': 'error',
540
+
541
+ /**
542
+ * Запретить отрицание левого операнда операторов отношения.
543
+ *
544
+ * @link https://eslint.org/docs/latest/rules/no-unsafe-negation
545
+ */
546
+ 'no-unsafe-negation': [
547
+ 'error',
548
+ {
549
+ enforceForOrderingRelations: true,
550
+ },
551
+ ],
552
+
553
+ /**
554
+ * Запретить использование необязательной цепочки в контекстах,
555
+ * где undefined значение не допускается.
556
+ *
557
+ * @link https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining
558
+ */
559
+ 'no-unsafe-optional-chaining': ['error', { disallowArithmeticOperators: true }],
560
+
561
+ /**
562
+ * Запретить неиспользуемые члены частного класса.
563
+ *
564
+ * @link https://eslint.org/docs/latest/rules/no-unused-private-class-members
565
+ */
566
+ 'no-unused-private-class-members': 'error',
567
+
568
+ /**
569
+ * Запретить неиспользуемые переменные.
570
+ *
571
+ * @link https://eslint.org/docs/latest/rules/no-unused-vars
572
+ */
573
+ 'no-unused-vars': [
574
+ 'error',
575
+ {
576
+ vars: 'all',
577
+ varsIgnorePattern: '',
578
+ args: 'after-used',
579
+ argsIgnorePattern: '',
580
+ caughtErrors: 'all',
581
+ caughtErrorsIgnorePattern: '',
582
+ destructuredArrayIgnorePattern: '',
583
+ ignoreRestSiblings: false,
584
+ ignoreClassWithStaticInitBlock: false,
585
+ reportUsedIgnorePattern: false,
586
+ },
587
+ ],
588
+
589
+ /**
590
+ * Запретить использование переменных до их определения.
591
+ *
592
+ * @link https://eslint.org/docs/latest/rules/no-use-before-define
593
+ */
594
+ 'no-use-before-define': 'off',
595
+
596
+ /**
597
+ * Запретить присвоение переменных, если значение не используется.
598
+ *
599
+ * @link https://eslint.org/docs/latest/rules/no-useless-assignment
600
+ */
601
+ 'no-useless-assignment': 'off',
602
+
603
+ /**
604
+ * Запретить бесполезные обратные ссылки в регулярных выражениях.
605
+ *
606
+ * @link https://eslint.org/docs/latest/rules/no-useless-backreference
607
+ */
608
+ 'no-useless-backreference': 'error',
609
+
610
+ /**
611
+ * Запретить назначения, которые могут привести к состояниям гонки
612
+ * из-за использования await или yield.
613
+ *
614
+ * @link https://eslint.org/docs/latest/rules/require-atomic-updates
615
+ */
616
+ 'require-atomic-updates': [
617
+ 'error',
618
+ {
619
+ allowProperties: false,
620
+ },
621
+ ],
622
+
623
+ /**
624
+ * Требовать звонки на isNaN() при проверке NaN.
625
+ *
626
+ * @link https://eslint.org/docs/latest/rules/use-isnan
627
+ */
628
+ 'use-isnan': [
629
+ 'error',
630
+ {
631
+ enforceForSwitchCase: true,
632
+ enforceForIndexOf: true,
633
+ },
634
+ ],
635
+
636
+ /**
637
+ * Принудительное сравнение typeof выражения против допустимых строк.
638
+ *
639
+ * @link https://eslint.org/docs/latest/rules/valid-typeof
640
+ */
641
+ 'valid-typeof': [
642
+ 'error',
643
+ {
644
+ requireStringLiterals: false,
645
+ },
646
+ ],
647
+
648
+ /**
649
+ * Принудительно использовать пары геттеров и сеттеров в объектах и классах.
650
+ *
651
+ * @link https://eslint.org/docs/latest/rules/accessor-pairs
652
+ */
653
+ 'accessor-pairs': [
654
+ 'error',
655
+ {
656
+ setWithoutGet: true,
657
+ getWithoutSet: true,
658
+ enforceForClassMembers: true,
659
+ },
660
+ ],
661
+
662
+ /**
663
+ * Требовать фигурные скобки вокруг тел функций стрелок.
664
+ *
665
+ * @link https://eslint.org/docs/latest/rules/arrow-body-style
666
+ */
667
+ 'arrow-body-style': ['error', 'as-needed', { requireReturnForObjectLiteral: true }],
668
+
669
+ /**
670
+ * Обеспечьте использование переменных в пределах области, в которой они определены.
671
+ *
672
+ * @link https://eslint.org/docs/latest/rules/block-scoped-var
673
+ */
674
+ 'block-scoped-var': 'error',
675
+
676
+ /**
677
+ * Применять соглашение об именах в верблюжьем регистре.
678
+ *
679
+ * @link https://eslint.org/docs/latest/rules/camelcase
680
+ */
681
+ camelcase: 'off',
682
+
683
+ /**
684
+ * Принудительно или запретить использование заглавной буквы первой буквы комментария.
685
+ *
686
+ * @link https://eslint.org/docs/latest/rules/capitalized-comments
687
+ */
688
+ 'capitalized-comments': 'off',
689
+
690
+ /**
691
+ * Обеспечьте, чтобы методы класса использовали this.
692
+ *
693
+ * @link https://eslint.org/docs/latest/rules/class-methods-use-this
694
+ */
695
+ 'class-methods-use-this': 'off',
696
+
697
+ /**
698
+ * Обеспечьте максимальную цикломатическую сложность, разрешенную в программе.
699
+ *
700
+ * @link https://eslint.org/docs/latest/rules/complexity
701
+ */
702
+ complexity: 'off',
703
+
704
+ /**
705
+ * Требовать return операторы, чтобы всегда или никогда не указывать значения.
706
+ *
707
+ * @link https://eslint.org/docs/latest/rules/consistent-return
708
+ */
709
+ 'consistent-return': [
710
+ 'error',
711
+ {
712
+ treatUndefinedAsUnspecified: false,
713
+ },
714
+ ],
715
+
716
+ /**
717
+ * Обеспечьте согласованное именование при захвате текущего контекста выполнения.
718
+ *
719
+ * @link https://eslint.org/docs/latest/rules/consistent-this
720
+ */
721
+ 'consistent-this': ['error', 'self'],
722
+
723
+ /**
724
+ * Обеспечьте согласованный стиль фигурных скобок для всех операторов управления.
725
+ *
726
+ * @link https://eslint.org/docs/latest/rules/curly
727
+ */
728
+ curly: 'error',
729
+
730
+ /**
731
+ * Требовать default дела в switch заявления.
732
+ *
733
+ * @link https://eslint.org/docs/latest/rules/default-case
734
+ */
735
+ 'default-case': 'error',
736
+
737
+ /**
738
+ * Заставить предложения по умолчанию в операторах переключения быть последними.
739
+ *
740
+ * @link https://eslint.org/docs/latest/rules/default-case-last
741
+ */
742
+ 'default-case-last': 'error',
743
+
744
+ /**
745
+ * Сделать параметры по умолчанию последними.
746
+ *
747
+ * @link https://eslint.org/docs/latest/rules/default-param-last
748
+ */
749
+ 'default-param-last': 'error',
750
+
751
+ /**
752
+ * Применяйте точечную запись, когда это возможно.
753
+ *
754
+ * @link https://eslint.org/docs/latest/rules/dot-notation
755
+ */
756
+ 'dot-notation': 'error',
757
+
758
+ /**
759
+ * Требуйте использования === и !==.
760
+ *
761
+ * @link https://eslint.org/docs/latest/rules/eqeqeq
762
+ */
763
+ eqeqeq: 'error',
764
+
765
+ /**
766
+ * Требовать, чтобы имена функций соответствовали имени переменной
767
+ * или свойства, которому они назначены.
768
+ *
769
+ * @link https://eslint.org/docs/latest/rules/func-name-matching
770
+ */
771
+ 'func-name-matching': 'error',
772
+
773
+ /**
774
+ * Требовать или запретить именованные function выражения.
775
+ *
776
+ * @link https://eslint.org/docs/latest/rules/func-names
777
+ */
778
+ 'func-names': ['error', 'as-needed'],
779
+
780
+ /**
781
+ * Обеспечьте последовательное использование любого function объявления
782
+ * или выражения, присвоенные переменным.
783
+ *
784
+ * @link https://eslint.org/docs/latest/rules/func-style
785
+ */
786
+ 'func-style': 'off',
787
+
788
+ /**
789
+ * Требовать сгруппированные пары аксессоров в объектных литералах и классах.
790
+ *
791
+ * @link https://eslint.org/docs/latest/rules/grouped-accessor-pairs
792
+ */
793
+ 'grouped-accessor-pairs': 'error',
794
+
795
+ /**
796
+ * Требовать for-in петли для включения if заявление.
797
+ *
798
+ * @link https://eslint.org/docs/latest/rules/guard-for-in
799
+ */
800
+ 'guard-for-in': 'off',
801
+
802
+ /**
803
+ * Запретить указанные идентификаторы.
804
+ *
805
+ * @link https://eslint.org/docs/latest/rules/id-denylist
806
+ */
807
+ 'id-denylist': 'off',
808
+
809
+ /**
810
+ * Обеспечьте соблюдение минимальной и максимальной длины идентификатора.
811
+ *
812
+ * @link https://eslint.org/docs/latest/rules/id-length
813
+ */
814
+ 'id-length': 'off',
815
+
816
+ /**
817
+ * Требовать, чтобы идентификаторы соответствовали указанному регулярному выражению.
818
+ *
819
+ * @link https://eslint.org/docs/latest/rules/id-match
820
+ */
821
+ 'id-match': 'off',
822
+
823
+ /**
824
+ * Требовать или запрещать инициализацию в объявлениях переменных.
825
+ *
826
+ * @link https://eslint.org/docs/latest/rules/init-declarations
827
+ */
828
+ 'init-declarations': 'off',
829
+
830
+ /**
831
+ * Требовать или запретить сокращение логического оператора присваивания.
832
+ *
833
+ * @link https://eslint.org/docs/latest/rules/logical-assignment-operators
834
+ */
835
+ 'logical-assignment-operators': 'off',
836
+
837
+ /**
838
+ * Установить максимальное количество классов в файле.
839
+ *
840
+ * @link https://eslint.org/docs/latest/rules/max-classes-per-file
841
+ */
842
+ 'max-classes-per-file': 'off',
843
+
844
+ /**
845
+ * Установите максимальную глубину вложения блоков.
846
+ *
847
+ * @link https://eslint.org/docs/latest/rules/max-depth
848
+ */
849
+ 'max-depth': 'off',
850
+
851
+ /**
852
+ * Установить максимальное количество строк в файле.
853
+ *
854
+ * @link https://eslint.org/docs/latest/rules/max-lines
855
+ */
856
+ 'max-lines': 'off',
857
+
858
+ /**
859
+ * Обеспечьте максимальное количество строк кода в функции.
860
+ *
861
+ * @link https://eslint.org/docs/latest/rules/max-lines-per-function
862
+ */
863
+ 'max-lines-per-function': 'off',
864
+
865
+ /**
866
+ * Обеспечьте максимальную глубину вложения обратных вызовов.
867
+ *
868
+ * @link https://eslint.org/docs/latest/rules/max-nested-callbacks
869
+ */
870
+ 'max-nested-callbacks': 'off',
871
+
872
+ /**
873
+ * Обеспечьте максимальное количество параметров в определениях функций.
874
+ *
875
+ * @link https://eslint.org/docs/latest/rules/max-params
876
+ */
877
+ 'max-params': 'off',
878
+
879
+ /**
880
+ * Обеспечьте максимальное количество операторов, разрешенное в функциональных блоках.
881
+ *
882
+ * @link https://eslint.org/docs/latest/rules/max-statements
883
+ */
884
+ 'max-statements': 'off',
885
+
886
+ /**
887
+ * Требовать, чтобы имена конструкторов начинались с заглавной буквы.
888
+ *
889
+ * @link https://eslint.org/docs/latest/rules/new-cap
890
+ */
891
+ 'new-cap': 'off',
892
+
893
+ /**
894
+ * Запретить использование alert, confirm, и prompt.
895
+ *
896
+ * @link https://eslint.org/docs/latest/rules/no-alert
897
+ */
898
+ 'no-alert': 'error',
899
+
900
+ /**
901
+ * Запретить Array конструкторы.
902
+ *
903
+ * @link https://eslint.org/docs/latest/rules/no-array-constructor
904
+ */
905
+ 'no-array-constructor': 'error',
906
+
907
+ /**
908
+ * Запретить побитовые операторы.
909
+ *
910
+ * @link https://eslint.org/docs/latest/rules/no-bitwise
911
+ */
912
+ 'no-bitwise': 'off',
913
+
914
+ /**
915
+ * Запретить использование arguments.caller или arguments.callee.
916
+ *
917
+ * @link https://eslint.org/docs/latest/rules/no-caller
918
+ */
919
+ 'no-caller': 'error',
920
+
921
+ /**
922
+ * Запретить лексические объявления в предложениях case.
923
+ *
924
+ * @link https://eslint.org/docs/latest/rules/no-case-declarations
925
+ */
926
+ 'no-case-declarations': 'error',
927
+
928
+ /**
929
+ * Запретить использование console.
930
+ *
931
+ * @link https://eslint.org/docs/latest/rules/no-console
932
+ */
933
+ 'no-console': 'off',
934
+
935
+ /**
936
+ * Запретить continue заявления.
937
+ *
938
+ * @link https://eslint.org/docs/latest/rules/no-continue
939
+ */
940
+ 'no-continue': 'off',
941
+
942
+ /**
943
+ * Запретить удаление переменных.
944
+ *
945
+ * @link https://eslint.org/docs/latest/rules/no-delete-var
946
+ */
947
+ 'no-delete-var': 'error',
948
+
949
+ /**
950
+ * Явно запретить знаки равенства в начале регулярных выражений.
951
+ *
952
+ * @link https://eslint.org/docs/latest/rules/no-div-regex
953
+ */
954
+ 'no-div-regex': 'error',
955
+
956
+ /**
957
+ * Запретить else блоки после return заявления в if заявления.
958
+ *
959
+ * @link https://eslint.org/docs/latest/rules/no-else-return
960
+ */
961
+ 'no-else-return': 'error',
962
+
963
+ /**
964
+ * Запретить пустые операторы блоков.
965
+ *
966
+ * @link https://eslint.org/docs/latest/rules/no-empty
967
+ */
968
+ 'no-empty': 'error',
969
+
970
+ /**
971
+ * Запретить пустые функции.
972
+ *
973
+ * @link https://eslint.org/docs/latest/rules/no-empty-function
974
+ */
975
+ 'no-empty-function': 'off',
976
+
977
+ /**
978
+ * Запретить пустые статические блоки.
979
+ *
980
+ * @link https://eslint.org/docs/latest/rules/no-empty-static-block
981
+ */
982
+ 'no-empty-static-block': 'error',
983
+
984
+ /**
985
+ * Запретить null сравнения без операторов проверки типов.
986
+ *
987
+ * @link https://eslint.org/docs/latest/rules/no-eq-null
988
+ */
989
+ 'no-eq-null': 'error',
990
+
991
+ /**
992
+ * Запретить использование eval().
993
+ *
994
+ * @link https://eslint.org/docs/latest/rules/no-eval
995
+ */
996
+ 'no-eval': 'off',
997
+
998
+ /**
999
+ * Запретить расширение собственных типов.
1000
+ *
1001
+ * @link https://eslint.org/docs/latest/rules/no-extend-native
1002
+ */
1003
+ 'no-extend-native': 'error',
1004
+
1005
+ /**
1006
+ * Запретить ненужные звонки на .bind().
1007
+ *
1008
+ * @link https://eslint.org/docs/latest/rules/no-extra-bind
1009
+ */
1010
+ 'no-extra-bind': 'error',
1011
+
1012
+ /**
1013
+ * Запретить ненужные логические приведения.
1014
+ *
1015
+ * @link https://eslint.org/docs/latest/rules/no-extra-boolean-cast
1016
+ */
1017
+ 'no-extra-boolean-cast': 'error',
1018
+
1019
+ /**
1020
+ * Запретить ненужные ярлыки.
1021
+ *
1022
+ * @link https://eslint.org/docs/latest/rules/no-extra-label
1023
+ */
1024
+ 'no-extra-label': 'error',
1025
+
1026
+ /**
1027
+ * Запретить назначения собственным объектам или глобальным переменным,
1028
+ * доступным только для чтения.
1029
+ *
1030
+ * @link https://eslint.org/docs/latest/rules/no-global-assign
1031
+ */
1032
+ 'no-global-assign': 'error',
1033
+
1034
+ /**
1035
+ * Запретить преобразования сокращенных типов.
1036
+ *
1037
+ * @link https://eslint.org/docs/latest/rules/no-implicit-coercion
1038
+ */
1039
+ 'no-implicit-coercion': 'error',
1040
+
1041
+ /**
1042
+ * Запретить объявления в глобальной области видимости.
1043
+ *
1044
+ * @link https://eslint.org/docs/latest/rules/no-implicit-globals
1045
+ */
1046
+ 'no-implicit-globals': 'error',
1047
+
1048
+ /**
1049
+ * Запретить использование eval()-подобные методы.
1050
+ *
1051
+ * @link https://eslint.org/docs/latest/rules/no-implied-eval
1052
+ */
1053
+ 'no-implied-eval': 'error',
1054
+
1055
+ /**
1056
+ * Запретить встроенные комментарии после кода.
1057
+ *
1058
+ * @link https://eslint.org/docs/latest/rules/no-inline-comments
1059
+ */
1060
+ 'no-inline-comments': 'off',
1061
+
1062
+ /**
1063
+ * Запретить использование this в контекстах, где значение this является undefined.
1064
+ *
1065
+ * @link https://eslint.org/docs/latest/rules/no-invalid-this
1066
+ */
1067
+ 'no-invalid-this': 'error',
1068
+
1069
+ /**
1070
+ * Запретить использование __iterator__ свойство.
1071
+ *
1072
+ * @link https://eslint.org/docs/latest/rules/no-iterator
1073
+ */
1074
+ 'no-iterator': 'error',
1075
+
1076
+ /**
1077
+ * Запретить метки, имя которых совпадает с именем переменной.
1078
+ *
1079
+ * @link https://eslint.org/docs/latest/rules/no-label-var
1080
+ */
1081
+ 'no-label-var': 'error',
1082
+
1083
+ /**
1084
+ * Запретить помеченные утверждения.
1085
+ *
1086
+ * @link https://eslint.org/docs/latest/rules/no-labels
1087
+ */
1088
+ 'no-labels': 'off',
1089
+
1090
+ /**
1091
+ * Запретить ненужные вложенные блоки.
1092
+ *
1093
+ * @link https://eslint.org/docs/latest/rules/no-lone-blocks
1094
+ */
1095
+ 'no-lone-blocks': 'error',
1096
+
1097
+ /**
1098
+ * Запретить if заявления как единственное утверждение в else блоки.
1099
+ *
1100
+ * @link https://eslint.org/docs/latest/rules/no-lonely-if
1101
+ */
1102
+ 'no-lonely-if': 'error',
1103
+
1104
+ /**
1105
+ * Запретить объявления функций, содержащие небезопасные ссылки внутри операторов цикла.
1106
+ *
1107
+ * @link https://eslint.org/docs/latest/rules/no-loop-func
1108
+ */
1109
+ 'no-loop-func': 'off',
1110
+
1111
+ /**
1112
+ * Запретить магические числа.
1113
+ *
1114
+ * @link https://eslint.org/docs/latest/rules/no-magic-numbers
1115
+ */
1116
+ 'no-magic-numbers': 'off',
1117
+
1118
+ /**
1119
+ * Запретить использование связанных выражений присваивания.
1120
+ *
1121
+ * @link https://eslint.org/docs/latest/rules/no-multi-assign
1122
+ */
1123
+ 'no-multi-assign': 'error',
1124
+
1125
+ /**
1126
+ * Запретить многострочные строки.
1127
+ *
1128
+ * @link https://eslint.org/docs/latest/rules/no-multi-str
1129
+ */
1130
+ 'no-multi-str': 'error',
1131
+
1132
+ /**
1133
+ * Запретить отрицательные условия.
1134
+ *
1135
+ * @link https://eslint.org/docs/latest/rules/no-negated-condition
1136
+ */
1137
+ 'no-negated-condition': 'error',
1138
+
1139
+ /**
1140
+ * Запретить вложенные троичные выражения.
1141
+ *
1142
+ * @link https://eslint.org/docs/latest/rules/no-nested-ternary
1143
+ */
1144
+ 'no-nested-ternary': 'off',
1145
+
1146
+ /**
1147
+ * Запретить new операторы вне присваиваний или сравнений.
1148
+ *
1149
+ * @link https://eslint.org/docs/latest/rules/no-new
1150
+ */
1151
+ 'no-new': 'error',
1152
+
1153
+ /**
1154
+ * Запретить new операторы с Function объект.
1155
+ *
1156
+ * @link https://eslint.org/docs/latest/rules/no-new-func
1157
+ */
1158
+ 'no-new-func': 'off',
1159
+
1160
+ /**
1161
+ * Запретить new операторы с String, Number, и Boolean объекты.
1162
+ *
1163
+ * @link https://eslint.org/docs/latest/rules/no-new-wrappers
1164
+ */
1165
+ 'no-new-wrappers': 'error',
1166
+
1167
+ /**
1168
+ * Запретить \8 и \9 escape-последовательности в строковых литералах.
1169
+ *
1170
+ * @link https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape
1171
+ */
1172
+ 'no-nonoctal-decimal-escape': 'error',
1173
+
1174
+ /**
1175
+ * Запретить вызовы на Object конструктор без аргумента.
1176
+ *
1177
+ * @link https://eslint.org/docs/latest/rules/no-object-constructor
1178
+ */
1179
+ 'no-object-constructor': 'off',
1180
+
1181
+ /**
1182
+ * Запретить восьмеричные литералы.
1183
+ *
1184
+ * @link https://eslint.org/docs/latest/rules/no-octal
1185
+ */
1186
+ 'no-octal': 'off',
1187
+
1188
+ /**
1189
+ * Запретить восьмеричные escape-последовательности в строковых литералах.
1190
+ *
1191
+ * @link https://eslint.org/docs/latest/rules/no-octal-escape
1192
+ */
1193
+ 'no-octal-escape': 'off',
1194
+
1195
+ /**
1196
+ * Запретить переназначение function параметры.
1197
+ *
1198
+ * @link https://eslint.org/docs/latest/rules/no-param-reassign
1199
+ */
1200
+ 'no-param-reassign': 'off',
1201
+
1202
+ /**
1203
+ * Запретить унарные операторы ++ и --.
1204
+ *
1205
+ * @link https://eslint.org/docs/latest/rules/no-plusplus
1206
+ */
1207
+ 'no-plusplus': 'off',
1208
+
1209
+ /**
1210
+ * Запретить использование __proto__ свойство.
1211
+ *
1212
+ * @link https://eslint.org/docs/latest/rules/no-proto
1213
+ */
1214
+ 'no-proto': 'error',
1215
+
1216
+ /**
1217
+ * Запретить повторное объявление переменной.
1218
+ *
1219
+ * @link https://eslint.org/docs/latest/rules/no-redeclare
1220
+ */
1221
+ 'no-redeclare': 'error',
1222
+
1223
+ /**
1224
+ * Запретить использование нескольких пробелов в регулярных выражениях.
1225
+ *
1226
+ * @link https://eslint.org/docs/latest/rules/no-regex-spaces
1227
+ */
1228
+ 'no-regex-spaces': 'error',
1229
+
1230
+ /**
1231
+ * Запретить указанные имена в экспорте.
1232
+ *
1233
+ * @link https://eslint.org/docs/latest/rules/no-restricted-exports
1234
+ */
1235
+ 'no-restricted-exports': 'off',
1236
+
1237
+ /**
1238
+ * Запретить указанные глобальные переменные.
1239
+ *
1240
+ * @link https://eslint.org/docs/latest/rules/no-restricted-globals
1241
+ */
1242
+ 'no-restricted-globals': 'off',
1243
+
1244
+ /**
1245
+ * Запретить указанные модули при загрузке import.
1246
+ *
1247
+ * @link https://eslint.org/docs/latest/rules/no-restricted-imports
1248
+ */
1249
+ 'no-restricted-imports': 'off',
1250
+
1251
+ /**
1252
+ * Запретить определенные свойства определенных объектов.
1253
+ *
1254
+ * @link https://eslint.org/docs/latest/rules/no-restricted-properties
1255
+ */
1256
+ 'no-restricted-properties': 'off',
1257
+
1258
+ /**
1259
+ * Запретить указанный синтаксис.
1260
+ *
1261
+ * @link https://eslint.org/docs/latest/rules/no-restricted-syntax
1262
+ */
1263
+ 'no-restricted-syntax': 'off',
1264
+
1265
+ /**
1266
+ * Запретить операторы присваивания в return заявления.
1267
+ *
1268
+ * @link https://eslint.org/docs/latest/rules/no-return-assign
1269
+ */
1270
+ 'no-return-assign': 'error',
1271
+
1272
+ /**
1273
+ * Запретить javascript: URL-адреса.
1274
+ *
1275
+ * @link https://eslint.org/docs/latest/rules/no-script-url
1276
+ */
1277
+ 'no-script-url': 'error',
1278
+
1279
+ /**
1280
+ * Запретить операторы-запятые.
1281
+ *
1282
+ * @link https://eslint.org/docs/latest/rules/no-sequences
1283
+ */
1284
+ 'no-sequences': 'error',
1285
+
1286
+ /**
1287
+ * Запретить объявления переменных из переменных теневого копирования,
1288
+ * объявленных во внешней области видимости.
1289
+ *
1290
+ * @link https://eslint.org/docs/latest/rules/no-shadow
1291
+ */
1292
+ 'no-shadow': 'error',
1293
+
1294
+ /**
1295
+ * Запретить идентификаторам скрывать ограниченные имена.
1296
+ *
1297
+ * @link https://eslint.org/docs/latest/rules/no-shadow-restricted-names
1298
+ */
1299
+ 'no-shadow-restricted-names': 'error',
1300
+
1301
+ /**
1302
+ * Запретить тернарные операторы.
1303
+ *
1304
+ * @link https://eslint.org/docs/latest/rules/no-ternary
1305
+ */
1306
+ 'no-ternary': 'off',
1307
+
1308
+ /**
1309
+ * Запретить выбрасывать литералы в исключения.
1310
+ *
1311
+ * @link https://eslint.org/docs/latest/rules/no-throw-literal
1312
+ */
1313
+ 'no-throw-literal': 'error',
1314
+
1315
+ /**
1316
+ * Запретить инициализацию переменных undefined.
1317
+ *
1318
+ * @link https://eslint.org/docs/latest/rules/no-undef-init
1319
+ */
1320
+ 'no-undef-init': 'error',
1321
+
1322
+ /**
1323
+ * Запретить использование undefined как идентификатор.
1324
+ *
1325
+ * @link https://eslint.org/docs/latest/rules/no-undefined
1326
+ */
1327
+ 'no-undefined': 'off',
1328
+
1329
+ /**
1330
+ * Запретить висячие подчеркивания в идентификаторах.
1331
+ *
1332
+ * @link https://eslint.org/docs/latest/rules/no-underscore-dangle
1333
+ */
1334
+ 'no-underscore-dangle': 'off',
1335
+
1336
+ /**
1337
+ * Запретить тернарные операторы, если существуют более простые альтернативы.
1338
+ *
1339
+ * @link https://eslint.org/docs/latest/rules/no-unneeded-ternary
1340
+ */
1341
+ 'no-unneeded-ternary': 'error',
1342
+
1343
+ /**
1344
+ * Запретить неиспользуемые выражения.
1345
+ *
1346
+ * @link https://eslint.org/docs/latest/rules/no-unused-expressions
1347
+ */
1348
+ 'no-unused-expressions': 'off',
1349
+
1350
+ /**
1351
+ * Запретить неиспользуемые ярлыки.
1352
+ *
1353
+ * @link https://eslint.org/docs/latest/rules/no-unused-labels
1354
+ */
1355
+ 'no-unused-labels': 'error',
1356
+
1357
+ /**
1358
+ * Запретить ненужные звонки на .call() и .apply().
1359
+ *
1360
+ * @link https://eslint.org/docs/latest/rules/no-useless-call
1361
+ */
1362
+ 'no-useless-call': 'error',
1363
+
1364
+ /**
1365
+ * Запретить ненужное catch статьи.
1366
+ *
1367
+ * @link https://eslint.org/docs/latest/rules/no-useless-catch
1368
+ */
1369
+ 'no-useless-catch': 'error',
1370
+
1371
+ /**
1372
+ * Запретить ненужные вычисляемые ключи свойств в объектах и классах.
1373
+ *
1374
+ * @link https://eslint.org/docs/latest/rules/no-useless-computed-key
1375
+ */
1376
+ 'no-useless-computed-key': 'error',
1377
+
1378
+ /**
1379
+ * Запретить ненужное объединение литералов или литералов шаблонов.
1380
+ *
1381
+ * @link https://eslint.org/docs/latest/rules/no-useless-concat
1382
+ */
1383
+ 'no-useless-concat': 'error',
1384
+
1385
+ /**
1386
+ * Запретить ненужные конструкторы.
1387
+ *
1388
+ * @link https://eslint.org/docs/latest/rules/no-useless-constructor
1389
+ */
1390
+ 'no-useless-constructor': 'error',
1391
+
1392
+ /**
1393
+ * Запретить ненужные escape-символы.
1394
+ *
1395
+ * @link https://eslint.org/docs/latest/rules/no-useless-escape
1396
+ */
1397
+ 'no-useless-escape': 'error',
1398
+
1399
+ /**
1400
+ * Запретить переименование импорта, экспорта и деструктурированных назначений на одно и то же имя.
1401
+ *
1402
+ * @link https://eslint.org/docs/latest/rules/no-useless-rename
1403
+ */
1404
+ 'no-useless-rename': 'error',
1405
+
1406
+ /**
1407
+ * Запретить избыточные операторы возврата.
1408
+ *
1409
+ * @link https://eslint.org/docs/latest/rules/no-useless-return
1410
+ */
1411
+ 'no-useless-return': 'error',
1412
+
1413
+ /**
1414
+ * Требовать let или const вместо var.
1415
+ *
1416
+ * @link https://eslint.org/docs/latest/rules/no-var
1417
+ */
1418
+ 'no-var': 'error',
1419
+
1420
+ /**
1421
+ * Запретить void операторы.
1422
+ *
1423
+ * @link https://eslint.org/docs/latest/rules/no-void
1424
+ */
1425
+ 'no-void': 'error',
1426
+
1427
+ /**
1428
+ * Запретить указанные условия предупреждения в комментариях.
1429
+ *
1430
+ * @link https://eslint.org/docs/latest/rules/no-warning-comments
1431
+ */
1432
+ 'no-warning-comments': 'off',
1433
+
1434
+ /**
1435
+ * Запретить with заявления.
1436
+ *
1437
+ * @link https://eslint.org/docs/latest/rules/no-with
1438
+ */
1439
+ 'no-with': 'error',
1440
+
1441
+ /**
1442
+ * Требовать или запретить сокращенный синтаксис методов и свойств для объектных литералов.
1443
+ *
1444
+ * @link https://eslint.org/docs/latest/rules/object-shorthand
1445
+ */
1446
+ 'object-shorthand': 'error',
1447
+
1448
+ /**
1449
+ * Обеспечить объявление переменных вместе или по отдельности в функциях.
1450
+ *
1451
+ * @link https://eslint.org/docs/latest/rules/one-var
1452
+ */
1453
+ 'one-var': ['error', 'never'],
1454
+
1455
+ /**
1456
+ * Требовать или запретить сокращение оператора присваивания, где это возможно.
1457
+ *
1458
+ * @link https://eslint.org/docs/latest/rules/operator-assignment
1459
+ */
1460
+ 'operator-assignment': 'error',
1461
+
1462
+ /**
1463
+ * Требовать использования функций стрелок для обратных вызовов.
1464
+ *
1465
+ * @link https://eslint.org/docs/latest/rules/prefer-arrow-callback
1466
+ */
1467
+ 'prefer-arrow-callback': 'error',
1468
+
1469
+ /**
1470
+ * Требовать const объявления для переменных, которые никогда не переназначаются после объявления.
1471
+ *
1472
+ * @link https://eslint.org/docs/latest/rules/prefer-const
1473
+ */
1474
+ 'prefer-const': 'error',
1475
+
1476
+ /**
1477
+ * Требовать деструктуризации массивов и/или объектов.
1478
+ *
1479
+ * @link https://eslint.org/docs/latest/rules/prefer-destructuring
1480
+ */
1481
+ 'prefer-destructuring': 'off',
1482
+
1483
+ /**
1484
+ * Запретить использование Math.pow в пользу ** оператор.
1485
+ *
1486
+ * @link https://eslint.org/docs/latest/rules/prefer-exponentiation-operator
1487
+ */
1488
+ 'prefer-exponentiation-operator': 'error',
1489
+
1490
+ /**
1491
+ * Принудительное использование именованной группы захвата в регулярном выражении.
1492
+ *
1493
+ * @link https://eslint.org/docs/latest/rules/prefer-named-capture-group
1494
+ */
1495
+ 'prefer-named-capture-group': 'off',
1496
+
1497
+ /**
1498
+ * Запретить parseInt() и Number.parseInt() в пользу двоичных,
1499
+ * восьмеричных и шестнадцатеричных литералов.
1500
+ *
1501
+ * @link https://eslint.org/docs/latest/rules/prefer-numeric-literals
1502
+ */
1503
+ 'prefer-numeric-literals': 'error',
1504
+
1505
+ /**
1506
+ * Запретить использование Object.prototype.hasOwnProperty.call()
1507
+ * и предпочитают использовать Object.hasOwn().
1508
+ *
1509
+ * @link https://eslint.org/docs/latest/rules/prefer-object-has-own
1510
+ */
1511
+ 'prefer-object-has-own': 'error',
1512
+
1513
+ /**
1514
+ * Запретить использование Object.assign с литералом объекта в качестве
1515
+ * первого аргумента и вместо этого предпочесть использование расширения объекта.
1516
+ *
1517
+ * @link https://eslint.org/docs/latest/rules/prefer-object-spread
1518
+ */
1519
+ 'prefer-object-spread': 'error',
1520
+
1521
+ /**
1522
+ * Требовать использования объектов Error в качестве причин отклонения обещания.
1523
+ *
1524
+ * @link https://eslint.org/docs/latest/rules/prefer-promise-reject-errors
1525
+ */
1526
+ 'prefer-promise-reject-errors': 'error',
1527
+
1528
+ /**
1529
+ * Запретить использование RegExp конструктор в пользу литералов регулярных выражений.
1530
+ *
1531
+ * @link https://eslint.org/docs/latest/rules/prefer-regex-literals
1532
+ */
1533
+ 'prefer-regex-literals': 'error',
1534
+
1535
+ /**
1536
+ * Требуйте остальные параметры вместо arguments.
1537
+ *
1538
+ * @link https://eslint.org/docs/latest/rules/prefer-rest-params
1539
+ */
1540
+ 'prefer-rest-params': 'error',
1541
+
1542
+ /**
1543
+ * Требуйте операторов распространения вместо .apply().
1544
+ *
1545
+ * @link https://eslint.org/docs/latest/rules/prefer-spread
1546
+ */
1547
+ 'prefer-spread': 'error',
1548
+
1549
+ /**
1550
+ * Требовать литералы шаблона вместо конкатенации строк.
1551
+ *
1552
+ * @link https://eslint.org/docs/latest/rules/prefer-template
1553
+ */
1554
+ 'prefer-template': 'error',
1555
+
1556
+ /**
1557
+ * Обеспечьте последовательное использование аргумента системы счисления
1558
+ * при использовании parseInt().
1559
+ *
1560
+ * @link https://eslint.org/docs/latest/rules/radix
1561
+ */
1562
+ radix: 'error',
1563
+
1564
+ /**
1565
+ * Запретить асинхронные функции, у которых нет await выражение.
1566
+ *
1567
+ * @link https://eslint.org/docs/latest/rules/require-await
1568
+ */
1569
+ 'require-await': 'error',
1570
+
1571
+ /**
1572
+ * Обеспечьте использование u или v флаг в RegExp.
1573
+ *
1574
+ * @link https://eslint.org/docs/latest/rules/require-unicode-regexp
1575
+ */
1576
+ 'require-unicode-regexp': 'off',
1577
+
1578
+ /**
1579
+ * Требовать, чтобы функции генератора содержали yield.
1580
+ *
1581
+ * @link https://eslint.org/docs/latest/rules/require-yield
1582
+ */
1583
+ 'require-yield': 'error',
1584
+
1585
+ /**
1586
+ * Принудительно выполнять сортированные объявления импорта внутри модулей.
1587
+ *
1588
+ * @link https://eslint.org/docs/latest/rules/sort-imports
1589
+ */
1590
+ 'sort-imports': 'off',
1591
+
1592
+ /**
1593
+ * Требовать сортировку ключей объекта.
1594
+ *
1595
+ * @link https://eslint.org/docs/latest/rules/sort-keys
1596
+ */
1597
+ 'sort-keys': 'off',
1598
+
1599
+ /**
1600
+ * Требовать сортировки переменных в одном блоке объявлений.
1601
+ *
1602
+ * @link https://eslint.org/docs/latest/rules/sort-vars
1603
+ */
1604
+ 'sort-vars': 'off',
1605
+
1606
+ /**
1607
+ * Требовать или запрещать директивы строгого режима.
1608
+ *
1609
+ * @link https://eslint.org/docs/latest/rules/strict
1610
+ */
1611
+ strict: 'off',
1612
+
1613
+ /**
1614
+ * Требовать описания символов.
1615
+ *
1616
+ * @link https://eslint.org/docs/latest/rules/symbol-description
1617
+ */
1618
+ 'symbol-description': 'off',
1619
+
1620
+ /**
1621
+ * Требовать var объявления должны быть размещены в верхней части их области видимости.
1622
+ *
1623
+ * @link https://eslint.org/docs/latest/rules/vars-on-top
1624
+ */
1625
+ 'vars-on-top': 'off',
1626
+
1627
+ /**
1628
+ * Требовать или запрещать условия «Йода».
1629
+ *
1630
+ * @link https://eslint.org/docs/latest/rules/yoda
1631
+ */
1632
+ yoda: ['error', 'never'],
1633
+
1634
+ 'eslintPluginPrettier/prettier': 'warn',
1635
+ },
1636
+
1637
+ /**
1638
+ * Объект, содержащий пары имя-значение, которые должны быть доступны всем правилам.
1639
+ */
1640
+ settings: {},
1641
+ };
1642
+
1643
+ /**
1644
+ * Конфигурация ESLint.
1645
+ *
1646
+ * @link https://eslint.org/docs/latest/use/getting-started
1647
+ */
1648
+ export default [
1649
+ /**
1650
+ * Включает правила, которые ESLint рекомендует использовать всем,
1651
+ * чтобы избежать потенциальных ошибок.
1652
+ */
1653
+ pluginJs.configs.recommended,
1654
+
1655
+ /**
1656
+ * Конфигурация пакета `prettier`.
1657
+ */
1658
+ eslintConfigPrettier,
1659
+
1660
+ /**
1661
+ * Конфигурация библиотеки php.js
1662
+ */
1663
+ eslintConfig,
1664
+ ];