@azat-io/eslint-config 2.83.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",
@@ -440,100 +441,187 @@ function core(config) {
440
441
  "unicorn/error-message": "error",
441
442
  "unicorn/escape-case": "error",
442
443
  "unicorn/explicit-length-check": "error",
444
+ "unicorn/explicit-timer-delay": ["error", "always"],
443
445
  "unicorn/filename-case": ["error", { cases: {
444
446
  kebabCase: true,
445
447
  pascalCase: true
446
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
+ } }],
447
464
  "unicorn/new-for-builtins": "error",
465
+ "unicorn/no-accidental-bitwise-operator": "error",
466
+ "unicorn/no-array-concat-in-loop": "error",
448
467
  "unicorn/no-array-fill-with-reference-type": "error",
449
- "unicorn/no-array-for-each": "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",
479
+ "unicorn/no-computed-property-existence-check": "error",
456
480
  "unicorn/no-confusing-array-splice": "error",
481
+ "unicorn/no-confusing-array-with": "error",
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",
486
+ "unicorn/no-duplicate-loops": "error",
457
487
  "unicorn/no-duplicate-set-values": "error",
488
+ "unicorn/no-error-property-assignment": "error",
458
489
  "unicorn/no-exports-in-scripts": "error",
490
+ "unicorn/no-for-each": "error",
459
491
  "unicorn/no-for-loop": "error",
460
- "unicorn/no-hex-escape": "error",
461
492
  "unicorn/no-immediate-mutation": "error",
493
+ "unicorn/no-impossible-length-comparison": "error",
462
494
  "unicorn/no-incorrect-query-selector": "error",
463
495
  "unicorn/no-instanceof-builtins": "error",
496
+ "unicorn/no-invalid-argument-count": "error",
497
+ "unicorn/no-invalid-character-comparison": "error",
464
498
  "unicorn/no-invalid-fetch-options": "error",
465
499
  "unicorn/no-invalid-remove-event-listener": "error",
466
500
  "unicorn/no-late-current-target-access": "error",
501
+ "unicorn/no-loop-iterable-mutation": "error",
502
+ "unicorn/no-misrefactored-assignment": "error",
467
503
  "unicorn/no-named-default": "error",
504
+ "unicorn/no-negated-array-predicate": "error",
505
+ "unicorn/no-negated-comparison": "error",
468
506
  "unicorn/no-negated-condition": "error",
469
507
  "unicorn/no-negation-in-equality-check": "error",
470
508
  "unicorn/no-new-array": "error",
471
509
  "unicorn/no-new-buffer": "error",
510
+ "unicorn/no-object-methods-with-collections": "error",
472
511
  "unicorn/no-process-exit": "error",
512
+ "unicorn/no-redundant-comparison": "error",
513
+ "unicorn/no-return-array-push": "error",
514
+ "unicorn/no-selector-as-dom-name": "error",
473
515
  "unicorn/no-single-promise-in-promise-methods": "error",
474
516
  "unicorn/no-static-only-class": "error",
517
+ "unicorn/no-subtraction-comparison": "error",
475
518
  "unicorn/no-this-assignment": "error",
476
- "unicorn/no-this-outside-of-class": "error",
477
519
  "unicorn/no-typeof-undefined": "error",
520
+ "unicorn/no-undeclared-class-members": "error",
478
521
  "unicorn/no-unnecessary-array-flat-depth": "error",
479
522
  "unicorn/no-unnecessary-array-splice-count": "error",
480
523
  "unicorn/no-unnecessary-await": "error",
524
+ "unicorn/no-unnecessary-boolean-comparison": "error",
525
+ "unicorn/no-unnecessary-global-this": "error",
481
526
  "unicorn/no-unnecessary-nested-ternary": "error",
482
527
  "unicorn/no-unnecessary-slice-end": "error",
528
+ "unicorn/no-unnecessary-splice": "error",
483
529
  "unicorn/no-unreadable-array-destructuring": "error",
530
+ "unicorn/no-unreadable-for-of-expression": "error",
484
531
  "unicorn/no-unreadable-iife": "error",
532
+ "unicorn/no-unreadable-new-expression": "error",
533
+ "unicorn/no-unreadable-object-destructuring": "error",
534
+ "unicorn/no-unsafe-buffer-conversion": "error",
535
+ "unicorn/no-unsafe-dom-html": "error",
485
536
  "unicorn/no-unused-array-method-return": "error",
486
537
  "unicorn/no-unused-properties": "error",
538
+ "unicorn/no-useless-boolean-cast": "error",
539
+ "unicorn/no-useless-coercion": "error",
487
540
  "unicorn/no-useless-collection-argument": "error",
541
+ "unicorn/no-useless-concat": "error",
542
+ "unicorn/no-useless-continue": "error",
543
+ "unicorn/no-useless-delete-check": "error",
544
+ "unicorn/no-useless-else": "error",
488
545
  "unicorn/no-useless-fallback-in-spread": "error",
489
546
  "unicorn/no-useless-iterator-to-array": "error",
490
547
  "unicorn/no-useless-length-check": "error",
548
+ "unicorn/no-useless-logical-operand": "error",
491
549
  "unicorn/no-useless-promise-resolve-reject": "error",
550
+ "unicorn/no-useless-recursion": "error",
492
551
  "unicorn/no-useless-spread": "error",
493
552
  "unicorn/no-useless-switch-case": "error",
553
+ "unicorn/no-useless-template-literals": "error",
494
554
  "unicorn/no-useless-undefined": ["error", { checkArguments: false }],
555
+ "unicorn/no-xor-as-exponentiation": "error",
495
556
  "unicorn/no-zero-fractions": ["error"],
496
557
  "unicorn/numeric-separators-style": ["error", { onlyIfContainsSeparator: true }],
497
558
  "unicorn/prefer-add-event-listener": "error",
559
+ "unicorn/prefer-add-event-listener-options": "error",
498
560
  "unicorn/prefer-array-find": "error",
499
561
  "unicorn/prefer-array-flat": "error",
500
562
  "unicorn/prefer-array-flat-map": "error",
563
+ "unicorn/prefer-array-from-map": "error",
501
564
  "unicorn/prefer-array-index-of": "error",
565
+ "unicorn/prefer-array-iterable-methods": "error",
502
566
  "unicorn/prefer-array-last-methods": "error",
567
+ "unicorn/prefer-array-slice": "error",
503
568
  "unicorn/prefer-array-some": "error",
504
569
  "unicorn/prefer-at": "error",
570
+ "unicorn/prefer-await": "error",
505
571
  "unicorn/prefer-bigint-literals": "error",
506
572
  "unicorn/prefer-blob-reading-methods": "error",
573
+ "unicorn/prefer-boolean-return": "error",
507
574
  "unicorn/prefer-class-fields": "error",
508
575
  "unicorn/prefer-classlist-toggle": "error",
509
576
  "unicorn/prefer-date-now": "error",
510
577
  "unicorn/prefer-default-parameters": "error",
578
+ "unicorn/prefer-direct-iteration": "error",
511
579
  "unicorn/prefer-dom-node-append": "error",
580
+ "unicorn/prefer-dom-node-html-methods": "error",
512
581
  "unicorn/prefer-dom-node-remove": "error",
513
582
  "unicorn/prefer-dom-node-text-content": "error",
583
+ "unicorn/prefer-else-if": "error",
514
584
  "unicorn/prefer-event-target": "error",
515
585
  "unicorn/prefer-export-from": "error",
516
586
  "unicorn/prefer-get-or-insert-computed": "error",
517
587
  "unicorn/prefer-global-this": "error",
588
+ "unicorn/prefer-has-check": "error",
589
+ "unicorn/prefer-hoisting-branch-code": "error",
518
590
  "unicorn/prefer-import-meta-properties": "error",
519
591
  "unicorn/prefer-includes": "error",
520
592
  "unicorn/prefer-includes-over-repeated-comparisons": "error",
593
+ "unicorn/prefer-iterable-in-constructor": "error",
594
+ "unicorn/prefer-iterator-to-array": "error",
521
595
  "unicorn/prefer-keyboard-event-key": "error",
596
+ "unicorn/prefer-location-assign": "error",
522
597
  "unicorn/prefer-logical-operator-over-ternary": "error",
598
+ "unicorn/prefer-map-from-entries": "error",
523
599
  "unicorn/prefer-math-abs": "error",
600
+ "unicorn/prefer-math-constants": "error",
524
601
  "unicorn/prefer-math-min-max": "error",
602
+ "unicorn/prefer-minimal-ternary": "error",
525
603
  "unicorn/prefer-modern-dom-apis": "error",
526
604
  "unicorn/prefer-modern-math-apis": "error",
527
605
  "unicorn/prefer-native-coercion-functions": "error",
528
606
  "unicorn/prefer-negative-index": "error",
607
+ "unicorn/prefer-number-is-safe-integer": "error",
529
608
  "unicorn/prefer-number-properties": "error",
609
+ "unicorn/prefer-object-define-properties": "error",
610
+ "unicorn/prefer-object-destructuring-defaults": "error",
530
611
  "unicorn/prefer-object-from-entries": "error",
612
+ "unicorn/prefer-object-iterable-methods": "error",
531
613
  "unicorn/prefer-query-selector": "error",
532
614
  "unicorn/prefer-regexp-test": "error",
615
+ "unicorn/prefer-scoped-selector": "error",
533
616
  "unicorn/prefer-set-has": "error",
534
617
  "unicorn/prefer-set-size": "error",
535
618
  "unicorn/prefer-simple-condition-first": "error",
619
+ "unicorn/prefer-simple-sort-comparator": "error",
620
+ "unicorn/prefer-single-array-predicate": "error",
536
621
  "unicorn/prefer-single-call": "error",
622
+ "unicorn/prefer-single-object-destructuring": "error",
623
+ "unicorn/prefer-single-replace": "error",
624
+ "unicorn/prefer-smaller-scope": "error",
537
625
  "unicorn/prefer-split-limit": "error",
538
626
  "unicorn/prefer-spread": "error",
539
627
  "unicorn/prefer-string-match-all": "error",
@@ -548,21 +636,12 @@ function core(config) {
548
636
  "unicorn/prefer-switch": ["error", { minimumCases: 3 }],
549
637
  "unicorn/prefer-top-level-await": "error",
550
638
  "unicorn/prefer-type-error": "error",
551
- "unicorn/prevent-abbreviations": ["error", { allowList: {
552
- attrs: true,
553
- env: config.astro,
554
- i: true,
555
- Props: true,
556
- props: true,
557
- rel: [
558
- "astro",
559
- "react",
560
- "svelte",
561
- "vue"
562
- ].some((configName) => config[configName]),
563
- Var: true,
564
- var: true
565
- } }],
639
+ "unicorn/prefer-uint8array-base64": "error",
640
+ "unicorn/prefer-unary-minus": "error",
641
+ "unicorn/prefer-unicode-code-point-escapes": "error",
642
+ "unicorn/prefer-url-can-parse": "error",
643
+ "unicorn/prefer-url-href": "error",
644
+ "unicorn/prefer-while-loop-condition": "error",
566
645
  "unicorn/require-array-join-separator": "error",
567
646
  "unicorn/require-css-escape": "error",
568
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.83.0",
3
+ "version": "2.85.0",
4
4
  "description": "ESLint shareable config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -28,38 +28,38 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
31
- "@vitest/eslint-plugin": "1.6.19",
32
- "astro-eslint-parser": "^1.4.0",
31
+ "@vitest/eslint-plugin": "1.6.20",
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.2",
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",
42
- "eslint-plugin-perfectionist": "^5.9.0",
41
+ "eslint-plugin-package-json": "^1.5.0",
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.8.16",
47
+ "eslint-plugin-react-dom": "^5.9.2",
48
48
  "eslint-plugin-react-hooks": "^7.1.1",
49
- "eslint-plugin-react-jsx": "^5.8.16",
50
- "eslint-plugin-react-naming-convention": "^5.8.16",
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.8.16",
53
- "eslint-plugin-react-x": "^5.8.16",
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": "^65.0.1",
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.0",
62
+ "typescript-eslint": "^8.62.0",
63
63
  "vue-eslint-parser": "^10.4.1"
64
64
  },
65
65
  "peerDependencies": {