@azat-io/eslint-config 2.84.0 → 2.86.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.
@@ -429,12 +429,14 @@ function core(config) {
429
429
  "unicorn/better-dom-traversing": "error",
430
430
  "unicorn/catch-error-name": "error",
431
431
  "unicorn/consistent-compound-words": "error",
432
+ "unicorn/consistent-conditional-object-spread": "error",
432
433
  "unicorn/consistent-date-clone": "error",
433
434
  "unicorn/consistent-destructuring": "error",
434
435
  "unicorn/consistent-empty-array-spread": "error",
435
436
  "unicorn/consistent-existence-index-check": "error",
436
437
  "unicorn/consistent-json-file-read": "error",
437
438
  "unicorn/consistent-template-literal-escape": "error",
439
+ "unicorn/consistent-tuple-labels": "error",
438
440
  "unicorn/custom-error-definition": "error",
439
441
  "unicorn/dom-node-dataset": "error",
440
442
  "unicorn/error-message": "error",
@@ -445,31 +447,61 @@ function core(config) {
445
447
  kebabCase: true,
446
448
  pascalCase: true
447
449
  } }],
450
+ "unicorn/name-replacements": ["error", { allowList: {
451
+ attrs: true,
452
+ env: config.astro,
453
+ i: true,
454
+ Props: true,
455
+ props: true,
456
+ rel: [
457
+ "astro",
458
+ "react",
459
+ "svelte",
460
+ "vue"
461
+ ].some((configName) => config[configName]),
462
+ Var: true,
463
+ var: true
464
+ } }],
448
465
  "unicorn/new-for-builtins": "error",
466
+ "unicorn/no-accidental-bitwise-operator": "error",
467
+ "unicorn/no-array-concat-in-loop": "error",
449
468
  "unicorn/no-array-fill-with-reference-type": "error",
450
469
  "unicorn/no-array-from-fill": "error",
451
470
  "unicorn/no-array-method-this-argument": "error",
452
471
  "unicorn/no-array-reverse": "error",
453
472
  "unicorn/no-array-sort": "error",
473
+ "unicorn/no-array-sort-for-min-max": "error",
474
+ "unicorn/no-array-splice": "error",
454
475
  "unicorn/no-await-in-promise-methods": "error",
455
476
  "unicorn/no-blob-to-file": "error",
477
+ "unicorn/no-boolean-sort-comparator": "error",
478
+ "unicorn/no-chained-comparison": "error",
479
+ "unicorn/no-collection-bracket-access": "error",
456
480
  "unicorn/no-computed-property-existence-check": "error",
457
481
  "unicorn/no-confusing-array-splice": "error",
458
482
  "unicorn/no-confusing-array-with": "error",
459
483
  "unicorn/no-declarations-before-early-exit": "error",
484
+ "unicorn/no-double-comparison": "error",
485
+ "unicorn/no-duplicate-if-branches": "error",
486
+ "unicorn/no-duplicate-logical-operands": "error",
460
487
  "unicorn/no-duplicate-loops": "error",
461
488
  "unicorn/no-duplicate-set-values": "error",
462
489
  "unicorn/no-error-property-assignment": "error",
463
490
  "unicorn/no-exports-in-scripts": "error",
464
491
  "unicorn/no-for-each": "error",
465
492
  "unicorn/no-for-loop": "error",
466
- "unicorn/no-hex-escape": "error",
467
493
  "unicorn/no-immediate-mutation": "error",
494
+ "unicorn/no-impossible-length-comparison": "error",
468
495
  "unicorn/no-incorrect-query-selector": "error",
469
496
  "unicorn/no-instanceof-builtins": "error",
497
+ "unicorn/no-invalid-argument-count": "error",
498
+ "unicorn/no-invalid-character-comparison": "error",
470
499
  "unicorn/no-invalid-fetch-options": "error",
471
500
  "unicorn/no-invalid-remove-event-listener": "error",
472
501
  "unicorn/no-late-current-target-access": "error",
502
+ "unicorn/no-late-event-control": "error",
503
+ "unicorn/no-loop-iterable-mutation": "error",
504
+ "unicorn/no-misrefactored-assignment": "error",
473
505
  "unicorn/no-named-default": "error",
474
506
  "unicorn/no-negated-array-predicate": "error",
475
507
  "unicorn/no-negated-comparison": "error",
