@upsoft/troy-ts-standard-package-dev-tools 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/build-troy-ts-standard-package-main.js +3 -0
  2. package/dist/$.d.ts +2 -0
  3. package/dist/$.d.ts.map +1 -0
  4. package/dist/$.js +5 -0
  5. package/dist/$.js.map +1 -0
  6. package/dist/$global-deps.d.ts +5 -0
  7. package/dist/$global-deps.d.ts.map +1 -0
  8. package/dist/$global-deps.js +7 -0
  9. package/dist/$global-deps.js.map +1 -0
  10. package/dist/build-main.d.ts +2 -0
  11. package/dist/build-main.d.ts.map +1 -0
  12. package/dist/build-main.js +43 -0
  13. package/dist/build-main.js.map +1 -0
  14. package/dist/dependency-reexport-method.d.ts +9 -0
  15. package/dist/dependency-reexport-method.d.ts.map +1 -0
  16. package/dist/dependency-reexport-method.js +13 -0
  17. package/dist/dependency-reexport-method.js.map +1 -0
  18. package/dist/external-package-info.d.ts +5 -0
  19. package/dist/external-package-info.d.ts.map +1 -0
  20. package/dist/external-package-info.js +3 -0
  21. package/dist/external-package-info.js.map +1 -0
  22. package/dist/fetch-package-info.d.ts +5 -0
  23. package/dist/fetch-package-info.d.ts.map +1 -0
  24. package/dist/fetch-package-info.js +10 -0
  25. package/dist/fetch-package-info.js.map +1 -0
  26. package/dist/fetch-troy-package-info.d.ts +5 -0
  27. package/dist/fetch-troy-package-info.d.ts.map +1 -0
  28. package/dist/fetch-troy-package-info.js +14 -0
  29. package/dist/fetch-troy-package-info.js.map +1 -0
  30. package/dist/gen-eslint-config-file.d.ts +4 -0
  31. package/dist/gen-eslint-config-file.d.ts.map +1 -0
  32. package/dist/gen-eslint-config-file.js +9 -0
  33. package/dist/gen-eslint-config-file.js.map +1 -0
  34. package/dist/gen-index-script-file.d.ts +6 -0
  35. package/dist/gen-index-script-file.d.ts.map +1 -0
  36. package/dist/gen-index-script-file.js +47 -0
  37. package/dist/gen-index-script-file.js.map +1 -0
  38. package/dist/gen-meta-script-files.d.ts +4 -0
  39. package/dist/gen-meta-script-files.d.ts.map +1 -0
  40. package/dist/gen-meta-script-files.js +188 -0
  41. package/dist/gen-meta-script-files.js.map +1 -0
  42. package/dist/gen-tsconfig-file.d.ts +4 -0
  43. package/dist/gen-tsconfig-file.d.ts.map +1 -0
  44. package/dist/gen-tsconfig-file.js +11 -0
  45. package/dist/gen-tsconfig-file.js.map +1 -0
  46. package/dist/gen-tsconfig-src-file.d.ts +4 -0
  47. package/dist/gen-tsconfig-src-file.d.ts.map +1 -0
  48. package/dist/gen-tsconfig-src-file.js +11 -0
  49. package/dist/gen-tsconfig-src-file.js.map +1 -0
  50. package/dist/gen-tsconfig-tests-file.d.ts +4 -0
  51. package/dist/gen-tsconfig-tests-file.d.ts.map +1 -0
  52. package/dist/gen-tsconfig-tests-file.js +11 -0
  53. package/dist/gen-tsconfig-tests-file.js.map +1 -0
  54. package/dist/get-node-dependency-reexport-method.d.ts +5 -0
  55. package/dist/get-node-dependency-reexport-method.d.ts.map +1 -0
  56. package/dist/get-node-dependency-reexport-method.js +13 -0
  57. package/dist/get-node-dependency-reexport-method.js.map +1 -0
  58. package/dist/get-tsconfig-base.d.ts +13 -0
  59. package/dist/get-tsconfig-base.d.ts.map +1 -0
  60. package/dist/get-tsconfig-base.js +64 -0
  61. package/dist/get-tsconfig-base.js.map +1 -0
  62. package/dist/get-tsconfig-src.d.ts +14 -0
  63. package/dist/get-tsconfig-src.d.ts.map +1 -0
  64. package/dist/get-tsconfig-src.js +29 -0
  65. package/dist/get-tsconfig-src.js.map +1 -0
  66. package/dist/get-tsconfig-tests.d.ts +14 -0
  67. package/dist/get-tsconfig-tests.d.ts.map +1 -0
  68. package/dist/get-tsconfig-tests.js +27 -0
  69. package/dist/get-tsconfig-tests.js.map +1 -0
  70. package/dist/get-tsconfig.d.ts +7 -0
  71. package/dist/get-tsconfig.d.ts.map +1 -0
  72. package/dist/get-tsconfig.js +17 -0
  73. package/dist/get-tsconfig.js.map +1 -0
  74. package/dist/incremental-build-main.d.ts +2 -0
  75. package/dist/incremental-build-main.d.ts.map +1 -0
  76. package/dist/incremental-build-main.js +31 -0
  77. package/dist/incremental-build-main.js.map +1 -0
  78. package/dist/lint-fix-main.d.ts +2 -0
  79. package/dist/lint-fix-main.d.ts.map +1 -0
  80. package/dist/lint-fix-main.js +31 -0
  81. package/dist/lint-fix-main.js.map +1 -0
  82. package/dist/lint-main.d.ts +2 -0
  83. package/dist/lint-main.d.ts.map +1 -0
  84. package/dist/lint-main.js +31 -0
  85. package/dist/lint-main.js.map +1 -0
  86. package/dist/package-info-base.d.ts +13 -0
  87. package/dist/package-info-base.d.ts.map +1 -0
  88. package/dist/package-info-base.js +3 -0
  89. package/dist/package-info-base.js.map +1 -0
  90. package/dist/package-info.d.ts +4 -0
  91. package/dist/package-info.d.ts.map +1 -0
  92. package/dist/package-info.js +3 -0
  93. package/dist/package-info.js.map +1 -0
  94. package/dist/test-main.d.ts +2 -0
  95. package/dist/test-main.d.ts.map +1 -0
  96. package/dist/test-main.js +34 -0
  97. package/dist/test-main.js.map +1 -0
  98. package/dist/troy-config.d.ts +4 -0
  99. package/dist/troy-config.d.ts.map +1 -0
  100. package/dist/troy-config.js +3 -0
  101. package/dist/troy-config.js.map +1 -0
  102. package/dist/troy-package-info.d.ts +17 -0
  103. package/dist/troy-package-info.d.ts.map +1 -0
  104. package/dist/troy-package-info.js +3 -0
  105. package/dist/troy-package-info.js.map +1 -0
  106. package/dist/tsconfig.src.tsbuildinfo +1 -0
  107. package/eslint.config.mjs +1082 -0
  108. package/incremental-build-troy-ts-standard-package-main.js +3 -0
  109. package/lint-fix-troy-ts-standard-package-main.js +3 -0
  110. package/lint-troy-ts-standard-package-main.js +3 -0
  111. package/package.json +43 -0
  112. package/test-troy-ts-standard-package-main.js +3 -0
