@azat-io/eslint-config 2.84.0 → 2.85.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,6 +429,7 @@ 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",
@@ -445,31 +446,60 @@ function core(config) {
445
446
  kebabCase: true,
446
447
  pascalCase: true
447
448
  } }],
449
+ "unicorn/name-replacements": ["error", { allowList: {
450
+ attrs: true,
451
+ env: config.astro,
452
+ i: true,
453
+ Props: true,
454
+ props: true,
455
+ rel: [
456
+ "astro",
457
+ "react",
458
+ "svelte",
459
+ "vue"
460
+ ].some((configName) => config[configName]),
461
+ Var: true,
462
+ var: true
463
+ } }],
448
464
  "unicorn/new-for-builtins": "error",
465
+ "unicorn/no-accidental-bitwise-operator": "error",
466
+ "unicorn/no-array-concat-in-loop": "error",
449
467
  "unicorn/no-array-fill-with-reference-type": "error",
450
468
  "unicorn/no-array-from-fill": "error",
451
469
  "unicorn/no-array-method-this-argument": "error",
452
470
  "unicorn/no-array-reverse": "error",
453
471
  "unicorn/no-array-sort": "error",
472
+ "unicorn/no-array-sort-for-min-max": "error",
473
+ "unicorn/no-array-splice": "error",
454
474
  "unicorn/no-await-in-promise-methods": "error",
455
475
  "unicorn/no-blob-to-file": "error",
476
+ "unicorn/no-boolean-sort-comparator": "error",
477
+ "unicorn/no-chained-comparison": "error",
478
+ "unicorn/no-collection-bracket-access": "error",
456
479
  "unicorn/no-computed-property-existence-check": "error",
457
480
  "unicorn/no-confusing-array-splice": "error",
458
481
  "unicorn/no-confusing-array-with": "error",
459
482
  "unicorn/no-declarations-before-early-exit": "error",
483
+ "unicorn/no-double-comparison": "error",
484
+ "unicorn/no-duplicate-if-branches": "error",
485
+ "unicorn/no-duplicate-logical-operands": "error",
460
486
  "unicorn/no-duplicate-loops": "error",
461
487
  "unicorn/no-duplicate-set-values": "error",
462
488
  "unicorn/no-error-property-assignment": "error",
463
489
  "unicorn/no-exports-in-scripts": "error",
464
490
  "unicorn/no-for-each": "error",
465
491
  "unicorn/no-for-loop": "error",
466
- "unicorn/no-hex-escape": "error",
467
492
  "unicorn/no-immediate-mutation": "error",
493
+ "unicorn/no-impossible-length-comparison": "error",
468
494
  "unicorn/no-incorrect-query-selector": "error",
469
495
  "unicorn/no-instanceof-builtins": "error",
496
+ "unicorn/no-invalid-argument-count": "error",
497
+ "unicorn/no-invalid-character-comparison": "error",
470
498
  "unicorn/no-invalid-fetch-options": "error",
471
499
  "unicorn/no-invalid-remove-event-listener": "error",
472
500
  "unicorn/no-late-current-target-access": "error",
501
+ "unicorn/no-loop-iterable-mutation": "error",
502
+ "unicorn/no-misrefactored-assignment": "error",
473
503
  "unicorn/no-named-default": "error",
474
504
  "unicorn/no-negated-array-predicate": "error",
475
505
  "unicorn/no-negated-comparison": "error",