@@ -481,21 +513,23 @@ function core(config) {
481
513
  "unicorn/no-process-exit": "error",
482
514
  "unicorn/no-redundant-comparison": "error",
483
515
  "unicorn/no-return-array-push": "error",
516
+ "unicorn/no-selector-as-dom-name": "error",
484
517
  "unicorn/no-single-promise-in-promise-methods": "error",
485
518
  "unicorn/no-static-only-class": "error",
486
519
  "unicorn/no-subtraction-comparison": "error",
487
520
  "unicorn/no-this-assignment": "error",
488
- "unicorn/no-this-outside-of-class": "error",
489
521
  "unicorn/no-typeof-undefined": "error",
490
522
  "unicorn/no-undeclared-class-members": "error",
491
523
  "unicorn/no-unnecessary-array-flat-depth": "error",
492
524
  "unicorn/no-unnecessary-array-splice-count": "error",
493
525
  "unicorn/no-unnecessary-await": "error",
526
+ "unicorn/no-unnecessary-boolean-comparison": "error",
494
527
  "unicorn/no-unnecessary-global-this": "error",
495
528
  "unicorn/no-unnecessary-nested-ternary": "error",
496
529
  "unicorn/no-unnecessary-slice-end": "error",
497
530
  "unicorn/no-unnecessary-splice": "error",
498
531
  "unicorn/no-unreadable-array-destructuring": "error",
532
+ "unicorn/no-unreadable-for-of-expression": "error",
499
533
  "unicorn/no-unreadable-iife": "error",
500
534
  "unicorn/no-unreadable-new-expression": "error",
501
535
  "unicorn/no-unreadable-object-destructuring": "error",
@@ -504,33 +538,43 @@ function core(config) {
504
538
  "unicorn/no-unused-array-method-return": "error",
505
539
  "unicorn/no-unused-properties": "error",
506
540
  "unicorn/no-useless-boolean-cast": "error",
541
+ "unicorn/no-useless-coercion": "error",
507
542
  "unicorn/no-useless-collection-argument": "error",
508
543
  "unicorn/no-useless-concat": "error",
544
+ "unicorn/no-useless-continue": "error",
545
+ "unicorn/no-useless-delete-check": "error",
509
546
  "unicorn/no-useless-else": "error",
510
547
  "unicorn/no-useless-fallback-in-spread": "error",
511
548
  "unicorn/no-useless-iterator-to-array": "error",
512
549
  "unicorn/no-useless-length-check": "error",
550
+ "unicorn/no-useless-logical-operand": "error",
513
551
  "unicorn/no-useless-promise-resolve-reject": "error",
514
552
  "unicorn/no-useless-recursion": "error",
515
553
  "unicorn/no-useless-spread": "error",
516
554
  "unicorn/no-useless-switch-case": "error",
517
555
  "unicorn/no-useless-template-literals": "error",
518
556
  "unicorn/no-useless-undefined": ["error", { checkArguments: false }],
557
+ "unicorn/no-xor-as-exponentiation": "error",
519
558
  "unicorn/no-zero-fractions": ["error"],
520
559
  "unicorn/numeric-separators-style": ["error", { onlyIfContainsSeparator: true }],
560
+ "unicorn/prefer-abort-signal-timeout": "error",
521
561
  "unicorn/prefer-add-event-listener": "error",
522
562
  "unicorn/prefer-add-event-listener-options": "error",
563
+ "unicorn/prefer-aggregate-error": "error",
523
564
  "unicorn/prefer-array-find": "error",
524
565
  "unicorn/prefer-array-flat": "error",
525
566
  "unicorn/prefer-array-flat-map": "error",
526
567
  "unicorn/prefer-array-from-map": "error",
527
568
  "unicorn/prefer-array-index-of": "error",
569
+ "unicorn/prefer-array-iterable-methods": "error",
528
570
  "unicorn/prefer-array-last-methods": "error",
571
+ "unicorn/prefer-array-slice": "error",
529
572
  "unicorn/prefer-array-some": "error",
530
573
  "unicorn/prefer-at": "error",
531
574
  "unicorn/prefer-await": "error",
532
575
  "unicorn/prefer-bigint-literals": "error",
533
576
  "unicorn/prefer-blob-reading-methods": "error",
577
+ "unicorn/prefer-boolean-return": "error",
534
578
  "unicorn/prefer-class-fields": "error",
535
579
  "unicorn/prefer-classlist-toggle": "error",
536
580
  "unicorn/prefer-date-now": "error",
@@ -539,11 +583,15 @@ function core(config) {
539
583
  "unicorn/prefer-dom-node-append": "error",
540
584
  "unicorn/prefer-dom-node-html-methods": "error",
541
585
  "unicorn/prefer-dom-node-remove": "error",
586
+ "unicorn/prefer-dom-node-replace-children": "error",
542
587
  "unicorn/prefer-dom-node-text-content": "error",
588
+ "unicorn/prefer-else-if": "error",
543
589
  "unicorn/prefer-event-target": "error",
544
590
  "unicorn/prefer-export-from": "error",
545
591
  "unicorn/prefer-get-or-insert-computed": "error",
546
592
  "unicorn/prefer-global-this": "error",
593
+ "unicorn/prefer-has-check": "error",
594
+ "unicorn/prefer-hoisting-branch-code": "error",
547
595
  "unicorn/prefer-import-meta-properties": "error",
548
596
  "unicorn/prefer-includes": "error",
549
597
  "unicorn/prefer-includes-over-repeated-comparisons": "error",
@@ -552,7 +600,9 @@ function core(config) {
552
600
  "unicorn/prefer-keyboard-event-key": "error",
553
601
  "unicorn/prefer-location-assign": "error",
554
602
  "unicorn/prefer-logical-operator-over-ternary": "error",
603
+ "unicorn/prefer-map-from-entries": "error",
555
604
  "unicorn/prefer-math-abs": "error",
605
+ "unicorn/prefer-math-constants": "error",
556
606
  "unicorn/prefer-math-min-max": "error",
557
607
  "unicorn/prefer-minimal-ternary": "error",
558
608
  "unicorn/prefer-modern-dom-apis": "error",
@@ -565,16 +615,19 @@ function core(config) {
565
615
  "unicorn/prefer-object-destructuring-defaults": "error",
566
616
  "unicorn/prefer-object-from-entries": "error",
567
617
  "unicorn/prefer-object-iterable-methods": "error",
618
+ "unicorn/prefer-observer-apis": "error",
568
619
  "unicorn/prefer-query-selector": "error",
569
620
  "unicorn/prefer-regexp-test": "error",
570
621
  "unicorn/prefer-scoped-selector": "error",
571
622
  "unicorn/prefer-set-has": "error",
623
+ "unicorn/prefer-set-methods": "error",
572
624
  "unicorn/prefer-set-size": "error",
573
625
  "unicorn/prefer-simple-condition-first": "error",
574
626
  "unicorn/prefer-simple-sort-comparator": "error",
575
627
  "unicorn/prefer-single-array-predicate": "error",
576
628
  "unicorn/prefer-single-call": "error",
577
629
  "unicorn/prefer-single-object-destructuring": "error",
630
+ "unicorn/prefer-single-replace": "error",
578
631
  "unicorn/prefer-smaller-scope": "error",
579
632
  "unicorn/prefer-split-limit": "error",
580
633
  "unicorn/prefer-spread": "error",
@@ -588,26 +641,16 @@ function core(config) {
588
641
  "unicorn/prefer-string-trim-start-end": "error",
589
642
  "unicorn/prefer-structured-clone": "error",
590
643
  "unicorn/prefer-switch": ["error", { minimumCases: 3 }],
644
+ "unicorn/prefer-toggle-attribute": "error",
591
645
  "unicorn/prefer-top-level-await": "error",
592
646
  "unicorn/prefer-type-error": "error",
593
647
  "unicorn/prefer-uint8array-base64": "error",
648
+ "unicorn/prefer-unary-minus": "error",
594
649
  "unicorn/prefer-unicode-code-point-escapes": "error",
650
+ "unicorn/prefer-url-can-parse": "error",
595
651
  "unicorn/prefer-url-href": "error",
596
- "unicorn/prevent-abbreviations": ["error", { allowList: {
597
- attrs: true,
598
- env: config.astro,
599
- i: true,
600
- Props: true,
601
- props: true,
602
- rel: [
603
- "astro",
604
- "react",
605
- "svelte",
606
- "vue"
607
- ].some((configName) => config[configName]),
608
- Var: true,
609
- var: true
610
- } }],
652
+ "unicorn/prefer-url-search-parameters": "error",
653
+ "unicorn/prefer-while-loop-condition": "error",
611
654
  "unicorn/require-array-join-separator": "error",
612
655
  "unicorn/require-css-escape": "error",
613
656
  "unicorn/require-module-attributes": "error",
@@ -1,7 +1,7 @@
1
1
  import { interopDefault } from "../utilities.js";
2
2
  async function react(config) {
3
3
  if (!config.react) return {};
4
- let [reactCompilerPlugin, reactDomPlugin, reactJsxPlugin, reactHooksPlugin, reactNamingConventionPlugin, reactPerfPlugin, reactWebApiPlugin, reactXPlugin] = await Promise.all([
4
+ let [reactCompilerPlugin, reactDomPlugin, reactJsxPlugin, reactHooksPlugin, reactNamingConventionPlugin, reactPerformancePlugin, reactWebApiPlugin, reactXPlugin] = await Promise.all([
5
5
  interopDefault(import("eslint-plugin-react-compiler")),
6
6
  interopDefault(import("eslint-plugin-react-dom")),
7
7
  interopDefault(import("eslint-plugin-react-jsx")),
@@ -22,7 +22,7 @@ async function react(config) {
22
22
  "react-hooks": reactHooksPlugin,
23
23
  "react-jsx": reactJsxPlugin,
24
24
  "react-naming-convention": reactNamingConventionPlugin,
25
- "react-perf": reactPerfPlugin,
25
+ "react-perf": reactPerformancePlugin,
26
26
  "react-web-api": reactWebApiPlugin,
27
27
  "react-x": reactXPlugin
28
28
  },
@@ -37,6 +37,7 @@ async function svelte(config) {
37
37
  "svelte/derived-has-same-inputs-outputs": "error",
38
38
  "svelte/infinite-reactive-loop": "error",
39
39
  "svelte/no-add-event-listener": "error",
40
+ "svelte/no-at-const-tags": "error",
40
41
  "svelte/no-at-debug-tags": "error",
41
42
  "svelte/no-at-html-tags": "error",
42
43
  "svelte/no-dom-manipulating": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azat-io/eslint-config",
3
- "version": "2.84.0",
3
+ "version": "2.86.0",
4
4
  "description": "ESLint shareable config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -29,37 +29,37 @@
29
29
  "dependencies": {
30
30
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
31
31
  "@vitest/eslint-plugin": "1.6.20",
32
- "astro-eslint-parser": "^1.4.0",
32
+ "astro-eslint-parser": "^2.1.0",
33
33
  "eslint-config-flat-gitignore": "^2.3.0",
34
- "eslint-plugin-astro": "^1.7.0",
34
+ "eslint-plugin-astro": "^2.1.1",
35
35
  "eslint-plugin-de-morgan": "^2.1.2",
36
36
  "eslint-plugin-depend": "^1.5.0",
37
37
  "eslint-plugin-import-lite": "^0.6.0",
38
- "eslint-plugin-jsdoc": "^63.0.4",
38
+ "eslint-plugin-jsdoc": "^63.0.10",
39
39
  "eslint-plugin-jsx-a11y": "^6.10.2",
40
- "eslint-plugin-n": "^18.1.0",
41
- "eslint-plugin-package-json": "^1.3.0",
40
+ "eslint-plugin-n": "^18.2.1",
41
+ "eslint-plugin-package-json": "^1.5.0",
42
42
  "eslint-plugin-perfectionist": "^5.9.1",
43
43
  "eslint-plugin-prefer-let": "^4.2.2",
44
44
  "eslint-plugin-promise": "^7.3.0",
45
45
  "eslint-plugin-qwik": "2.0.0-beta.21",
46
46
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
47
- "eslint-plugin-react-dom": "^5.9.0",
47
+ "eslint-plugin-react-dom": "^5.10.0",
48
48
  "eslint-plugin-react-hooks": "^7.1.1",
49
- "eslint-plugin-react-jsx": "^5.9.0",
50
- "eslint-plugin-react-naming-convention": "^5.9.0",
49
+ "eslint-plugin-react-jsx": "^5.10.0",
50
+ "eslint-plugin-react-naming-convention": "^5.10.0",
51
51
  "eslint-plugin-react-perf": "^3.3.3",
52
- "eslint-plugin-react-web-api": "^5.9.0",
53
- "eslint-plugin-react-x": "^5.9.0",
54
- "eslint-plugin-regexp": "^3.1.0",
55
- "eslint-plugin-sonarjs": "^4.0.3",
56
- "eslint-plugin-svelte": "^3.19.0",
57
- "eslint-plugin-unicorn": "^66.0.0",
52
+ "eslint-plugin-react-web-api": "^5.10.0",
53
+ "eslint-plugin-react-x": "^5.10.0",
54
+ "eslint-plugin-regexp": "^3.1.1",
55
+ "eslint-plugin-sonarjs": "^4.1.0",
56
+ "eslint-plugin-svelte": "^3.20.0",
57
+ "eslint-plugin-unicorn": "^69.0.0",
58
58
  "eslint-plugin-vue": "^10.9.2",
59
- "globals": "^17.6.0",
59
+ "globals": "^17.7.0",
60
60
  "jsonc-eslint-parser": "^3.1.0",
61
61
  "svelte-eslint-parser": "^1.8.0",
62
- "typescript-eslint": "^8.61.1",
62
+ "typescript-eslint": "^8.62.0",
63
63
  "vue-eslint-parser": "^10.4.1"
64
64
  },
65
65
  "peerDependencies": {