@@ -0,0 +1,1082 @@
1
+ import typescriptEslint from "typescript-eslint";
2
+ import stylistic from "@stylistic/eslint-plugin";
3
+ import perfectionist from "eslint-plugin-perfectionist";
4
+ import importNewlines from "eslint-plugin-import-newlines";
5
+ import importQuotes from "eslint-plugin-import-quotes";
6
+
7
+ export default typescriptEslint.config(
8
+ {
9
+ files: [
10
+ `src/**/*.ts`,
11
+ `src/**/*.tsx`,
12
+ `tests/**/*.mts`,
13
+ `tests/**/*.tsx`,
14
+ ],
15
+ ignores: [
16
+ `src/$*.ts`,
17
+ ],
18
+ plugins: {
19
+ [`@typescript-eslint`]: typescriptEslint.plugin,
20
+ [`@stylistic`]: stylistic,
21
+ perfectionist,
22
+ [`import-newlines`]: importNewlines,
23
+ [`import-quotes`]: importQuotes,
24
+ },
25
+ languageOptions: {
26
+ parser: typescriptEslint.parser,
27
+ parserOptions: {
28
+ project: [
29
+ `./tsconfig.src.json`,
30
+ `./tsconfig.tests.json`,
31
+ ],
32
+ },
33
+ },
34
+ rules: {
35
+ // eslint - Possible Problems
36
+ [`array-callback-return`]: [
37
+ `warn`,
38
+ ],
39
+ [`constructor-super`]: `off`,
40
+ [`for-direction`]: [
41
+ `warn`,
42
+ ],
43
+ [`getter-return`]: `off`,
44
+ [`no-async-promise-executor`]: [
45
+ `warn`,
46
+ ],
47
+ [`no-await-in-loop`]: `off`,
48
+ [`no-class-assign`]: `off`,
49
+ [`no-compare-neg-zero`]: [
50
+ `warn`,
51
+ ],
52
+ [`no-cond-assign`]: [
53
+ `warn`,
54
+ ],
55
+ [`no-constant-binary-expression`]: [
56
+ `warn`,
57
+ ],
58
+ [`no-constant-condition`]: [
59
+ `warn`,
60
+ ],
61
+ [`no-constructor-return`]: `off`,
62
+ [`no-control-regex`]: `off`,
63
+ [`no-debugger`]: [
64
+ `warn`,
65
+ ],
66
+ [`no-dupe-args`]: `off`,
67
+ [`no-dupe-class-members`]: `off`,
68
+ [`no-dupe-else-if`]: [
69
+ `warn`,
70
+ ],
71
+ [`no-dupe-keys`]: `off`,
72
+ [`no-duplicate-case`]: [
73
+ `warn`,
74
+ ],
75
+ [`no-duplicate-imports`]: [
76
+ `warn`,
77
+ ],
78
+ [`no-empty-character-class`]: `off`,
79
+ [`no-empty-pattern`]: `off`,
80
+ [`no-ex-assign`]: [
81
+ `warn`,
82
+ ],
83
+ [`no-fallthrough`]: [
84
+ `warn`,
85
+ {
86
+ allowEmptyCase: true,
87
+ },
88
+ ],
89
+ [`no-func-assign`]: `off`,
90
+ [`no-import-assign`]: `off`,
91
+ [`no-inner-declarations`]: [
92
+ `warn`,
93
+ `both`,
94
+ ],
95
+ [`no-invalid-regexp`]: `off`,
96
+ [`no-irregular-whitespace`]: [
97
+ `warn`,
98
+ {
99
+ skipRegExps: true,
100
+ skipTemplates: true,
101
+ skipJSXText: true,
102
+ },
103
+ ],
104
+ [`no-loss-of-precision`]: [
105
+ `warn`,
106
+ ],
107
+ [`no-misleading-character-class`]: `off`,
108
+ [`no-new-native-nonconstructor`]: [
109
+ `warn`,
110
+ ],
111
+ [`no-obj-calls`]: `off`,
112
+ [`no-promise-executor-return`]: [
113
+ `warn`,
114
+ ],
115
+ [`no-prototype-builtins`]: [
116
+ `warn`,
117
+ ],
118
+ [`no-self-assign`]: [
119
+ `warn`,
120
+ ],
121
+ [`no-self-compare`]: [
122
+ `warn`,
123
+ ],
124
+ [`no-setter-return`]: `off`,
125
+ [`no-sparse-arrays`]: [
126
+ `warn`,
127
+ ],
128
+ [`no-template-curly-in-string`]: `off`,
129
+ [`no-this-before-super`]: `off`,
130
+ [`no-undef`]: `off`,
131
+ [`no-unexpected-multiline`]: [
132
+ `warn`,
133
+ ],
134
+ [`no-unmodified-loop-condition`]: [
135
+ `warn`,
136
+ ],
137
+ [`no-unreachable`]: `off`,
138
+ [`no-unreachable-loop`]: [
139
+ `warn`,
140
+ ],
141
+ [`no-unsafe-finally`]: [
142
+ `warn`,
143
+ ],
144
+ [`no-unsafe-negation`]: `off`,
145
+ [`no-unsafe-optional-chaining`]: [
146
+ `warn`,
147
+ {
148
+ disallowArithmeticOperators: true,
149
+ },
150
+ ],
151
+ [`no-unused-private-class-members`]: `off`,
152
+ [`no-unused-vars`]: `off`,
153
+ [`no-use-before-define`]: `off`,
154
+ [`no-useless-assignment`]: [
155
+ `warn`,
156
+ ],
157
+ [`no-useless-backreference`]: `off`,
158
+ [`require-atomic-updates`]: `off`,
159
+ [`use-isnan`]: [
160
+ `warn`,
161
+ {
162
+ enforceForIndexOf: true,
163
+ },
164
+ ],
165
+ [`valid-typeof`]: `off`,
166
+
167
+ // eslint - Suggestions
168
+ [`accessor-pairs`]: `off`,
169
+ [`arrow-body-style`]: `off`,
170
+ [`block-scoped-var`]: `off`,
171
+ [`camelcase`]: [
172
+ `warn`,
173
+ {
174
+ properties: `never`,
175
+ },
176
+ ],
177
+ [`capitalized-comments`]: `off`,
178
+ [`class-methods-use-this`]: `off`,
179
+ [`complexity`]: `off`,
180
+ [`consistent-return`]: `off`,
181
+ [`consistent-this`]: `off`,
182
+ [`curly`]: [
183
+ `warn`,
184
+ ],
185
+ [`default-case`]: `off`,
186
+ [`default-case-last`]: [
187
+ `warn`,
188
+ ],
189
+ [`default-param-last`]: `off`,
190
+ [`dot-notation`]: `off`,
191
+ [`eqeqeq`]: [
192
+ `warn`,
193
+ ],
194
+ [`func-name-matching`]: `off`,
195
+ [`func-names`]: `off`,
196
+ [`func-style`]: `off`,
197
+ [`grouped-accessor-pairs`]: `off`,
198
+ [`guard-for-in`]: `off`,
199
+ [`id-denylist`]: `off`,
200
+ [`id-length`]: `off`,
201
+ [`id-match`]: `off`,
202
+ [`init-declarations`]: `off`,
203
+ [`logical-assignment-operators`]: [
204
+ `warn`,
205
+ `never`,
206
+ ],
207
+ [`max-classes-per-file`]: `off`,
208
+ [`max-depth`]: `off`,
209
+ [`max-lines`]: `off`,
210
+ [`max-lines-per-function`]: `off`,
211
+ [`max-nested-callbacks`]: `off`,
212
+ [`max-params`]: `off`,
213
+ [`max-statements`]: `off`,
214
+ [`new-cap`]: `off`,
215
+ [`no-alert`]: `off`,
216
+ [`no-array-constructor`]: `off`,
217
+ [`no-bitwise`]: [
218
+ `warn`,
219
+ ],
220
+ [`no-caller`]: [
221
+ `warn`,
222
+ ],
223
+ [`no-case-declarations`]: [
224
+ `warn`,
225
+ ],
226
+ [`no-console`]: [
227
+ `warn`,
228
+ ],
229
+ [`no-continue`]: `off`,
230
+ [`no-delete-var`]: `off`,
231
+ [`no-div-regex`]: `off`,
232
+ [`no-else-return`]: [
233
+ `warn`,
234
+ ],
235
+ [`no-empty`]: [
236
+ `warn`,
237
+ {
238
+ allowEmptyCatch: true,
239
+ },
240
+ ],
241
+ [`no-empty-function`]: `off`,
242
+ [`no-empty-static-block`]: `off`,
243
+ [`no-eq-null`]: `off`,
244
+ [`no-eval`]: `off`,
245
+ [`no-extend-native`]: `off`,
246
+ [`no-extra-bind`]: `off`,
247
+ [`no-extra-boolean-cast`]: [
248
+ `warn`,
249
+ {
250
+ enforceForInnerExpressions: true,
251
+ },
252
+ ],
253
+ [`no-extra-label`]: `off`,
254
+ [`no-global-assign`]: `off`,
255
+ [`no-implicit-coercion`]: [
256
+ `warn`,
257
+ {
258
+ disallowTemplateShorthand: true,
259
+ },
260
+ ],
261
+ [`no-implicit-globals`]: `off`,
262
+ [`no-implied-eval`]: `off`,
263
+ [`no-inline-comments`]: `off`,
264
+ [`no-invalid-this`]: `off`,
265
+ [`no-iterator`]: `off`,
266
+ [`no-label-var`]: `off`,
267
+ [`no-labels`]: [
268
+ `warn`,
269
+ ],
270
+ [`no-lone-blocks`]: `off`,
271
+ [`no-lonely-if`]: [
272
+ `warn`,
273
+ ],
274
+ [`no-loop-func`]: `off`,
275
+ [`no-magic-numbers`]: `off`,
276
+ [`no-multi-assign`]: [
277
+ `warn`,
278
+ ],
279
+ [`no-multi-str`]: [
280
+ `warn`,
281
+ ],
282
+ [`no-negated-condition`]: `off`,
283
+ [`no-nested-ternary`]: `off`,
284
+ [`no-new`]: [
285
+ `warn`,
286
+ ],
287
+ [`no-new-func`]: [
288
+ `warn`,
289
+ ],
290
+ [`no-new-wrappers`]: [
291
+ `warn`,
292
+ ],
293
+ [`no-nonoctal-decimal-escape`]: [
294
+ `warn`,
295
+ ],
296
+ [`no-object-constructor`]: [
297
+ `warn`,
298
+ ],
299
+ [`no-octal`]: [
300
+ `warn`,
301
+ ],
302
+ [`no-octal-escape`]: [
303
+ `warn`,
304
+ ],
305
+ [`no-param-reassign`]: [
306
+ `warn`,
307
+ ],
308
+ [`no-plusplus`]: `off`,
309
+ [`no-proto`]: [
310
+ `warn`,
311
+ ],
312
+ [`no-redeclare`]: `off`,
313
+ [`no-regex-spaces`]: `off`,
314
+ [`no-restricted-exports`]: `off`,
315
+ [`no-restricted-globals`]: `off`,
316
+ [`no-restricted-imports`]: `off`,
317
+ [`no-restricted-properties`]: `off`,
318
+ [`no-restricted-syntax`]: `off`,
319
+ [`no-return-assign`]: [
320
+ `warn`,
321
+ `always`,
322
+ ],
323
+ [`no-script-url`]: `off`,
324
+ [`no-sequences`]: [
325
+ `warn`,
326
+ {
327
+ allowInParentheses: false,
328
+ },
329
+ ],
330
+ [`no-shadow`]: `off`,
331
+ [`no-shadow-restricted-names`]: `off`,
332
+ [`no-ternary`]: `off`,
333
+ [`no-throw-literal`]: `off`,
334
+ [`no-undef-init`]: `off`,
335
+ [`no-undefined`]: `off`,
336
+ [`no-underscore-dangle`]: `off`,
337
+ [`no-unneeded-ternary`]: [
338
+ `warn`,
339
+ {
340
+ defaultAssignment: false,
341
+ },
342
+ ],
343
+ [`no-unused-expressions`]: `off`,
344
+ [`no-unused-labels`]: `off`,
345
+ [`no-useless-call`]: `off`,
346
+ [`no-useless-catch`]: [
347
+ `warn`,
348
+ ],
349
+ [`no-useless-computed-key`]: `off`,
350
+ [`no-useless-concat`]: [
351
+ `warn`,
352
+ ],
353
+ [`no-useless-constructor`]: `off`,
354
+ [`no-useless-escape`]: [
355
+ `warn`,
356
+ ],
357
+ [`no-useless-rename`]: [
358
+ `warn`,
359
+ ],
360
+ [`no-var`]: [
361
+ `warn`,
362
+ ],
363
+ [`no-void`]: [
364
+ `warn`,
365
+ ],
366
+ [`no-warning-comments`]: `off`,
367
+ [`no-with`]: [
368
+ `warn`,
369
+ ],
370
+ [`object-shorthand`]: [
371
+ `warn`,
372
+ ],
373
+ [`one-var`]: [
374
+ `warn`,
375
+ `never`,
376
+ ],
377
+ [`operator-assignment`]: [
378
+ `warn`,
379
+ `never`,
380
+ ],
381
+ [`prefer-arrow-callback`]: [
382
+ `warn`,
383
+ {
384
+ allowNamedFunctions: false,
385
+ allowUnboundThis: false,
386
+ },
387
+ ],
388
+ [`prefer-const`]: [
389
+ `warn`,
390
+ {
391
+ destructuring: `all`,
392
+ },
393
+ ],
394
+ [`prefer-destructuring`]: `off`,
395
+ [`prefer-exponentiation-operator`]: `off`,
396
+ [`prefer-named-capture-group`]: `off`,
397
+ [`prefer-numeric-literals`]: [
398
+ `warn`,
399
+ ],
400
+ [`prefer-object-has-own`]: [
401
+ `warn`,
402
+ ],
403
+ [`prefer-object-spread`]: [
404
+ `warn`,
405
+ ],
406
+ [`prefer-promise-reject-errors`]: `off`,
407
+ [`prefer-regex-literals`]: `off`,
408
+ [`prefer-rest-params`]: [
409
+ `warn`,
410
+ ],
411
+ [`prefer-spread`]: [
412
+ `warn`,
413
+ ],
414
+ [`prefer-template`]: [
415
+ `warn`,
416
+ ],
417
+ [`radix`]: [
418
+ `warn`,
419
+ ],
420
+ [`require-await`]: `off`,
421
+ [`require-unicode-regexp`]: `off`,
422
+ [`require-yield`]: `off`,
423
+ [`sort-imports`]: `off`,
424
+ [`sort-keys`]: `off`,
425
+ [`sort-vars`]: `off`,
426
+ [`strict`]: `off`,
427
+ [`symbol-description`]: `off`,
428
+ [`vars-on-top`]: `off`,
429
+ [`yoda`]: [
430
+ `warn`,
431
+ ],
432
+
433
+ // @typescript-eslint
434
+ [`@typescript-eslint/adjacent-overload-signatures`]: [
435
+ `warn`,
436
+ ],
437
+ [`@typescript-eslint/array-type`]: [
438
+ `warn`,
439
+ {
440
+ default: `generic`,
441
+ },
442
+ ],
443
+ [`@typescript-eslint/await-thenable`]: [
444
+ `warn`,
445
+ ],
446
+ [`@typescript-eslint/ban-ts-comment`]: [
447
+ `warn`,
448
+ {
449
+ [`ts-check`]: true,
450
+ [`ts-expect-error`]: false,
451
+ },
452
+ ],
453
+ [`@typescript-eslint/ban-tslint-comment`]: [
454
+ `warn`,
455
+ ],
456
+ [`@typescript-eslint/class-literal-property-style`]: `off`,
457
+ [`@typescript-eslint/class-methods-use-this`]: `off`,
458
+ [`@typescript-eslint/consistent-generic-constructors`]: [
459
+ `warn`,
460
+ ],
461
+ [`@typescript-eslint/consistent-indexed-object-style`]: [
462
+ `warn`,
463
+ `index-signature`,
464
+ ],
465
+ [`@typescript-eslint/consistent-return`]: `off`,
466
+ [`@typescript-eslint/consistent-type-assertions`]: [
467
+ `warn`,
468
+ {
469
+ assertionStyle: `as`,
470
+ objectLiteralTypeAssertions: `never`,
471
+ },
472
+ ],
473
+ [`@typescript-eslint/consistent-type-definitions`]: [
474
+ `warn`,
475
+ ],
476
+ [`@typescript-eslint/consistent-type-exports`]: `off`,
477
+ [`@typescript-eslint/consistent-type-imports`]: `off`,
478
+ [`@typescript-eslint/default-param-last`]: [
479
+ `warn`,
480
+ ],
481
+ [`@typescript-eslint/dot-notation`]: [
482
+ `warn`,
483
+ ],
484
+ // TODO: Enable it in the future
485
+ [`@typescript-eslint/explicit-function-return-type`]: `off`,
486
+ [`@typescript-eslint/explicit-member-accessibility`]: `off`,
487
+ // TODO: Enable it in the future
488
+ [`@typescript-eslint/explicit-module-boundary-types`]: `off`,
489
+ [`@typescript-eslint/init-declarations`]: [
490
+ `warn`,
491
+ `never`,
492
+ {
493
+ ignoreForLoopInit: true,
494
+ },
495
+ ],
496
+ [`@typescript-eslint/max-params`]: `off`,
497
+ [`@typescript-eslint/member-ordering`]: `off`,
498
+ [`@typescript-eslint/method-signature-style`]: [
499
+ `warn`,
500
+ ],
501
+ [`@typescript-eslint/naming-convention`]: `off`,
502
+ [`@typescript-eslint/no-array-constructor`]: [
503
+ `warn`,
504
+ ],
505
+ [`@typescript-eslint/no-array-delete`]: [
506
+ `warn`,
507
+ ],
508
+ [`@typescript-eslint/no-base-to-string`]: [
509
+ `warn`,
510
+ ],
511
+ [`@typescript-eslint/no-confusing-non-null-assertion`]: [
512
+ `warn`,
513
+ ],
514
+ [`@typescript-eslint/no-confusing-void-expression`]: [
515
+ `warn`,
516
+ ],
517
+ [`@typescript-eslint/no-deprecated`]: [
518
+ `warn`,
519
+ ],
520
+ [`@typescript-eslint/no-dupe-class-members`]: `off`,
521
+ [`@typescript-eslint/no-duplicate-enum-values`]: [
522
+ `warn`,
523
+ ],
524
+ [`@typescript-eslint/no-duplicate-type-constituents`]: [
525
+ `warn`,
526
+ ],
527
+ [`@typescript-eslint/no-dynamic-delete`]: [
528
+ `warn`,
529
+ ],
530
+ [`@typescript-eslint/no-empty-function`]: `off`,
531
+ [`@typescript-eslint/no-empty-interface`]: `off`,
532
+ [`@typescript-eslint/no-empty-object-type`]: `off`,
533
+ [`@typescript-eslint/no-explicit-any`]: [
534
+ `warn`,
535
+ ],
536
+ [`@typescript-eslint/no-extra-non-null-assertion`]: [
537
+ `warn`,
538
+ ],
539
+ [`@typescript-eslint/no-extraneous-class`]: `off`,
540
+ [`@typescript-eslint/no-floating-promises`]: [
541
+ `warn`,
542
+ ],
543
+ [`@typescript-eslint/no-for-in-array`]: [
544
+ `warn`,
545
+ ],
546
+ [`@typescript-eslint/no-implied-eval`]: `off`,
547
+ [`@typescript-eslint/no-import-type-side-effects`]: `off`,
548
+ [`@typescript-eslint/no-inferrable-types`]: [
549
+ `warn`,
550
+ ],
551
+ [`@typescript-eslint/no-invalid-this`]: `off`,
552
+ [`@typescript-eslint/no-invalid-void-type`]: [
553
+ `warn`,
554
+ ],
555
+ [`@typescript-eslint/no-loop-func`]: `off`,
556
+ [`@typescript-eslint/no-loss-of-precision`]: `off`,
557
+ [`@typescript-eslint/no-magic-numbers`]: `off`,
558
+ [`@typescript-eslint/no-meaningless-void-operator`]: [
559
+ `warn`,
560
+ ],
561
+ [`@typescript-eslint/no-misused-new`]: `off`,
562
+ [`@typescript-eslint/no-misused-promises`]: [
563
+ `warn`,
564
+ ],
565
+ [`@typescript-eslint/no-mixed-enums`]: [
566
+ `warn`,
567
+ ],
568
+ [`@typescript-eslint/no-namespace`]: [
569
+ `warn`,
570
+ ],
571
+ [`@typescript-eslint/no-non-null-asserted-nullish-coalescing`]: [
572
+ `warn`,
573
+ ],
574
+ [`@typescript-eslint/no-non-null-asserted-optional-chain`]: [
575
+ `warn`,
576
+ ],
577
+ [`@typescript-eslint/no-non-null-assertion`]: [
578
+ `warn`,
579
+ ],
580
+ [`@typescript-eslint/no-redeclare`]: `off`,
581
+ [`@typescript-eslint/no-redundant-type-constituents`]: [
582
+ `warn`,
583
+ ],
584
+ [`@typescript-eslint/no-require-imports`]: [
585
+ `warn`,
586
+ ],
587
+ [`@typescript-eslint/no-restricted-imports`]: `off`,
588
+ [`@typescript-eslint/no-restricted-types`]: `off`,
589
+ [`@typescript-eslint/no-shadow`]: [
590
+ `warn`,
591
+ {
592
+ builtinGlobals: true,
593
+ ignoreTypeValueShadow: false,
594
+ ignoreFunctionTypeParameterNameValueShadow: false,
595
+ },
596
+ ],
597
+ [`@typescript-eslint/no-this-alias`]: `off`,
598
+ [`@typescript-eslint/no-type-alias`]: `off`,
599
+ [`@typescript-eslint/no-unnecessary-boolean-literal-compare`]: [
600
+ `warn`,
601
+ ],
602
+ [`@typescript-eslint/no-unnecessary-condition`]: `off`,
603
+ [`@typescript-eslint/no-unnecessary-parameter-property-assignment`]: `off`,
604
+ [`@typescript-eslint/no-unnecessary-qualifier`]: [
605
+ `warn`,
606
+ ],
607
+ [`@typescript-eslint/no-unnecessary-template-expression`]: [
608
+ `warn`,
609
+ ],
610
+ [`@typescript-eslint/no-unnecessary-type-arguments`]: [
611
+ `warn`,
612
+ ],
613
+ [`@typescript-eslint/no-unnecessary-type-assertion`]: [
614
+ `warn`,
615
+ ],
616
+ [`@typescript-eslint/no-unnecessary-type-constraint`]: [
617
+ `warn`,
618
+ ],
619
+ // TODO: Enable it in the future
620
+ [`@typescript-eslint/no-unnecessary-type-parameters`]: `off`,
621
+ [`@typescript-eslint/no-unsafe-argument`]: [
622
+ `warn`,
623
+ ],
624
+ [`@typescript-eslint/no-unsafe-assignment`]: [
625
+ `warn`,
626
+ ],
627
+ [`@typescript-eslint/no-unsafe-call`]: [
628
+ `warn`,
629
+ ],
630
+ [`@typescript-eslint/no-unsafe-declaration-merging`]: [
631
+ `warn`,
632
+ ],
633
+ [`@typescript-eslint/no-unsafe-enum-comparison`]: [
634
+ `warn`,
635
+ ],
636
+ [`@typescript-eslint/no-unsafe-function-type`]: [
637
+ `warn`,
638
+ ],
639
+ [`@typescript-eslint/no-unsafe-member-access`]: [
640
+ `warn`,
641
+ ],
642
+ [`@typescript-eslint/no-unsafe-return`]: [
643
+ `warn`,
644
+ ],
645
+ [`@typescript-eslint/no-unsafe-unary-minus`]: [
646
+ `warn`,
647
+ ],
648
+ [`@typescript-eslint/no-unused-expressions`]: [
649
+ `warn`,
650
+ ],
651
+ [`@typescript-eslint/no-unused-vars`]: [
652
+ `warn`,
653
+ ],
654
+ [`@typescript-eslint/no-use-before-define`]: `off`,
655
+ [`@typescript-eslint/no-useless-constructor`]: `off`,
656
+ [`@typescript-eslint/no-useless-empty-export`]: [
657
+ `warn`,
658
+ ],
659
+ [`@typescript-eslint/no-var-requires`]: `off`,
660
+ [`@typescript-eslint/no-wrapper-object-types`]: [
661
+ `warn`,
662
+ ],
663
+ [`@typescript-eslint/non-nullable-type-assertion-style`]: [
664
+ `warn`,
665
+ ],
666
+ [`@typescript-eslint/only-throw-error`]: [
667
+ `warn`,
668
+ ],
669
+ [`@typescript-eslint/parameter-properties`]: `off`,
670
+ [`@typescript-eslint/prefer-as-const`]: [
671
+ `warn`,
672
+ ],
673
+ [`@typescript-eslint/prefer-destructuring`]: `off`,
674
+ [`@typescript-eslint/prefer-enum-initializers`]: [
675
+ `warn`,
676
+ ],
677
+ [`@typescript-eslint/prefer-find`]: [
678
+ `warn`,
679
+ ],
680
+ [`@typescript-eslint/prefer-for-of`]: [
681
+ `warn`,
682
+ ],
683
+ [`@typescript-eslint/prefer-function-type`]: [
684
+ `warn`,
685
+ ],
686
+ [`@typescript-eslint/prefer-includes`]: [
687
+ `warn`,
688
+ ],
689
+ [`@typescript-eslint/prefer-literal-enum-member`]: [
690
+ `warn`,
691
+ ],
692
+ [`@typescript-eslint/prefer-namespace-keyword`]: `off`,
693
+ [`@typescript-eslint/prefer-nullish-coalescing`]: [
694
+ `warn`,
695
+ ],
696
+ [`@typescript-eslint/prefer-optional-chain`]: [
697
+ `warn`,
698
+ ],
699
+ [`@typescript-eslint/prefer-promise-reject-errors`]: [
700
+ `warn`,
701
+ ],
702
+ [`@typescript-eslint/prefer-readonly`]: `off`,
703
+ // TODO: Enable it in the future
704
+ [`@typescript-eslint/prefer-readonly-parameter-types`]: `off`,
705
+ [`@typescript-eslint/prefer-reduce-type-parameter`]: [
706
+ `warn`,
707
+ ],
708
+ [`@typescript-eslint/prefer-regexp-exec`]: [
709
+ `warn`,
710
+ ],
711
+ [`@typescript-eslint/prefer-return-this-type`]: `off`,
712
+ [`@typescript-eslint/prefer-string-starts-ends-with`]: [
713
+ `warn`,
714
+ ],
715
+ [`@typescript-eslint/prefer-ts-expect-error`]: `off`,
716
+ [`@typescript-eslint/promise-function-async`]: `off`,
717
+ [`@typescript-eslint/require-array-sort-compare`]: [
718
+ `warn`,
719
+ ],
720
+ [`@typescript-eslint/require-await`]: `off`,
721
+ [`@typescript-eslint/restrict-plus-operands`]: [
722
+ `warn`,
723
+ {
724
+ allowAny: false,
725
+ allowBoolean: false,
726
+ allowNullish: false,
727
+ allowNumberAndString: false,
728
+ allowRegExp: false,
729
+ skipCompoundAssignments: false,
730
+ },
731
+ ],
732
+ [`@typescript-eslint/restrict-template-expressions`]: [
733
+ `warn`,
734
+ {
735
+ allowAny: false,
736
+ allowArray: false,
737
+ allowBoolean: false,
738
+ allowNever: false,
739
+ allowNullish: false,
740
+ allowNumber: false,
741
+ allowRegExp: false,
742
+ },
743
+ ],
744
+ [`@typescript-eslint/return-await`]: [
745
+ `warn`,
746
+ `always`,
747
+ ],
748
+ [`@typescript-eslint/sort-type-constituents`]: `off`,
749
+ [`@typescript-eslint/strict-boolean-expressions`]: [
750
+ `warn`,
751
+ {
752
+ allowNullableObject: false,
753
+ allowNumber: false,
754
+ allowString: false,
755
+ },
756
+ ],
757
+ [`@typescript-eslint/switch-exhaustiveness-check`]: [
758
+ `warn`,
759
+ {
760
+ requireDefaultForNonUnion: true,
761
+ },
762
+ ],
763
+ [`@typescript-eslint/triple-slash-reference`]: [
764
+ `warn`,
765
+ {
766
+ lib: `never`,
767
+ path: `never`,
768
+ types: `never`,
769
+ },
770
+ ],
771
+ [`@typescript-eslint/typedef`]: `off`,
772
+ [`@typescript-eslint/unbound-method`]: `off`,
773
+ [`@typescript-eslint/unified-signatures`]: [
774
+ `warn`,
775
+ ],
776
+ [`@typescript-eslint/use-unknown-in-catch-callback-variable`]: [
777
+ `warn`,
778
+ ],
779
+
780
+ // @stylistic
781
+ [`@stylistic/array-bracket-newline`]: [
782
+ `warn`,
783
+ `consistent`,
784
+ ],
785
+ [`@stylistic/array-bracket-spacing`]: [
786
+ `warn`,
787
+ ],
788
+ [`@stylistic/array-element-newline`]: [
789
+ `warn`,
790
+ `consistent`,
791
+ ],
792
+ [`@stylistic/arrow-parens`]: [
793
+ `warn`,
794
+ ],
795
+ [`@stylistic/arrow-spacing`]: [
796
+ `warn`,
797
+ ],
798
+ [`@stylistic/block-spacing`]: [
799
+ `warn`,
800
+ ],
801
+ [`@stylistic/brace-style`]: [
802
+ `warn`,
803
+ `allman`,
804
+ ],
805
+ [`@stylistic/comma-dangle`]: [
806
+ `warn`,
807
+ `always-multiline`,
808
+ ],
809
+ [`@stylistic/comma-spacing`]: [
810
+ `warn`,
811
+ ],
812
+ [`@stylistic/comma-style`]: [
813
+ `warn`,
814
+ ],
815
+ [`@stylistic/computed-property-spacing`]: [
816
+ `warn`,
817
+ ],
818
+ // TODO: Enable it in the future
819
+ [`@stylistic/curly-newline`]: `off`,
820
+ [`@stylistic/dot-location`]: [
821
+ `warn`,
822
+ `property`,
823
+ ],
824
+ [`@stylistic/eol-last`]: [
825
+ `warn`,
826
+ ],
827
+ [`@stylistic/function-call-argument-newline`]: [
828
+ `warn`,
829
+ `consistent`,
830
+ ],
831
+ [`@stylistic/function-call-spacing`]: [
832
+ `warn`,
833
+ ],
834
+ [`@stylistic/function-paren-newline`]: [
835
+ `warn`,
836
+ `consistent`,
837
+ ],
838
+ [`@stylistic/generator-star-spacing`]: `off`,
839
+ [`@stylistic/implicit-arrow-linebreak`]: [
840
+ `warn`,
841
+ ],
842
+ [`@stylistic/indent`]: [
843
+ `warn`,
844
+ 2,
845
+ ],
846
+ [`@stylistic/indent-binary-ops`]: [
847
+ `warn`,
848
+ 2,
849
+ ],
850
+ [`@stylistic/jsx-child-element-spacing`]: `off`,
851
+ [`@stylistic/jsx-closing-bracket-location`]: `off`,
852
+ [`@stylistic/jsx-closing-tag-location`]: `off`,
853
+ [`@stylistic/jsx-curly-brace-presence`]: `off`,
854
+ [`@stylistic/jsx-curly-newline`]: `off`,
855
+ [`@stylistic/jsx-curly-spacing`]: `off`,
856
+ [`@stylistic/jsx-equals-spacing`]: `off`,
857
+ [`@stylistic/jsx-first-prop-new-line`]: `off`,
858
+ [`@stylistic/jsx-function-call-newline`]: `off`,
859
+ [`@stylistic/jsx-indent`]: `off`,
860
+ [`@stylistic/jsx-indent-props`]: `off`,
861
+ [`@stylistic/jsx-max-props-per-line`]: `off`,
862
+ [`@stylistic/jsx-newline`]: `off`,
863
+ [`@stylistic/jsx-one-expression-per-line`]: `off`,
864
+ [`@stylistic/jsx-pascal-case`]: `off`,
865
+ [`@stylistic/jsx-props-no-multi-spaces`]: `off`,
866
+ [`@stylistic/jsx-quotes`]: `off`,
867
+ [`@stylistic/jsx-self-closing-comp`]: `off`,
868
+ [`@stylistic/jsx-sort-props`]: `off`,
869
+ [`@stylistic/jsx-tag-spacing`]: `off`,
870
+ [`@stylistic/jsx-wrap-multilines`]: `off`,
871
+ [`@stylistic/key-spacing`]: [
872
+ `warn`,
873
+ ],
874
+ [`@stylistic/keyword-spacing`]: [
875
+ `warn`,
876
+ ],
877
+ [`@stylistic/line-comment-position`]: `off`,
878
+ [`@stylistic/linebreak-style`]: [
879
+ `warn`,
880
+ ],
881
+ [`@stylistic/lines-around-comment`]: `off`,
882
+ [`@stylistic/max-len`]: `off`,
883
+ [`@stylistic/max-statements-per-line`]: [
884
+ `warn`,
885
+ ],
886
+ [`@stylistic/member-delimiter-style`]: [
887
+ `warn`,
888
+ {
889
+ multiline: {
890
+ delimiter: `semi`,
891
+ requireLast: true,
892
+ },
893
+ singleline: {
894
+ delimiter: `semi`,
895
+ requireLast: true,
896
+ },
897
+ },
898
+ ],
899
+ [`@stylistic/multiline-comment-style`]: [
900
+ `warn`,
901
+ ],
902
+ [`@stylistic/multiline-ternary`]: [
903
+ `warn`,
904
+ `always-multiline`,
905
+ ],
906
+ [`@stylistic/new-parens`]: [
907
+ `warn`,
908
+ ],
909
+ [`@stylistic/newline-per-chained-call`]: `off`,
910
+ [`@stylistic/no-confusing-arrow`]: `off`,
911
+ [`@stylistic/no-extra-parens`]: `off`,
912
+ [`@stylistic/no-extra-semi`]: [
913
+ `warn`,
914
+ ],
915
+ [`@stylistic/no-floating-decimal`]: [
916
+ `warn`,
917
+ ],
918
+ [`@stylistic/no-mixed-operators`]: [
919
+ `warn`,
920
+ ],
921
+ [`@stylistic/no-mixed-spaces-and-tabs`]: [
922
+ `warn`,
923
+ ],
924
+ [`@stylistic/no-multi-spaces`]: [
925
+ `warn`,
926
+ {
927
+ exceptions: {
928
+ Property: false,
929
+ },
930
+ },
931
+ ],
932
+ [`@stylistic/no-multiple-empty-lines`]: [
933
+ `warn`,
934
+ {
935
+ max: 1,
936
+ maxEOF: 1,
937
+ maxBOF: 0,
938
+ },
939
+ ],
940
+ [`@stylistic/no-tabs`]: [
941
+ `warn`,
942
+ ],
943
+ [`@stylistic/no-trailing-spaces`]: [
944
+ `warn`,
945
+ ],
946
+ [`@stylistic/no-whitespace-before-property`]: [
947
+ `warn`,
948
+ ],
949
+ [`@stylistic/nonblock-statement-body-position`]: `off`,
950
+ [`@stylistic/object-curly-newline`]: [
951
+ `warn`,
952
+ ],
953
+ [`@stylistic/object-curly-spacing`]: [
954
+ `warn`,
955
+ `always`,
956
+ ],
957
+ [`@stylistic/object-property-newline`]: [
958
+ `warn`,
959
+ {
960
+ allowAllPropertiesOnSameLine: true,
961
+ },
962
+ ],
963
+ [`@stylistic/one-var-declaration-per-line`]: `off`,
964
+ [`@stylistic/operator-linebreak`]: `off`,
965
+ [`@stylistic/padded-blocks`]: [
966
+ `warn`,
967
+ `never`,
968
+ ],
969
+ [`@stylistic/padding-line-between-statements`]: `off`,
970
+ [`@stylistic/quote-props`]: `off`,
971
+ [`@stylistic/quotes`]: [
972
+ `warn`,
973
+ `backtick`,
974
+ ],
975
+ [`@stylistic/rest-spread-spacing`]: [
976
+ `warn`,
977
+ ],
978
+ [`@stylistic/semi`]: [
979
+ `warn`,
980
+ ],
981
+ [`@stylistic/semi-spacing`]: [
982
+ `warn`,
983
+ ],
984
+ [`@stylistic/semi-style`]: [
985
+ `warn`,
986
+ ],
987
+ [`@stylistic/space-before-blocks`]: [
988
+ `warn`,
989
+ ],
990
+ [`@stylistic/space-before-function-paren`]: [
991
+ `warn`,
992
+ {
993
+ named: `never`,
994
+ },
995
+ ],
996
+ [`@stylistic/space-in-parens`]: [
997
+ `warn`,
998
+ ],
999
+ [`@stylistic/space-infix-ops`]: [
1000
+ `warn`,
1001
+ ],
1002
+ [`@stylistic/space-unary-ops`]: [
1003
+ `warn`,
1004
+ ],
1005
+ [`@stylistic/spaced-comment`]: [
1006
+ `warn`,
1007
+ ],
1008
+ [`@stylistic/switch-colon-spacing`]: [
1009
+ `warn`,
1010
+ ],
1011
+ [`@stylistic/template-curly-spacing`]: [
1012
+ `warn`,
1013
+ ],
1014
+ [`@stylistic/template-tag-spacing`]: [
1015
+ `warn`,
1016
+ ],
1017
+ [`@stylistic/type-annotation-spacing`]: [
1018
+ `warn`,
1019
+ {
1020
+ before: false,
1021
+ after: true,
1022
+ overrides: {
1023
+ arrow: {
1024
+ before: true,
1025
+ after: true,
1026
+ },
1027
+ },
1028
+ },
1029
+ ],
1030
+ [`@stylistic/type-generic-spacing`]: [
1031
+ `warn`,
1032
+ ],
1033
+ [`@stylistic/type-named-tuple-spacing`]: [
1034
+ `warn`,
1035
+ ],
1036
+ [`@stylistic/wrap-iife`]: [
1037
+ `warn`,
1038
+ `inside`,
1039
+ ],
1040
+ [`@stylistic/wrap-regex`]: [
1041
+ `warn`,
1042
+ ],
1043
+ [`@stylistic/yield-star-spacing`]: `off`,
1044
+
1045
+ // perfectionist
1046
+ [`perfectionist/sort-imports`]: [
1047
+ `warn`,
1048
+ {
1049
+ customGroups: {
1050
+ value: {
1051
+ [`troy-barrel`]: [`./$`],
1052
+ },
1053
+ type: {
1054
+ [`troy-barrel`]: [`./$`],
1055
+ },
1056
+ },
1057
+ groups: [
1058
+ `troy-barrel`,
1059
+ `sibling`,
1060
+ ],
1061
+ },
1062
+ ],
1063
+ [`perfectionist/sort-named-imports`]: [
1064
+ `warn`,
1065
+ ],
1066
+
1067
+ // import-newlines
1068
+ [`import-newlines/enforce`]: [
1069
+ `warn`,
1070
+ {
1071
+ items: Infinity,
1072
+ }
1073
+ ],
1074
+
1075
+ // import-quotes
1076
+ [`import-quotes/import-quotes`]: [
1077
+ `warn`,
1078
+ `double`,
1079
+ ],
1080
+ },
1081
+ }
1082
+ );