@@ -481,21 +511,23 @@ function core(config) {
481
511
  "unicorn/no-process-exit": "error",
482
512
  "unicorn/no-redundant-comparison": "error",
483
513
  "unicorn/no-return-array-push": "error",
514
+ "unicorn/no-selector-as-dom-name": "error",
484
515
  "unicorn/no-single-promise-in-promise-methods": "error",
485
516
  "unicorn/no-static-only-class": "error",
486
517
  "unicorn/no-subtraction-comparison": "error",
487
518
  "unicorn/no-this-assignment": "error",
488
- "unicorn/no-this-outside-of-class": "error",
489
519
  "unicorn/no-typeof-undefined": "error",
490
520
  "unicorn/no-undeclared-class-members": "error",
491
521
  "unicorn/no-unnecessary-array-flat-depth": "error",
492
522
  "unicorn/no-unnecessary-array-splice-count": "error",
493
523
  "unicorn/no-unnecessary-await": "error",
524
+ "unicorn/no-unnecessary-boolean-comparison": "error",
494
525
  "unicorn/no-unnecessary-global-this": "error",
495
526
  "unicorn/no-unnecessary-nested-ternary": "error",
496
527
  "unicorn/no-unnecessary-slice-end": "error",
497
528
  "unicorn/no-unnecessary-splice": "error",
498
529
  "unicorn/no-unreadable-array-destructuring": "error",
530
+ "unicorn/no-unreadable-for-of-expression": "error",
499
531
  "unicorn/no-unreadable-iife": "error",
500
532
  "unicorn/no-unreadable-new-expression": "error",
501
533
  "unicorn/no-unreadable-object-destructuring": "error",
@@ -504,18 +536,23 @@ function core(config) {
504
536
  "unicorn/no-unused-array-method-return": "error",
505
537
  "unicorn/no-unused-properties": "error",
506
538
  "unicorn/no-useless-boolean-cast": "error",
539
+ "unicorn/no-useless-coercion": "error",
507
540
  "unicorn/no-useless-collection-argument": "error",
508
541
  "unicorn/no-useless-concat": "error",
542
+ "unicorn/no-useless-continue": "error",
543
+ "unicorn/no-useless-delete-check": "error",
509
544
  "unicorn/no-useless-else": "error",
510
545
  "unicorn/no-useless-fallback-in-spread": "error",
511
546
  "unicorn/no-useless-iterator-to-array": "error",
512
547
  "unicorn/no-useless-length-check": "error",
548
+ "unicorn/no-useless-logical-operand": "error",
513
549
  "unicorn/no-useless-promise-resolve-reject": "error",
514
550
  "unicorn/no-useless-recursion": "error",
515
551
  "unicorn/no-useless-spread": "error",
516
552
  "unicorn/no-useless-switch-case": "error",
517
553
  "unicorn/no-useless-template-literals": "error",
518
554
  "unicorn/no-useless-undefined": ["error", { checkArguments: false }],
555
+ "unicorn/no-xor-as-exponentiation": "error",
519
556
  "unicorn/no-zero-fractions": ["error"],
520
557
  "unicorn/numeric-separators-style": ["error", { onlyIfContainsSeparator: true }],
521
558
  "unicorn/prefer-add-event-listener": "error",
@@ -525,12 +562,15 @@ function core(config) {
525
562
  "unicorn/prefer-array-flat-map": "error",
526
563
  "unicorn/prefer-array-from-map": "error",
527
564
  "unicorn/prefer-array-index-of": "error",
565
+ "unicorn/prefer-array-iterable-methods": "error",
528
566
  "unicorn/prefer-array-last-methods": "error",
567
+ "unicorn/prefer-array-slice": "error",
529
568
  "unicorn/prefer-array-some": "error",
530
569
  "unicorn/prefer-at": "error",
531
570
  "unicorn/prefer-await": "error",
532
571
  "unicorn/prefer-bigint-literals": "error",
533
572
  "unicorn/prefer-blob-reading-methods": "error",
573
+ "unicorn/prefer-boolean-return": "error",
534
574
  "unicorn/prefer-class-fields": "error",
535
575
  "unicorn/prefer-classlist-toggle": "error",
536
576
  "unicorn/prefer-date-now": "error",
@@ -540,10 +580,13 @@ function core(config) {
540
580
  "unicorn/prefer-dom-node-html-methods": "error",
541
581
  "unicorn/prefer-dom-node-remove": "error",
542
582
  "unicorn/prefer-dom-node-text-content": "error",
583
+ "unicorn/prefer-else-if": "error",
543
584
  "unicorn/prefer-event-target": "error",
544
585
  "unicorn/prefer-export-from": "error",
545
586
  "unicorn/prefer-get-or-insert-computed": "error",
546
587
  "unicorn/prefer-global-this": "error",
588
+ "unicorn/prefer-has-check": "error",
589
+ "unicorn/prefer-hoisting-branch-code": "error",
547
590
  "unicorn/prefer-import-meta-properties": "error",
548
591
  "unicorn/prefer-includes": "error",
549
592
  "unicorn/prefer-includes-over-repeated-comparisons": "error",
@@ -552,7 +595,9 @@ function core(config) {
552
595
  "unicorn/prefer-keyboard-event-key": "error",
553
596
  "unicorn/prefer-location-assign": "error",
554
597
  "unicorn/prefer-logical-operator-over-ternary": "error",
598
+ "unicorn/prefer-map-from-entries": "error",
555
599
  "unicorn/prefer-math-abs": "error",
600
+ "unicorn/prefer-math-constants": "error",
556
601
  "unicorn/prefer-math-min-max": "error",
557
602
  "unicorn/prefer-minimal-ternary": "error",
558
603
  "unicorn/prefer-modern-dom-apis": "error",
@@ -575,6 +620,7 @@ function core(config) {
575
620
  "unicorn/prefer-single-array-predicate": "error",
576
621
  "unicorn/prefer-single-call": "error",
577
622
  "unicorn/prefer-single-object-destructuring": "error",
623
+ "unicorn/prefer-single-replace": "error",
578
624
  "unicorn/prefer-smaller-scope": "error",
579
625
  "unicorn/prefer-split-limit": "error",
580
626
  "unicorn/prefer-spread": "error",
@@ -591,23 +637,11 @@ function core(config) {
591
637
  "unicorn/prefer-top-level-await": "error",
592
638
  "unicorn/prefer-type-error": "error",
593
639
  "unicorn/prefer-uint8array-base64": "error",
640
+ "unicorn/prefer-unary-minus": "error",
594
641
  "unicorn/prefer-unicode-code-point-escapes": "error",
642
+ "unicorn/prefer-url-can-parse": "error",
595
643
  "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
- } }],
644
+ "unicorn/prefer-while-loop-condition": "error",
611
645
  "unicorn/require-array-join-separator": "error",
612
646
  "unicorn/require-css-escape": "error",
613
647
  "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
  },
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.85.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.0.0",
33
33
  "eslint-config-flat-gitignore": "^2.3.0",
34
- "eslint-plugin-astro": "^1.7.0",
34
+ "eslint-plugin-astro": "^2.0.0",
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.7",
39
39
  "eslint-plugin-jsx-a11y": "^6.10.2",
40
40
  "eslint-plugin-n": "^18.1.0",
41
- "eslint-plugin-package-json": "^1.3.0",
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.9.2",
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.9.2",
50
+ "eslint-plugin-react-naming-convention": "^5.9.2",
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",
52
+ "eslint-plugin-react-web-api": "^5.9.2",
53
+ "eslint-plugin-react-x": "^5.9.2",
54
54
  "eslint-plugin-regexp": "^3.1.0",
55
- "eslint-plugin-sonarjs": "^4.0.3",
55
+ "eslint-plugin-sonarjs": "^4.1.0",
56
56
  "eslint-plugin-svelte": "^3.19.0",
57
- "eslint-plugin-unicorn": "^66.0.0",
57
+ "eslint-plugin-unicorn": "^68.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": {