@bfra.me/eslint-config 0.2.0 → 0.3.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.
package/src/types.ts CHANGED
@@ -646,11 +646,180 @@ export interface Rules {
646
646
  * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
647
647
  */
648
648
  '@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
649
+ /**
650
+ * Enforce getter and setter pairs in objects and classes
651
+ * @see https://eslint.org/docs/latest/rules/accessor-pairs
652
+ */
653
+ 'accessor-pairs'?: Linter.RuleEntry<AccessorPairs>
654
+ /**
655
+ * Enforce linebreaks after opening and before closing array brackets
656
+ * @see https://eslint.org/docs/latest/rules/array-bracket-newline
657
+ * @deprecated
658
+ */
659
+ 'array-bracket-newline'?: Linter.RuleEntry<ArrayBracketNewline>
660
+ /**
661
+ * Enforce consistent spacing inside array brackets
662
+ * @see https://eslint.org/docs/latest/rules/array-bracket-spacing
663
+ * @deprecated
664
+ */
665
+ 'array-bracket-spacing'?: Linter.RuleEntry<ArrayBracketSpacing>
666
+ /**
667
+ * Enforce `return` statements in callbacks of array methods
668
+ * @see https://eslint.org/docs/latest/rules/array-callback-return
669
+ */
670
+ 'array-callback-return'?: Linter.RuleEntry<ArrayCallbackReturn>
671
+ /**
672
+ * Enforce line breaks after each array element
673
+ * @see https://eslint.org/docs/latest/rules/array-element-newline
674
+ * @deprecated
675
+ */
676
+ 'array-element-newline'?: Linter.RuleEntry<ArrayElementNewline>
677
+ /**
678
+ * Require braces around arrow function bodies
679
+ * @see https://eslint.org/docs/latest/rules/arrow-body-style
680
+ */
681
+ 'arrow-body-style'?: Linter.RuleEntry<ArrowBodyStyle>
682
+ /**
683
+ * Require parentheses around arrow function arguments
684
+ * @see https://eslint.org/docs/latest/rules/arrow-parens
685
+ * @deprecated
686
+ */
687
+ 'arrow-parens'?: Linter.RuleEntry<ArrowParens>
688
+ /**
689
+ * Enforce consistent spacing before and after the arrow in arrow functions
690
+ * @see https://eslint.org/docs/latest/rules/arrow-spacing
691
+ * @deprecated
692
+ */
693
+ 'arrow-spacing'?: Linter.RuleEntry<ArrowSpacing>
694
+ /**
695
+ * Enforce the use of variables within the scope they are defined
696
+ * @see https://eslint.org/docs/latest/rules/block-scoped-var
697
+ */
698
+ 'block-scoped-var'?: Linter.RuleEntry<[]>
699
+ /**
700
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block
701
+ * @see https://eslint.org/docs/latest/rules/block-spacing
702
+ * @deprecated
703
+ */
704
+ 'block-spacing'?: Linter.RuleEntry<BlockSpacing>
705
+ /**
706
+ * Enforce consistent brace style for blocks
707
+ * @see https://eslint.org/docs/latest/rules/brace-style
708
+ * @deprecated
709
+ */
710
+ 'brace-style'?: Linter.RuleEntry<BraceStyle>
711
+ /**
712
+ * Require `return` statements after callbacks
713
+ * @see https://eslint.org/docs/latest/rules/callback-return
714
+ * @deprecated
715
+ */
716
+ 'callback-return'?: Linter.RuleEntry<CallbackReturn>
717
+ /**
718
+ * Enforce camelcase naming convention
719
+ * @see https://eslint.org/docs/latest/rules/camelcase
720
+ */
721
+ 'camelcase'?: Linter.RuleEntry<Camelcase>
722
+ /**
723
+ * Enforce or disallow capitalization of the first letter of a comment
724
+ * @see https://eslint.org/docs/latest/rules/capitalized-comments
725
+ */
726
+ 'capitalized-comments'?: Linter.RuleEntry<CapitalizedComments>
727
+ /**
728
+ * Enforce that class methods utilize `this`
729
+ * @see https://eslint.org/docs/latest/rules/class-methods-use-this
730
+ */
731
+ 'class-methods-use-this'?: Linter.RuleEntry<ClassMethodsUseThis>
732
+ /**
733
+ * Require or disallow trailing commas
734
+ * @see https://eslint.org/docs/latest/rules/comma-dangle
735
+ * @deprecated
736
+ */
737
+ 'comma-dangle'?: Linter.RuleEntry<CommaDangle>
738
+ /**
739
+ * Enforce consistent spacing before and after commas
740
+ * @see https://eslint.org/docs/latest/rules/comma-spacing
741
+ * @deprecated
742
+ */
743
+ 'comma-spacing'?: Linter.RuleEntry<CommaSpacing>
744
+ /**
745
+ * Enforce consistent comma style
746
+ * @see https://eslint.org/docs/latest/rules/comma-style
747
+ * @deprecated
748
+ */
749
+ 'comma-style'?: Linter.RuleEntry<CommaStyle>
649
750
  /**
650
751
  * Comment-as-command for one-off codemod with ESLint
651
752
  * @see https://github.com/antfu/eslint-plugin-command
652
753
  */
653
754
  'command/command'?: Linter.RuleEntry<[]>
755
+ /**
756
+ * Enforce a maximum cyclomatic complexity allowed in a program
757
+ * @see https://eslint.org/docs/latest/rules/complexity
758
+ */
759
+ 'complexity'?: Linter.RuleEntry<Complexity>
760
+ /**
761
+ * Enforce consistent spacing inside computed property brackets
762
+ * @see https://eslint.org/docs/latest/rules/computed-property-spacing
763
+ * @deprecated
764
+ */
765
+ 'computed-property-spacing'?: Linter.RuleEntry<ComputedPropertySpacing>
766
+ /**
767
+ * Require `return` statements to either always or never specify values
768
+ * @see https://eslint.org/docs/latest/rules/consistent-return
769
+ */
770
+ 'consistent-return'?: Linter.RuleEntry<ConsistentReturn>
771
+ /**
772
+ * Enforce consistent naming when capturing the current execution context
773
+ * @see https://eslint.org/docs/latest/rules/consistent-this
774
+ */
775
+ 'consistent-this'?: Linter.RuleEntry<ConsistentThis>
776
+ /**
777
+ * Require `super()` calls in constructors
778
+ * @see https://eslint.org/docs/latest/rules/constructor-super
779
+ */
780
+ 'constructor-super'?: Linter.RuleEntry<[]>
781
+ /**
782
+ * Enforce consistent brace style for all control statements
783
+ * @see https://eslint.org/docs/latest/rules/curly
784
+ */
785
+ 'curly'?: Linter.RuleEntry<Curly>
786
+ /**
787
+ * Require `default` cases in `switch` statements
788
+ * @see https://eslint.org/docs/latest/rules/default-case
789
+ */
790
+ 'default-case'?: Linter.RuleEntry<DefaultCase>
791
+ /**
792
+ * Enforce default clauses in switch statements to be last
793
+ * @see https://eslint.org/docs/latest/rules/default-case-last
794
+ */
795
+ 'default-case-last'?: Linter.RuleEntry<[]>
796
+ /**
797
+ * Enforce default parameters to be last
798
+ * @see https://eslint.org/docs/latest/rules/default-param-last
799
+ */
800
+ 'default-param-last'?: Linter.RuleEntry<[]>
801
+ /**
802
+ * Enforce consistent newlines before and after dots
803
+ * @see https://eslint.org/docs/latest/rules/dot-location
804
+ * @deprecated
805
+ */
806
+ 'dot-location'?: Linter.RuleEntry<DotLocation>
807
+ /**
808
+ * Enforce dot notation whenever possible
809
+ * @see https://eslint.org/docs/latest/rules/dot-notation
810
+ */
811
+ 'dot-notation'?: Linter.RuleEntry<DotNotation>
812
+ /**
813
+ * Require or disallow newline at the end of files
814
+ * @see https://eslint.org/docs/latest/rules/eol-last
815
+ * @deprecated
816
+ */
817
+ 'eol-last'?: Linter.RuleEntry<EolLast>
818
+ /**
819
+ * Require the use of `===` and `!==`
820
+ * @see https://eslint.org/docs/latest/rules/eqeqeq
821
+ */
822
+ 'eqeqeq'?: Linter.RuleEntry<Eqeqeq>
654
823
  /**
655
824
  * require a `eslint-enable` comment for every `eslint-disable` comment
656
825
  * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
@@ -696,6 +865,104 @@ export interface Rules {
696
865
  * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
697
866
  */
698
867
  'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
868
+ /**
869
+ * Enforce "for" loop update clause moving the counter in the right direction
870
+ * @see https://eslint.org/docs/latest/rules/for-direction
871
+ */
872
+ 'for-direction'?: Linter.RuleEntry<[]>
873
+ /**
874
+ * Require or disallow spacing between function identifiers and their invocations
875
+ * @see https://eslint.org/docs/latest/rules/func-call-spacing
876
+ * @deprecated
877
+ */
878
+ 'func-call-spacing'?: Linter.RuleEntry<FuncCallSpacing>
879
+ /**
880
+ * Require function names to match the name of the variable or property to which they are assigned
881
+ * @see https://eslint.org/docs/latest/rules/func-name-matching
882
+ */
883
+ 'func-name-matching'?: Linter.RuleEntry<FuncNameMatching>
884
+ /**
885
+ * Require or disallow named `function` expressions
886
+ * @see https://eslint.org/docs/latest/rules/func-names
887
+ */
888
+ 'func-names'?: Linter.RuleEntry<FuncNames>
889
+ /**
890
+ * Enforce the consistent use of either `function` declarations or expressions assigned to variables
891
+ * @see https://eslint.org/docs/latest/rules/func-style
892
+ */
893
+ 'func-style'?: Linter.RuleEntry<FuncStyle>
894
+ /**
895
+ * Enforce line breaks between arguments of a function call
896
+ * @see https://eslint.org/docs/latest/rules/function-call-argument-newline
897
+ * @deprecated
898
+ */
899
+ 'function-call-argument-newline'?: Linter.RuleEntry<FunctionCallArgumentNewline>
900
+ /**
901
+ * Enforce consistent line breaks inside function parentheses
902
+ * @see https://eslint.org/docs/latest/rules/function-paren-newline
903
+ * @deprecated
904
+ */
905
+ 'function-paren-newline'?: Linter.RuleEntry<FunctionParenNewline>
906
+ /**
907
+ * Enforce consistent spacing around `*` operators in generator functions
908
+ * @see https://eslint.org/docs/latest/rules/generator-star-spacing
909
+ * @deprecated
910
+ */
911
+ 'generator-star-spacing'?: Linter.RuleEntry<GeneratorStarSpacing>
912
+ /**
913
+ * Enforce `return` statements in getters
914
+ * @see https://eslint.org/docs/latest/rules/getter-return
915
+ */
916
+ 'getter-return'?: Linter.RuleEntry<GetterReturn>
917
+ /**
918
+ * Require `require()` calls to be placed at top-level module scope
919
+ * @see https://eslint.org/docs/latest/rules/global-require
920
+ * @deprecated
921
+ */
922
+ 'global-require'?: Linter.RuleEntry<[]>
923
+ /**
924
+ * Require grouped accessor pairs in object literals and classes
925
+ * @see https://eslint.org/docs/latest/rules/grouped-accessor-pairs
926
+ */
927
+ 'grouped-accessor-pairs'?: Linter.RuleEntry<GroupedAccessorPairs>
928
+ /**
929
+ * Require `for-in` loops to include an `if` statement
930
+ * @see https://eslint.org/docs/latest/rules/guard-for-in
931
+ */
932
+ 'guard-for-in'?: Linter.RuleEntry<[]>
933
+ /**
934
+ * Require error handling in callbacks
935
+ * @see https://eslint.org/docs/latest/rules/handle-callback-err
936
+ * @deprecated
937
+ */
938
+ 'handle-callback-err'?: Linter.RuleEntry<HandleCallbackErr>
939
+ /**
940
+ * Disallow specified identifiers
941
+ * @see https://eslint.org/docs/latest/rules/id-blacklist
942
+ * @deprecated
943
+ */
944
+ 'id-blacklist'?: Linter.RuleEntry<IdBlacklist>
945
+ /**
946
+ * Disallow specified identifiers
947
+ * @see https://eslint.org/docs/latest/rules/id-denylist
948
+ */
949
+ 'id-denylist'?: Linter.RuleEntry<IdDenylist>
950
+ /**
951
+ * Enforce minimum and maximum identifier lengths
952
+ * @see https://eslint.org/docs/latest/rules/id-length
953
+ */
954
+ 'id-length'?: Linter.RuleEntry<IdLength>
955
+ /**
956
+ * Require identifiers to match a specified regular expression
957
+ * @see https://eslint.org/docs/latest/rules/id-match
958
+ */
959
+ 'id-match'?: Linter.RuleEntry<IdMatch>
960
+ /**
961
+ * Enforce the location of arrow function bodies
962
+ * @see https://eslint.org/docs/latest/rules/implicit-arrow-linebreak
963
+ * @deprecated
964
+ */
965
+ 'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
699
966
  /**
700
967
  * Enforce or ban the use of inline type-only markers for named imports.
701
968
  * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.3.1/docs/rules/consistent-type-specifier-style.md
@@ -927,6 +1194,23 @@ export interface Rules {
927
1194
  * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.3.1/docs/rules/unambiguous.md
928
1195
  */
929
1196
  'import-x/unambiguous'?: Linter.RuleEntry<[]>
1197
+ /**
1198
+ * Enforce consistent indentation
1199
+ * @see https://eslint.org/docs/latest/rules/indent
1200
+ * @deprecated
1201
+ */
1202
+ 'indent'?: Linter.RuleEntry<Indent>
1203
+ /**
1204
+ * Enforce consistent indentation
1205
+ * @see https://eslint.org/docs/latest/rules/indent-legacy
1206
+ * @deprecated
1207
+ */
1208
+ 'indent-legacy'?: Linter.RuleEntry<IndentLegacy>
1209
+ /**
1210
+ * Require or disallow initialization in variable declarations
1211
+ * @see https://eslint.org/docs/latest/rules/init-declarations
1212
+ */
1213
+ 'init-declarations'?: Linter.RuleEntry<InitDeclarations>
930
1214
  /**
931
1215
  * Checks that `@access` tags have a valid value.
932
1216
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
@@ -1211,181 +1495,1417 @@ export interface Rules {
1211
1495
  */
1212
1496
  'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
1213
1497
  /**
1214
- * Enforce sorted arrays before include method.
1215
- * @see https://perfectionist.dev/rules/sort-array-includes
1498
+ * Enforce the consistent use of either double or single quotes in JSX attributes
1499
+ * @see https://eslint.org/docs/latest/rules/jsx-quotes
1500
+ * @deprecated
1216
1501
  */
1217
- 'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>
1502
+ 'jsx-quotes'?: Linter.RuleEntry<JsxQuotes>
1218
1503
  /**
1219
- * Enforce sorted Astro attributes.
1220
- * @see https://perfectionist.dev/rules/sort-astro-attributes
1504
+ * Enforce consistent spacing between keys and values in object literal properties
1505
+ * @see https://eslint.org/docs/latest/rules/key-spacing
1506
+ * @deprecated
1221
1507
  */
1222
- 'perfectionist/sort-astro-attributes'?: Linter.RuleEntry<PerfectionistSortAstroAttributes>
1508
+ 'key-spacing'?: Linter.RuleEntry<KeySpacing>
1223
1509
  /**
1224
- * Enforce sorted classes.
1225
- * @see https://perfectionist.dev/rules/sort-classes
1510
+ * Enforce consistent spacing before and after keywords
1511
+ * @see https://eslint.org/docs/latest/rules/keyword-spacing
1512
+ * @deprecated
1226
1513
  */
1227
- 'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>
1514
+ 'keyword-spacing'?: Linter.RuleEntry<KeywordSpacing>
1228
1515
  /**
1229
- * Enforce sorted TypeScript enums.
1230
- * @see https://perfectionist.dev/rules/sort-enums
1516
+ * Enforce position of line comments
1517
+ * @see https://eslint.org/docs/latest/rules/line-comment-position
1518
+ * @deprecated
1231
1519
  */
1232
- 'perfectionist/sort-enums'?: Linter.RuleEntry<PerfectionistSortEnums>
1520
+ 'line-comment-position'?: Linter.RuleEntry<LineCommentPosition>
1233
1521
  /**
1234
- * Enforce sorted exports.
1235
- * @see https://perfectionist.dev/rules/sort-exports
1522
+ * Enforce consistent linebreak style
1523
+ * @see https://eslint.org/docs/latest/rules/linebreak-style
1524
+ * @deprecated
1236
1525
  */
1237
- 'perfectionist/sort-exports'?: Linter.RuleEntry<PerfectionistSortExports>
1526
+ 'linebreak-style'?: Linter.RuleEntry<LinebreakStyle>
1238
1527
  /**
1239
- * Enforce sorted imports.
1240
- * @see https://perfectionist.dev/rules/sort-imports
1528
+ * Require empty lines around comments
1529
+ * @see https://eslint.org/docs/latest/rules/lines-around-comment
1530
+ * @deprecated
1241
1531
  */
1242
- 'perfectionist/sort-imports'?: Linter.RuleEntry<PerfectionistSortImports>
1532
+ 'lines-around-comment'?: Linter.RuleEntry<LinesAroundComment>
1243
1533
  /**
1244
- * Enforce sorted interface properties.
1245
- * @see https://perfectionist.dev/rules/sort-interfaces
1534
+ * Require or disallow newlines around directives
1535
+ * @see https://eslint.org/docs/latest/rules/lines-around-directive
1536
+ * @deprecated
1246
1537
  */
1247
- 'perfectionist/sort-interfaces'?: Linter.RuleEntry<PerfectionistSortInterfaces>
1538
+ 'lines-around-directive'?: Linter.RuleEntry<LinesAroundDirective>
1248
1539
  /**
1249
- * Enforce sorted intersection types.
1250
- * @see https://perfectionist.dev/rules/sort-intersection-types
1540
+ * Require or disallow an empty line between class members
1541
+ * @see https://eslint.org/docs/latest/rules/lines-between-class-members
1542
+ * @deprecated
1251
1543
  */
1252
- 'perfectionist/sort-intersection-types'?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>
1544
+ 'lines-between-class-members'?: Linter.RuleEntry<LinesBetweenClassMembers>
1253
1545
  /**
1254
- * Enforce sorted JSX props.
1255
- * @see https://perfectionist.dev/rules/sort-jsx-props
1546
+ * Require or disallow logical assignment operator shorthand
1547
+ * @see https://eslint.org/docs/latest/rules/logical-assignment-operators
1256
1548
  */
1257
- 'perfectionist/sort-jsx-props'?: Linter.RuleEntry<PerfectionistSortJsxProps>
1549
+ 'logical-assignment-operators'?: Linter.RuleEntry<LogicalAssignmentOperators>
1258
1550
  /**
1259
- * Enforce sorted Map elements.
1260
- * @see https://perfectionist.dev/rules/sort-maps
1551
+ * Enforce a maximum number of classes per file
1552
+ * @see https://eslint.org/docs/latest/rules/max-classes-per-file
1261
1553
  */
1262
- 'perfectionist/sort-maps'?: Linter.RuleEntry<PerfectionistSortMaps>
1554
+ 'max-classes-per-file'?: Linter.RuleEntry<MaxClassesPerFile>
1263
1555
  /**
1264
- * Enforce sorted named exports.
1265
- * @see https://perfectionist.dev/rules/sort-named-exports
1556
+ * Enforce a maximum depth that blocks can be nested
1557
+ * @see https://eslint.org/docs/latest/rules/max-depth
1266
1558
  */
1267
- 'perfectionist/sort-named-exports'?: Linter.RuleEntry<PerfectionistSortNamedExports>
1559
+ 'max-depth'?: Linter.RuleEntry<MaxDepth>
1268
1560
  /**
1269
- * Enforce sorted named imports.
1270
- * @see https://perfectionist.dev/rules/sort-named-imports
1561
+ * Enforce a maximum line length
1562
+ * @see https://eslint.org/docs/latest/rules/max-len
1563
+ * @deprecated
1271
1564
  */
1272
- 'perfectionist/sort-named-imports'?: Linter.RuleEntry<PerfectionistSortNamedImports>
1565
+ 'max-len'?: Linter.RuleEntry<MaxLen>
1273
1566
  /**
1274
- * Enforce sorted object types.
1275
- * @see https://perfectionist.dev/rules/sort-object-types
1567
+ * Enforce a maximum number of lines per file
1568
+ * @see https://eslint.org/docs/latest/rules/max-lines
1276
1569
  */
1277
- 'perfectionist/sort-object-types'?: Linter.RuleEntry<PerfectionistSortObjectTypes>
1570
+ 'max-lines'?: Linter.RuleEntry<MaxLines>
1278
1571
  /**
1279
- * Enforce sorted objects.
1280
- * @see https://perfectionist.dev/rules/sort-objects
1572
+ * Enforce a maximum number of lines of code in a function
1573
+ * @see https://eslint.org/docs/latest/rules/max-lines-per-function
1281
1574
  */
1282
- 'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>
1575
+ 'max-lines-per-function'?: Linter.RuleEntry<MaxLinesPerFunction>
1283
1576
  /**
1284
- * Enforce sorted sets.
1285
- * @see https://perfectionist.dev/rules/sort-sets
1577
+ * Enforce a maximum depth that callbacks can be nested
1578
+ * @see https://eslint.org/docs/latest/rules/max-nested-callbacks
1286
1579
  */
1287
- 'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>
1580
+ 'max-nested-callbacks'?: Linter.RuleEntry<MaxNestedCallbacks>
1288
1581
  /**
1289
- * Enforce sorted Svelte attributes.
1290
- * @see https://perfectionist.dev/rules/sort-svelte-attributes
1582
+ * Enforce a maximum number of parameters in function definitions
1583
+ * @see https://eslint.org/docs/latest/rules/max-params
1291
1584
  */
1292
- 'perfectionist/sort-svelte-attributes'?: Linter.RuleEntry<PerfectionistSortSvelteAttributes>
1585
+ 'max-params'?: Linter.RuleEntry<MaxParams>
1293
1586
  /**
1294
- * Enforce sorted switch cases.
1295
- * @see https://perfectionist.dev/rules/sort-switch-case
1587
+ * Enforce a maximum number of statements allowed in function blocks
1588
+ * @see https://eslint.org/docs/latest/rules/max-statements
1296
1589
  */
1297
- 'perfectionist/sort-switch-case'?: Linter.RuleEntry<PerfectionistSortSwitchCase>
1590
+ 'max-statements'?: Linter.RuleEntry<MaxStatements>
1298
1591
  /**
1299
- * Enforce sorted union types.
1300
- * @see https://perfectionist.dev/rules/sort-union-types
1592
+ * Enforce a maximum number of statements allowed per line
1593
+ * @see https://eslint.org/docs/latest/rules/max-statements-per-line
1594
+ * @deprecated
1301
1595
  */
1302
- 'perfectionist/sort-union-types'?: Linter.RuleEntry<PerfectionistSortUnionTypes>
1596
+ 'max-statements-per-line'?: Linter.RuleEntry<MaxStatementsPerLine>
1303
1597
  /**
1304
- * Enforce sorted variable declarations.
1305
- * @see https://perfectionist.dev/rules/sort-variable-declarations
1598
+ * Enforce a particular style for multiline comments
1599
+ * @see https://eslint.org/docs/latest/rules/multiline-comment-style
1600
+ * @deprecated
1306
1601
  */
1307
- 'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>
1602
+ 'multiline-comment-style'?: Linter.RuleEntry<MultilineCommentStyle>
1308
1603
  /**
1309
- * Enforce sorted Vue attributes.
1310
- * @see https://perfectionist.dev/rules/sort-vue-attributes
1604
+ * Enforce newlines between operands of ternary expressions
1605
+ * @see https://eslint.org/docs/latest/rules/multiline-ternary
1606
+ * @deprecated
1311
1607
  */
1312
- 'perfectionist/sort-vue-attributes'?: Linter.RuleEntry<PerfectionistSortVueAttributes>
1608
+ 'multiline-ternary'?: Linter.RuleEntry<MultilineTernary>
1313
1609
  /**
1314
- * Disallow unused variables
1315
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
1610
+ * Require constructor names to begin with a capital letter
1611
+ * @see https://eslint.org/docs/latest/rules/new-cap
1316
1612
  */
1317
- 'unused-imports/no-unused-imports'?: Linter.RuleEntry<UnusedImportsNoUnusedImports>
1613
+ 'new-cap'?: Linter.RuleEntry<NewCap>
1318
1614
  /**
1319
- * Disallow unused variables
1320
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-vars.md
1615
+ * Enforce or disallow parentheses when invoking a constructor with no arguments
1616
+ * @see https://eslint.org/docs/latest/rules/new-parens
1617
+ * @deprecated
1321
1618
  */
1322
- 'unused-imports/no-unused-vars'?: Linter.RuleEntry<UnusedImportsNoUnusedVars>
1619
+ 'new-parens'?: Linter.RuleEntry<NewParens>
1323
1620
  /**
1324
- * require .spec test file pattern
1325
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
1621
+ * Require or disallow an empty line after variable declarations
1622
+ * @see https://eslint.org/docs/latest/rules/newline-after-var
1623
+ * @deprecated
1326
1624
  */
1327
- 'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>
1625
+ 'newline-after-var'?: Linter.RuleEntry<NewlineAfterVar>
1328
1626
  /**
1329
- * enforce using test or it but not both
1330
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
1627
+ * Require an empty line before `return` statements
1628
+ * @see https://eslint.org/docs/latest/rules/newline-before-return
1629
+ * @deprecated
1331
1630
  */
1332
- 'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>
1631
+ 'newline-before-return'?: Linter.RuleEntry<[]>
1333
1632
  /**
1334
- * enforce having expectation in test body
1335
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
1633
+ * Require a newline after each call in a method chain
1634
+ * @see https://eslint.org/docs/latest/rules/newline-per-chained-call
1635
+ * @deprecated
1336
1636
  */
1337
- 'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>
1637
+ 'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>
1338
1638
  /**
1339
- * enforce a maximum number of expect per test
1340
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
1639
+ * Disallow the use of `alert`, `confirm`, and `prompt`
1640
+ * @see https://eslint.org/docs/latest/rules/no-alert
1341
1641
  */
1342
- 'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>
1642
+ 'no-alert'?: Linter.RuleEntry<[]>
1343
1643
  /**
1344
- * require describe block to be less than set max value or default value
1345
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
1644
+ * Disallow `Array` constructors
1645
+ * @see https://eslint.org/docs/latest/rules/no-array-constructor
1346
1646
  */
1347
- 'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>
1647
+ 'no-array-constructor'?: Linter.RuleEntry<[]>
1348
1648
  /**
1349
- * disallow alias methods
1350
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
1649
+ * Disallow using an async function as a Promise executor
1650
+ * @see https://eslint.org/docs/latest/rules/no-async-promise-executor
1351
1651
  */
1352
- 'vitest/no-alias-methods'?: Linter.RuleEntry<[]>
1652
+ 'no-async-promise-executor'?: Linter.RuleEntry<[]>
1353
1653
  /**
1354
- * disallow commented out tests
1355
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
1654
+ * Disallow `await` inside of loops
1655
+ * @see https://eslint.org/docs/latest/rules/no-await-in-loop
1356
1656
  */
1357
- 'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>
1657
+ 'no-await-in-loop'?: Linter.RuleEntry<[]>
1358
1658
  /**
1359
- * disallow conditional expects
1360
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
1659
+ * Disallow bitwise operators
1660
+ * @see https://eslint.org/docs/latest/rules/no-bitwise
1361
1661
  */
1362
- 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
1662
+ 'no-bitwise'?: Linter.RuleEntry<NoBitwise>
1363
1663
  /**
1364
- * disallow conditional tests
1365
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
1664
+ * Disallow use of the `Buffer()` constructor
1665
+ * @see https://eslint.org/docs/latest/rules/no-buffer-constructor
1666
+ * @deprecated
1366
1667
  */
1367
- 'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>
1668
+ 'no-buffer-constructor'?: Linter.RuleEntry<[]>
1368
1669
  /**
1369
- * disallow conditional tests
1370
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
1670
+ * Disallow the use of `arguments.caller` or `arguments.callee`
1671
+ * @see https://eslint.org/docs/latest/rules/no-caller
1371
1672
  */
1372
- 'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>
1673
+ 'no-caller'?: Linter.RuleEntry<[]>
1373
1674
  /**
1374
- * disallow disabled tests
1375
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
1675
+ * Disallow lexical declarations in case clauses
1676
+ * @see https://eslint.org/docs/latest/rules/no-case-declarations
1376
1677
  */
1377
- 'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>
1678
+ 'no-case-declarations'?: Linter.RuleEntry<[]>
1378
1679
  /**
1379
- * disallow using a callback in asynchronous tests and hooks
1380
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
1680
+ * Disallow `catch` clause parameters from shadowing variables in the outer scope
1681
+ * @see https://eslint.org/docs/latest/rules/no-catch-shadow
1381
1682
  * @deprecated
1382
1683
  */
1383
- 'vitest/no-done-callback'?: Linter.RuleEntry<[]>
1684
+ 'no-catch-shadow'?: Linter.RuleEntry<[]>
1384
1685
  /**
1385
- * disallow duplicate hooks and teardown hooks
1386
- * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
1686
+ * Disallow reassigning class members
1687
+ * @see https://eslint.org/docs/latest/rules/no-class-assign
1387
1688
  */
1388
- 'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>
1689
+ 'no-class-assign'?: Linter.RuleEntry<[]>
1690
+ /**
1691
+ * Disallow comparing against -0
1692
+ * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
1693
+ */
1694
+ 'no-compare-neg-zero'?: Linter.RuleEntry<[]>
1695
+ /**
1696
+ * Disallow assignment operators in conditional expressions
1697
+ * @see https://eslint.org/docs/latest/rules/no-cond-assign
1698
+ */
1699
+ 'no-cond-assign'?: Linter.RuleEntry<NoCondAssign>
1700
+ /**
1701
+ * Disallow arrow functions where they could be confused with comparisons
1702
+ * @see https://eslint.org/docs/latest/rules/no-confusing-arrow
1703
+ * @deprecated
1704
+ */
1705
+ 'no-confusing-arrow'?: Linter.RuleEntry<NoConfusingArrow>
1706
+ /**
1707
+ * Disallow the use of `console`
1708
+ * @see https://eslint.org/docs/latest/rules/no-console
1709
+ */
1710
+ 'no-console'?: Linter.RuleEntry<NoConsole>
1711
+ /**
1712
+ * Disallow reassigning `const` variables
1713
+ * @see https://eslint.org/docs/latest/rules/no-const-assign
1714
+ */
1715
+ 'no-const-assign'?: Linter.RuleEntry<[]>
1716
+ /**
1717
+ * Disallow expressions where the operation doesn't affect the value
1718
+ * @see https://eslint.org/docs/latest/rules/no-constant-binary-expression
1719
+ */
1720
+ 'no-constant-binary-expression'?: Linter.RuleEntry<[]>
1721
+ /**
1722
+ * Disallow constant expressions in conditions
1723
+ * @see https://eslint.org/docs/latest/rules/no-constant-condition
1724
+ */
1725
+ 'no-constant-condition'?: Linter.RuleEntry<NoConstantCondition>
1726
+ /**
1727
+ * Disallow returning value from constructor
1728
+ * @see https://eslint.org/docs/latest/rules/no-constructor-return
1729
+ */
1730
+ 'no-constructor-return'?: Linter.RuleEntry<[]>
1731
+ /**
1732
+ * Disallow `continue` statements
1733
+ * @see https://eslint.org/docs/latest/rules/no-continue
1734
+ */
1735
+ 'no-continue'?: Linter.RuleEntry<[]>
1736
+ /**
1737
+ * Disallow control characters in regular expressions
1738
+ * @see https://eslint.org/docs/latest/rules/no-control-regex
1739
+ */
1740
+ 'no-control-regex'?: Linter.RuleEntry<[]>
1741
+ /**
1742
+ * Disallow the use of `debugger`
1743
+ * @see https://eslint.org/docs/latest/rules/no-debugger
1744
+ */
1745
+ 'no-debugger'?: Linter.RuleEntry<[]>
1746
+ /**
1747
+ * Disallow deleting variables
1748
+ * @see https://eslint.org/docs/latest/rules/no-delete-var
1749
+ */
1750
+ 'no-delete-var'?: Linter.RuleEntry<[]>
1751
+ /**
1752
+ * Disallow equal signs explicitly at the beginning of regular expressions
1753
+ * @see https://eslint.org/docs/latest/rules/no-div-regex
1754
+ */
1755
+ 'no-div-regex'?: Linter.RuleEntry<[]>
1756
+ /**
1757
+ * Disallow duplicate arguments in `function` definitions
1758
+ * @see https://eslint.org/docs/latest/rules/no-dupe-args
1759
+ */
1760
+ 'no-dupe-args'?: Linter.RuleEntry<[]>
1761
+ /**
1762
+ * Disallow duplicate class members
1763
+ * @see https://eslint.org/docs/latest/rules/no-dupe-class-members
1764
+ */
1765
+ 'no-dupe-class-members'?: Linter.RuleEntry<[]>
1766
+ /**
1767
+ * Disallow duplicate conditions in if-else-if chains
1768
+ * @see https://eslint.org/docs/latest/rules/no-dupe-else-if
1769
+ */
1770
+ 'no-dupe-else-if'?: Linter.RuleEntry<[]>
1771
+ /**
1772
+ * Disallow duplicate keys in object literals
1773
+ * @see https://eslint.org/docs/latest/rules/no-dupe-keys
1774
+ */
1775
+ 'no-dupe-keys'?: Linter.RuleEntry<[]>
1776
+ /**
1777
+ * Disallow duplicate case labels
1778
+ * @see https://eslint.org/docs/latest/rules/no-duplicate-case
1779
+ */
1780
+ 'no-duplicate-case'?: Linter.RuleEntry<[]>
1781
+ /**
1782
+ * Disallow duplicate module imports
1783
+ * @see https://eslint.org/docs/latest/rules/no-duplicate-imports
1784
+ */
1785
+ 'no-duplicate-imports'?: Linter.RuleEntry<NoDuplicateImports>
1786
+ /**
1787
+ * Disallow `else` blocks after `return` statements in `if` statements
1788
+ * @see https://eslint.org/docs/latest/rules/no-else-return
1789
+ */
1790
+ 'no-else-return'?: Linter.RuleEntry<NoElseReturn>
1791
+ /**
1792
+ * Disallow empty block statements
1793
+ * @see https://eslint.org/docs/latest/rules/no-empty
1794
+ */
1795
+ 'no-empty'?: Linter.RuleEntry<NoEmpty>
1796
+ /**
1797
+ * Disallow empty character classes in regular expressions
1798
+ * @see https://eslint.org/docs/latest/rules/no-empty-character-class
1799
+ */
1800
+ 'no-empty-character-class'?: Linter.RuleEntry<[]>
1801
+ /**
1802
+ * Disallow empty functions
1803
+ * @see https://eslint.org/docs/latest/rules/no-empty-function
1804
+ */
1805
+ 'no-empty-function'?: Linter.RuleEntry<NoEmptyFunction>
1806
+ /**
1807
+ * Disallow empty destructuring patterns
1808
+ * @see https://eslint.org/docs/latest/rules/no-empty-pattern
1809
+ */
1810
+ 'no-empty-pattern'?: Linter.RuleEntry<NoEmptyPattern>
1811
+ /**
1812
+ * Disallow empty static blocks
1813
+ * @see https://eslint.org/docs/latest/rules/no-empty-static-block
1814
+ */
1815
+ 'no-empty-static-block'?: Linter.RuleEntry<[]>
1816
+ /**
1817
+ * Disallow `null` comparisons without type-checking operators
1818
+ * @see https://eslint.org/docs/latest/rules/no-eq-null
1819
+ */
1820
+ 'no-eq-null'?: Linter.RuleEntry<[]>
1821
+ /**
1822
+ * Disallow the use of `eval()`
1823
+ * @see https://eslint.org/docs/latest/rules/no-eval
1824
+ */
1825
+ 'no-eval'?: Linter.RuleEntry<NoEval>
1826
+ /**
1827
+ * Disallow reassigning exceptions in `catch` clauses
1828
+ * @see https://eslint.org/docs/latest/rules/no-ex-assign
1829
+ */
1830
+ 'no-ex-assign'?: Linter.RuleEntry<[]>
1831
+ /**
1832
+ * Disallow extending native types
1833
+ * @see https://eslint.org/docs/latest/rules/no-extend-native
1834
+ */
1835
+ 'no-extend-native'?: Linter.RuleEntry<NoExtendNative>
1836
+ /**
1837
+ * Disallow unnecessary calls to `.bind()`
1838
+ * @see https://eslint.org/docs/latest/rules/no-extra-bind
1839
+ */
1840
+ 'no-extra-bind'?: Linter.RuleEntry<[]>
1841
+ /**
1842
+ * Disallow unnecessary boolean casts
1843
+ * @see https://eslint.org/docs/latest/rules/no-extra-boolean-cast
1844
+ */
1845
+ 'no-extra-boolean-cast'?: Linter.RuleEntry<NoExtraBooleanCast>
1846
+ /**
1847
+ * Disallow unnecessary labels
1848
+ * @see https://eslint.org/docs/latest/rules/no-extra-label
1849
+ */
1850
+ 'no-extra-label'?: Linter.RuleEntry<[]>
1851
+ /**
1852
+ * Disallow unnecessary parentheses
1853
+ * @see https://eslint.org/docs/latest/rules/no-extra-parens
1854
+ * @deprecated
1855
+ */
1856
+ 'no-extra-parens'?: Linter.RuleEntry<NoExtraParens>
1857
+ /**
1858
+ * Disallow unnecessary semicolons
1859
+ * @see https://eslint.org/docs/latest/rules/no-extra-semi
1860
+ * @deprecated
1861
+ */
1862
+ 'no-extra-semi'?: Linter.RuleEntry<[]>
1863
+ /**
1864
+ * Disallow fallthrough of `case` statements
1865
+ * @see https://eslint.org/docs/latest/rules/no-fallthrough
1866
+ */
1867
+ 'no-fallthrough'?: Linter.RuleEntry<NoFallthrough>
1868
+ /**
1869
+ * Disallow leading or trailing decimal points in numeric literals
1870
+ * @see https://eslint.org/docs/latest/rules/no-floating-decimal
1871
+ * @deprecated
1872
+ */
1873
+ 'no-floating-decimal'?: Linter.RuleEntry<[]>
1874
+ /**
1875
+ * Disallow reassigning `function` declarations
1876
+ * @see https://eslint.org/docs/latest/rules/no-func-assign
1877
+ */
1878
+ 'no-func-assign'?: Linter.RuleEntry<[]>
1879
+ /**
1880
+ * Disallow assignments to native objects or read-only global variables
1881
+ * @see https://eslint.org/docs/latest/rules/no-global-assign
1882
+ */
1883
+ 'no-global-assign'?: Linter.RuleEntry<NoGlobalAssign>
1884
+ /**
1885
+ * Disallow shorthand type conversions
1886
+ * @see https://eslint.org/docs/latest/rules/no-implicit-coercion
1887
+ */
1888
+ 'no-implicit-coercion'?: Linter.RuleEntry<NoImplicitCoercion>
1889
+ /**
1890
+ * Disallow declarations in the global scope
1891
+ * @see https://eslint.org/docs/latest/rules/no-implicit-globals
1892
+ */
1893
+ 'no-implicit-globals'?: Linter.RuleEntry<NoImplicitGlobals>
1894
+ /**
1895
+ * Disallow the use of `eval()`-like methods
1896
+ * @see https://eslint.org/docs/latest/rules/no-implied-eval
1897
+ */
1898
+ 'no-implied-eval'?: Linter.RuleEntry<[]>
1899
+ /**
1900
+ * Disallow assigning to imported bindings
1901
+ * @see https://eslint.org/docs/latest/rules/no-import-assign
1902
+ */
1903
+ 'no-import-assign'?: Linter.RuleEntry<[]>
1904
+ /**
1905
+ * Disallow inline comments after code
1906
+ * @see https://eslint.org/docs/latest/rules/no-inline-comments
1907
+ */
1908
+ 'no-inline-comments'?: Linter.RuleEntry<NoInlineComments>
1909
+ /**
1910
+ * Disallow variable or `function` declarations in nested blocks
1911
+ * @see https://eslint.org/docs/latest/rules/no-inner-declarations
1912
+ */
1913
+ 'no-inner-declarations'?: Linter.RuleEntry<NoInnerDeclarations>
1914
+ /**
1915
+ * Disallow invalid regular expression strings in `RegExp` constructors
1916
+ * @see https://eslint.org/docs/latest/rules/no-invalid-regexp
1917
+ */
1918
+ 'no-invalid-regexp'?: Linter.RuleEntry<NoInvalidRegexp>
1919
+ /**
1920
+ * Disallow use of `this` in contexts where the value of `this` is `undefined`
1921
+ * @see https://eslint.org/docs/latest/rules/no-invalid-this
1922
+ */
1923
+ 'no-invalid-this'?: Linter.RuleEntry<NoInvalidThis>
1924
+ /**
1925
+ * Disallow irregular whitespace
1926
+ * @see https://eslint.org/docs/latest/rules/no-irregular-whitespace
1927
+ */
1928
+ 'no-irregular-whitespace'?: Linter.RuleEntry<NoIrregularWhitespace>
1929
+ /**
1930
+ * Disallow the use of the `__iterator__` property
1931
+ * @see https://eslint.org/docs/latest/rules/no-iterator
1932
+ */
1933
+ 'no-iterator'?: Linter.RuleEntry<[]>
1934
+ /**
1935
+ * Disallow labels that share a name with a variable
1936
+ * @see https://eslint.org/docs/latest/rules/no-label-var
1937
+ */
1938
+ 'no-label-var'?: Linter.RuleEntry<[]>
1939
+ /**
1940
+ * Disallow labeled statements
1941
+ * @see https://eslint.org/docs/latest/rules/no-labels
1942
+ */
1943
+ 'no-labels'?: Linter.RuleEntry<NoLabels>
1944
+ /**
1945
+ * Disallow unnecessary nested blocks
1946
+ * @see https://eslint.org/docs/latest/rules/no-lone-blocks
1947
+ */
1948
+ 'no-lone-blocks'?: Linter.RuleEntry<[]>
1949
+ /**
1950
+ * Disallow `if` statements as the only statement in `else` blocks
1951
+ * @see https://eslint.org/docs/latest/rules/no-lonely-if
1952
+ */
1953
+ 'no-lonely-if'?: Linter.RuleEntry<[]>
1954
+ /**
1955
+ * Disallow function declarations that contain unsafe references inside loop statements
1956
+ * @see https://eslint.org/docs/latest/rules/no-loop-func
1957
+ */
1958
+ 'no-loop-func'?: Linter.RuleEntry<[]>
1959
+ /**
1960
+ * Disallow literal numbers that lose precision
1961
+ * @see https://eslint.org/docs/latest/rules/no-loss-of-precision
1962
+ */
1963
+ 'no-loss-of-precision'?: Linter.RuleEntry<[]>
1964
+ /**
1965
+ * Disallow magic numbers
1966
+ * @see https://eslint.org/docs/latest/rules/no-magic-numbers
1967
+ */
1968
+ 'no-magic-numbers'?: Linter.RuleEntry<NoMagicNumbers>
1969
+ /**
1970
+ * Disallow characters which are made with multiple code points in character class syntax
1971
+ * @see https://eslint.org/docs/latest/rules/no-misleading-character-class
1972
+ */
1973
+ 'no-misleading-character-class'?: Linter.RuleEntry<NoMisleadingCharacterClass>
1974
+ /**
1975
+ * Disallow mixed binary operators
1976
+ * @see https://eslint.org/docs/latest/rules/no-mixed-operators
1977
+ * @deprecated
1978
+ */
1979
+ 'no-mixed-operators'?: Linter.RuleEntry<NoMixedOperators>
1980
+ /**
1981
+ * Disallow `require` calls to be mixed with regular variable declarations
1982
+ * @see https://eslint.org/docs/latest/rules/no-mixed-requires
1983
+ * @deprecated
1984
+ */
1985
+ 'no-mixed-requires'?: Linter.RuleEntry<NoMixedRequires>
1986
+ /**
1987
+ * Disallow mixed spaces and tabs for indentation
1988
+ * @see https://eslint.org/docs/latest/rules/no-mixed-spaces-and-tabs
1989
+ * @deprecated
1990
+ */
1991
+ 'no-mixed-spaces-and-tabs'?: Linter.RuleEntry<NoMixedSpacesAndTabs>
1992
+ /**
1993
+ * Disallow use of chained assignment expressions
1994
+ * @see https://eslint.org/docs/latest/rules/no-multi-assign
1995
+ */
1996
+ 'no-multi-assign'?: Linter.RuleEntry<NoMultiAssign>
1997
+ /**
1998
+ * Disallow multiple spaces
1999
+ * @see https://eslint.org/docs/latest/rules/no-multi-spaces
2000
+ * @deprecated
2001
+ */
2002
+ 'no-multi-spaces'?: Linter.RuleEntry<NoMultiSpaces>
2003
+ /**
2004
+ * Disallow multiline strings
2005
+ * @see https://eslint.org/docs/latest/rules/no-multi-str
2006
+ */
2007
+ 'no-multi-str'?: Linter.RuleEntry<[]>
2008
+ /**
2009
+ * Disallow multiple empty lines
2010
+ * @see https://eslint.org/docs/latest/rules/no-multiple-empty-lines
2011
+ * @deprecated
2012
+ */
2013
+ 'no-multiple-empty-lines'?: Linter.RuleEntry<NoMultipleEmptyLines>
2014
+ /**
2015
+ * Disallow assignments to native objects or read-only global variables
2016
+ * @see https://eslint.org/docs/latest/rules/no-native-reassign
2017
+ * @deprecated
2018
+ */
2019
+ 'no-native-reassign'?: Linter.RuleEntry<NoNativeReassign>
2020
+ /**
2021
+ * Disallow negated conditions
2022
+ * @see https://eslint.org/docs/latest/rules/no-negated-condition
2023
+ */
2024
+ 'no-negated-condition'?: Linter.RuleEntry<[]>
2025
+ /**
2026
+ * Disallow negating the left operand in `in` expressions
2027
+ * @see https://eslint.org/docs/latest/rules/no-negated-in-lhs
2028
+ * @deprecated
2029
+ */
2030
+ 'no-negated-in-lhs'?: Linter.RuleEntry<[]>
2031
+ /**
2032
+ * Disallow nested ternary expressions
2033
+ * @see https://eslint.org/docs/latest/rules/no-nested-ternary
2034
+ */
2035
+ 'no-nested-ternary'?: Linter.RuleEntry<[]>
2036
+ /**
2037
+ * Disallow `new` operators outside of assignments or comparisons
2038
+ * @see https://eslint.org/docs/latest/rules/no-new
2039
+ */
2040
+ 'no-new'?: Linter.RuleEntry<[]>
2041
+ /**
2042
+ * Disallow `new` operators with the `Function` object
2043
+ * @see https://eslint.org/docs/latest/rules/no-new-func
2044
+ */
2045
+ 'no-new-func'?: Linter.RuleEntry<[]>
2046
+ /**
2047
+ * Disallow `new` operators with global non-constructor functions
2048
+ * @see https://eslint.org/docs/latest/rules/no-new-native-nonconstructor
2049
+ */
2050
+ 'no-new-native-nonconstructor'?: Linter.RuleEntry<[]>
2051
+ /**
2052
+ * Disallow `Object` constructors
2053
+ * @see https://eslint.org/docs/latest/rules/no-new-object
2054
+ * @deprecated
2055
+ */
2056
+ 'no-new-object'?: Linter.RuleEntry<[]>
2057
+ /**
2058
+ * Disallow `new` operators with calls to `require`
2059
+ * @see https://eslint.org/docs/latest/rules/no-new-require
2060
+ * @deprecated
2061
+ */
2062
+ 'no-new-require'?: Linter.RuleEntry<[]>
2063
+ /**
2064
+ * Disallow `new` operators with the `Symbol` object
2065
+ * @see https://eslint.org/docs/latest/rules/no-new-symbol
2066
+ * @deprecated
2067
+ */
2068
+ 'no-new-symbol'?: Linter.RuleEntry<[]>
2069
+ /**
2070
+ * Disallow `new` operators with the `String`, `Number`, and `Boolean` objects
2071
+ * @see https://eslint.org/docs/latest/rules/no-new-wrappers
2072
+ */
2073
+ 'no-new-wrappers'?: Linter.RuleEntry<[]>
2074
+ /**
2075
+ * Disallow `\8` and `\9` escape sequences in string literals
2076
+ * @see https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape
2077
+ */
2078
+ 'no-nonoctal-decimal-escape'?: Linter.RuleEntry<[]>
2079
+ /**
2080
+ * Disallow calling global object properties as functions
2081
+ * @see https://eslint.org/docs/latest/rules/no-obj-calls
2082
+ */
2083
+ 'no-obj-calls'?: Linter.RuleEntry<[]>
2084
+ /**
2085
+ * Disallow calls to the `Object` constructor without an argument
2086
+ * @see https://eslint.org/docs/latest/rules/no-object-constructor
2087
+ */
2088
+ 'no-object-constructor'?: Linter.RuleEntry<[]>
2089
+ /**
2090
+ * Disallow octal literals
2091
+ * @see https://eslint.org/docs/latest/rules/no-octal
2092
+ */
2093
+ 'no-octal'?: Linter.RuleEntry<[]>
2094
+ /**
2095
+ * Disallow octal escape sequences in string literals
2096
+ * @see https://eslint.org/docs/latest/rules/no-octal-escape
2097
+ */
2098
+ 'no-octal-escape'?: Linter.RuleEntry<[]>
2099
+ /**
2100
+ * Disallow reassigning `function` parameters
2101
+ * @see https://eslint.org/docs/latest/rules/no-param-reassign
2102
+ */
2103
+ 'no-param-reassign'?: Linter.RuleEntry<NoParamReassign>
2104
+ /**
2105
+ * Disallow string concatenation with `__dirname` and `__filename`
2106
+ * @see https://eslint.org/docs/latest/rules/no-path-concat
2107
+ * @deprecated
2108
+ */
2109
+ 'no-path-concat'?: Linter.RuleEntry<[]>
2110
+ /**
2111
+ * Disallow the unary operators `++` and `--`
2112
+ * @see https://eslint.org/docs/latest/rules/no-plusplus
2113
+ */
2114
+ 'no-plusplus'?: Linter.RuleEntry<NoPlusplus>
2115
+ /**
2116
+ * Disallow the use of `process.env`
2117
+ * @see https://eslint.org/docs/latest/rules/no-process-env
2118
+ * @deprecated
2119
+ */
2120
+ 'no-process-env'?: Linter.RuleEntry<[]>
2121
+ /**
2122
+ * Disallow the use of `process.exit()`
2123
+ * @see https://eslint.org/docs/latest/rules/no-process-exit
2124
+ * @deprecated
2125
+ */
2126
+ 'no-process-exit'?: Linter.RuleEntry<[]>
2127
+ /**
2128
+ * Disallow returning values from Promise executor functions
2129
+ * @see https://eslint.org/docs/latest/rules/no-promise-executor-return
2130
+ */
2131
+ 'no-promise-executor-return'?: Linter.RuleEntry<NoPromiseExecutorReturn>
2132
+ /**
2133
+ * Disallow the use of the `__proto__` property
2134
+ * @see https://eslint.org/docs/latest/rules/no-proto
2135
+ */
2136
+ 'no-proto'?: Linter.RuleEntry<[]>
2137
+ /**
2138
+ * Disallow calling some `Object.prototype` methods directly on objects
2139
+ * @see https://eslint.org/docs/latest/rules/no-prototype-builtins
2140
+ */
2141
+ 'no-prototype-builtins'?: Linter.RuleEntry<[]>
2142
+ /**
2143
+ * Disallow variable redeclaration
2144
+ * @see https://eslint.org/docs/latest/rules/no-redeclare
2145
+ */
2146
+ 'no-redeclare'?: Linter.RuleEntry<NoRedeclare>
2147
+ /**
2148
+ * Disallow multiple spaces in regular expressions
2149
+ * @see https://eslint.org/docs/latest/rules/no-regex-spaces
2150
+ */
2151
+ 'no-regex-spaces'?: Linter.RuleEntry<[]>
2152
+ /**
2153
+ * Disallow specified names in exports
2154
+ * @see https://eslint.org/docs/latest/rules/no-restricted-exports
2155
+ */
2156
+ 'no-restricted-exports'?: Linter.RuleEntry<NoRestrictedExports>
2157
+ /**
2158
+ * Disallow specified global variables
2159
+ * @see https://eslint.org/docs/latest/rules/no-restricted-globals
2160
+ */
2161
+ 'no-restricted-globals'?: Linter.RuleEntry<NoRestrictedGlobals>
2162
+ /**
2163
+ * Disallow specified modules when loaded by `import`
2164
+ * @see https://eslint.org/docs/latest/rules/no-restricted-imports
2165
+ */
2166
+ 'no-restricted-imports'?: Linter.RuleEntry<NoRestrictedImports>
2167
+ /**
2168
+ * Disallow specified modules when loaded by `require`
2169
+ * @see https://eslint.org/docs/latest/rules/no-restricted-modules
2170
+ * @deprecated
2171
+ */
2172
+ 'no-restricted-modules'?: Linter.RuleEntry<NoRestrictedModules>
2173
+ /**
2174
+ * Disallow certain properties on certain objects
2175
+ * @see https://eslint.org/docs/latest/rules/no-restricted-properties
2176
+ */
2177
+ 'no-restricted-properties'?: Linter.RuleEntry<NoRestrictedProperties>
2178
+ /**
2179
+ * Disallow specified syntax
2180
+ * @see https://eslint.org/docs/latest/rules/no-restricted-syntax
2181
+ */
2182
+ 'no-restricted-syntax'?: Linter.RuleEntry<NoRestrictedSyntax>
2183
+ /**
2184
+ * Disallow assignment operators in `return` statements
2185
+ * @see https://eslint.org/docs/latest/rules/no-return-assign
2186
+ */
2187
+ 'no-return-assign'?: Linter.RuleEntry<NoReturnAssign>
2188
+ /**
2189
+ * Disallow unnecessary `return await`
2190
+ * @see https://eslint.org/docs/latest/rules/no-return-await
2191
+ * @deprecated
2192
+ */
2193
+ 'no-return-await'?: Linter.RuleEntry<[]>
2194
+ /**
2195
+ * Disallow `javascript:` urls
2196
+ * @see https://eslint.org/docs/latest/rules/no-script-url
2197
+ */
2198
+ 'no-script-url'?: Linter.RuleEntry<[]>
2199
+ /**
2200
+ * Disallow assignments where both sides are exactly the same
2201
+ * @see https://eslint.org/docs/latest/rules/no-self-assign
2202
+ */
2203
+ 'no-self-assign'?: Linter.RuleEntry<NoSelfAssign>
2204
+ /**
2205
+ * Disallow comparisons where both sides are exactly the same
2206
+ * @see https://eslint.org/docs/latest/rules/no-self-compare
2207
+ */
2208
+ 'no-self-compare'?: Linter.RuleEntry<[]>
2209
+ /**
2210
+ * Disallow comma operators
2211
+ * @see https://eslint.org/docs/latest/rules/no-sequences
2212
+ */
2213
+ 'no-sequences'?: Linter.RuleEntry<NoSequences>
2214
+ /**
2215
+ * Disallow returning values from setters
2216
+ * @see https://eslint.org/docs/latest/rules/no-setter-return
2217
+ */
2218
+ 'no-setter-return'?: Linter.RuleEntry<[]>
2219
+ /**
2220
+ * Disallow variable declarations from shadowing variables declared in the outer scope
2221
+ * @see https://eslint.org/docs/latest/rules/no-shadow
2222
+ */
2223
+ 'no-shadow'?: Linter.RuleEntry<NoShadow>
2224
+ /**
2225
+ * Disallow identifiers from shadowing restricted names
2226
+ * @see https://eslint.org/docs/latest/rules/no-shadow-restricted-names
2227
+ */
2228
+ 'no-shadow-restricted-names'?: Linter.RuleEntry<[]>
2229
+ /**
2230
+ * Disallow spacing between function identifiers and their applications (deprecated)
2231
+ * @see https://eslint.org/docs/latest/rules/no-spaced-func
2232
+ * @deprecated
2233
+ */
2234
+ 'no-spaced-func'?: Linter.RuleEntry<[]>
2235
+ /**
2236
+ * Disallow sparse arrays
2237
+ * @see https://eslint.org/docs/latest/rules/no-sparse-arrays
2238
+ */
2239
+ 'no-sparse-arrays'?: Linter.RuleEntry<[]>
2240
+ /**
2241
+ * Disallow synchronous methods
2242
+ * @see https://eslint.org/docs/latest/rules/no-sync
2243
+ * @deprecated
2244
+ */
2245
+ 'no-sync'?: Linter.RuleEntry<NoSync>
2246
+ /**
2247
+ * Disallow all tabs
2248
+ * @see https://eslint.org/docs/latest/rules/no-tabs
2249
+ * @deprecated
2250
+ */
2251
+ 'no-tabs'?: Linter.RuleEntry<NoTabs>
2252
+ /**
2253
+ * Disallow template literal placeholder syntax in regular strings
2254
+ * @see https://eslint.org/docs/latest/rules/no-template-curly-in-string
2255
+ */
2256
+ 'no-template-curly-in-string'?: Linter.RuleEntry<[]>
2257
+ /**
2258
+ * Disallow ternary operators
2259
+ * @see https://eslint.org/docs/latest/rules/no-ternary
2260
+ */
2261
+ 'no-ternary'?: Linter.RuleEntry<[]>
2262
+ /**
2263
+ * Disallow `this`/`super` before calling `super()` in constructors
2264
+ * @see https://eslint.org/docs/latest/rules/no-this-before-super
2265
+ */
2266
+ 'no-this-before-super'?: Linter.RuleEntry<[]>
2267
+ /**
2268
+ * Disallow throwing literals as exceptions
2269
+ * @see https://eslint.org/docs/latest/rules/no-throw-literal
2270
+ */
2271
+ 'no-throw-literal'?: Linter.RuleEntry<[]>
2272
+ /**
2273
+ * Disallow trailing whitespace at the end of lines
2274
+ * @see https://eslint.org/docs/latest/rules/no-trailing-spaces
2275
+ * @deprecated
2276
+ */
2277
+ 'no-trailing-spaces'?: Linter.RuleEntry<NoTrailingSpaces>
2278
+ /**
2279
+ * Disallow the use of undeclared variables unless mentioned in `/*global *\/` comments
2280
+ * @see https://eslint.org/docs/latest/rules/no-undef
2281
+ */
2282
+ 'no-undef'?: Linter.RuleEntry<NoUndef>
2283
+ /**
2284
+ * Disallow initializing variables to `undefined`
2285
+ * @see https://eslint.org/docs/latest/rules/no-undef-init
2286
+ */
2287
+ 'no-undef-init'?: Linter.RuleEntry<[]>
2288
+ /**
2289
+ * Disallow the use of `undefined` as an identifier
2290
+ * @see https://eslint.org/docs/latest/rules/no-undefined
2291
+ */
2292
+ 'no-undefined'?: Linter.RuleEntry<[]>
2293
+ /**
2294
+ * Disallow dangling underscores in identifiers
2295
+ * @see https://eslint.org/docs/latest/rules/no-underscore-dangle
2296
+ */
2297
+ 'no-underscore-dangle'?: Linter.RuleEntry<NoUnderscoreDangle>
2298
+ /**
2299
+ * Disallow confusing multiline expressions
2300
+ * @see https://eslint.org/docs/latest/rules/no-unexpected-multiline
2301
+ */
2302
+ 'no-unexpected-multiline'?: Linter.RuleEntry<[]>
2303
+ /**
2304
+ * Disallow unmodified loop conditions
2305
+ * @see https://eslint.org/docs/latest/rules/no-unmodified-loop-condition
2306
+ */
2307
+ 'no-unmodified-loop-condition'?: Linter.RuleEntry<[]>
2308
+ /**
2309
+ * Disallow ternary operators when simpler alternatives exist
2310
+ * @see https://eslint.org/docs/latest/rules/no-unneeded-ternary
2311
+ */
2312
+ 'no-unneeded-ternary'?: Linter.RuleEntry<NoUnneededTernary>
2313
+ /**
2314
+ * Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements
2315
+ * @see https://eslint.org/docs/latest/rules/no-unreachable
2316
+ */
2317
+ 'no-unreachable'?: Linter.RuleEntry<[]>
2318
+ /**
2319
+ * Disallow loops with a body that allows only one iteration
2320
+ * @see https://eslint.org/docs/latest/rules/no-unreachable-loop
2321
+ */
2322
+ 'no-unreachable-loop'?: Linter.RuleEntry<NoUnreachableLoop>
2323
+ /**
2324
+ * Disallow control flow statements in `finally` blocks
2325
+ * @see https://eslint.org/docs/latest/rules/no-unsafe-finally
2326
+ */
2327
+ 'no-unsafe-finally'?: Linter.RuleEntry<[]>
2328
+ /**
2329
+ * Disallow negating the left operand of relational operators
2330
+ * @see https://eslint.org/docs/latest/rules/no-unsafe-negation
2331
+ */
2332
+ 'no-unsafe-negation'?: Linter.RuleEntry<NoUnsafeNegation>
2333
+ /**
2334
+ * Disallow use of optional chaining in contexts where the `undefined` value is not allowed
2335
+ * @see https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining
2336
+ */
2337
+ 'no-unsafe-optional-chaining'?: Linter.RuleEntry<NoUnsafeOptionalChaining>
2338
+ /**
2339
+ * Disallow unused expressions
2340
+ * @see https://eslint.org/docs/latest/rules/no-unused-expressions
2341
+ */
2342
+ 'no-unused-expressions'?: Linter.RuleEntry<NoUnusedExpressions>
2343
+ /**
2344
+ * Disallow unused labels
2345
+ * @see https://eslint.org/docs/latest/rules/no-unused-labels
2346
+ */
2347
+ 'no-unused-labels'?: Linter.RuleEntry<[]>
2348
+ /**
2349
+ * Disallow unused private class members
2350
+ * @see https://eslint.org/docs/latest/rules/no-unused-private-class-members
2351
+ */
2352
+ 'no-unused-private-class-members'?: Linter.RuleEntry<[]>
2353
+ /**
2354
+ * Disallow unused variables
2355
+ * @see https://eslint.org/docs/latest/rules/no-unused-vars
2356
+ */
2357
+ 'no-unused-vars'?: Linter.RuleEntry<NoUnusedVars>
2358
+ /**
2359
+ * Disallow the use of variables before they are defined
2360
+ * @see https://eslint.org/docs/latest/rules/no-use-before-define
2361
+ */
2362
+ 'no-use-before-define'?: Linter.RuleEntry<NoUseBeforeDefine>
2363
+ /**
2364
+ * Disallow variable assignments when the value is not used
2365
+ * @see https://eslint.org/docs/latest/rules/no-useless-assignment
2366
+ */
2367
+ 'no-useless-assignment'?: Linter.RuleEntry<[]>
2368
+ /**
2369
+ * Disallow useless backreferences in regular expressions
2370
+ * @see https://eslint.org/docs/latest/rules/no-useless-backreference
2371
+ */
2372
+ 'no-useless-backreference'?: Linter.RuleEntry<[]>
2373
+ /**
2374
+ * Disallow unnecessary calls to `.call()` and `.apply()`
2375
+ * @see https://eslint.org/docs/latest/rules/no-useless-call
2376
+ */
2377
+ 'no-useless-call'?: Linter.RuleEntry<[]>
2378
+ /**
2379
+ * Disallow unnecessary `catch` clauses
2380
+ * @see https://eslint.org/docs/latest/rules/no-useless-catch
2381
+ */
2382
+ 'no-useless-catch'?: Linter.RuleEntry<[]>
2383
+ /**
2384
+ * Disallow unnecessary computed property keys in objects and classes
2385
+ * @see https://eslint.org/docs/latest/rules/no-useless-computed-key
2386
+ */
2387
+ 'no-useless-computed-key'?: Linter.RuleEntry<NoUselessComputedKey>
2388
+ /**
2389
+ * Disallow unnecessary concatenation of literals or template literals
2390
+ * @see https://eslint.org/docs/latest/rules/no-useless-concat
2391
+ */
2392
+ 'no-useless-concat'?: Linter.RuleEntry<[]>
2393
+ /**
2394
+ * Disallow unnecessary constructors
2395
+ * @see https://eslint.org/docs/latest/rules/no-useless-constructor
2396
+ */
2397
+ 'no-useless-constructor'?: Linter.RuleEntry<[]>
2398
+ /**
2399
+ * Disallow unnecessary escape characters
2400
+ * @see https://eslint.org/docs/latest/rules/no-useless-escape
2401
+ */
2402
+ 'no-useless-escape'?: Linter.RuleEntry<[]>
2403
+ /**
2404
+ * Disallow renaming import, export, and destructured assignments to the same name
2405
+ * @see https://eslint.org/docs/latest/rules/no-useless-rename
2406
+ */
2407
+ 'no-useless-rename'?: Linter.RuleEntry<NoUselessRename>
2408
+ /**
2409
+ * Disallow redundant return statements
2410
+ * @see https://eslint.org/docs/latest/rules/no-useless-return
2411
+ */
2412
+ 'no-useless-return'?: Linter.RuleEntry<[]>
2413
+ /**
2414
+ * Require `let` or `const` instead of `var`
2415
+ * @see https://eslint.org/docs/latest/rules/no-var
2416
+ */
2417
+ 'no-var'?: Linter.RuleEntry<[]>
2418
+ /**
2419
+ * Disallow `void` operators
2420
+ * @see https://eslint.org/docs/latest/rules/no-void
2421
+ */
2422
+ 'no-void'?: Linter.RuleEntry<NoVoid>
2423
+ /**
2424
+ * Disallow specified warning terms in comments
2425
+ * @see https://eslint.org/docs/latest/rules/no-warning-comments
2426
+ */
2427
+ 'no-warning-comments'?: Linter.RuleEntry<NoWarningComments>
2428
+ /**
2429
+ * Disallow whitespace before properties
2430
+ * @see https://eslint.org/docs/latest/rules/no-whitespace-before-property
2431
+ * @deprecated
2432
+ */
2433
+ 'no-whitespace-before-property'?: Linter.RuleEntry<[]>
2434
+ /**
2435
+ * Disallow `with` statements
2436
+ * @see https://eslint.org/docs/latest/rules/no-with
2437
+ */
2438
+ 'no-with'?: Linter.RuleEntry<[]>
2439
+ /**
2440
+ * Enforce the location of single-line statements
2441
+ * @see https://eslint.org/docs/latest/rules/nonblock-statement-body-position
2442
+ * @deprecated
2443
+ */
2444
+ 'nonblock-statement-body-position'?: Linter.RuleEntry<NonblockStatementBodyPosition>
2445
+ /**
2446
+ * Enforce consistent line breaks after opening and before closing braces
2447
+ * @see https://eslint.org/docs/latest/rules/object-curly-newline
2448
+ * @deprecated
2449
+ */
2450
+ 'object-curly-newline'?: Linter.RuleEntry<ObjectCurlyNewline>
2451
+ /**
2452
+ * Enforce consistent spacing inside braces
2453
+ * @see https://eslint.org/docs/latest/rules/object-curly-spacing
2454
+ * @deprecated
2455
+ */
2456
+ 'object-curly-spacing'?: Linter.RuleEntry<ObjectCurlySpacing>
2457
+ /**
2458
+ * Enforce placing object properties on separate lines
2459
+ * @see https://eslint.org/docs/latest/rules/object-property-newline
2460
+ * @deprecated
2461
+ */
2462
+ 'object-property-newline'?: Linter.RuleEntry<ObjectPropertyNewline>
2463
+ /**
2464
+ * Require or disallow method and property shorthand syntax for object literals
2465
+ * @see https://eslint.org/docs/latest/rules/object-shorthand
2466
+ */
2467
+ 'object-shorthand'?: Linter.RuleEntry<ObjectShorthand>
2468
+ /**
2469
+ * Enforce variables to be declared either together or separately in functions
2470
+ * @see https://eslint.org/docs/latest/rules/one-var
2471
+ */
2472
+ 'one-var'?: Linter.RuleEntry<OneVar>
2473
+ /**
2474
+ * Require or disallow newlines around variable declarations
2475
+ * @see https://eslint.org/docs/latest/rules/one-var-declaration-per-line
2476
+ * @deprecated
2477
+ */
2478
+ 'one-var-declaration-per-line'?: Linter.RuleEntry<OneVarDeclarationPerLine>
2479
+ /**
2480
+ * Require or disallow assignment operator shorthand where possible
2481
+ * @see https://eslint.org/docs/latest/rules/operator-assignment
2482
+ */
2483
+ 'operator-assignment'?: Linter.RuleEntry<OperatorAssignment>
2484
+ /**
2485
+ * Enforce consistent linebreak style for operators
2486
+ * @see https://eslint.org/docs/latest/rules/operator-linebreak
2487
+ * @deprecated
2488
+ */
2489
+ 'operator-linebreak'?: Linter.RuleEntry<OperatorLinebreak>
2490
+ /**
2491
+ * Require or disallow padding within blocks
2492
+ * @see https://eslint.org/docs/latest/rules/padded-blocks
2493
+ * @deprecated
2494
+ */
2495
+ 'padded-blocks'?: Linter.RuleEntry<PaddedBlocks>
2496
+ /**
2497
+ * Require or disallow padding lines between statements
2498
+ * @see https://eslint.org/docs/latest/rules/padding-line-between-statements
2499
+ * @deprecated
2500
+ */
2501
+ 'padding-line-between-statements'?: Linter.RuleEntry<PaddingLineBetweenStatements>
2502
+ /**
2503
+ * Enforce sorted arrays before include method.
2504
+ * @see https://perfectionist.dev/rules/sort-array-includes
2505
+ */
2506
+ 'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>
2507
+ /**
2508
+ * Enforce sorted Astro attributes.
2509
+ * @see https://perfectionist.dev/rules/sort-astro-attributes
2510
+ */
2511
+ 'perfectionist/sort-astro-attributes'?: Linter.RuleEntry<PerfectionistSortAstroAttributes>
2512
+ /**
2513
+ * Enforce sorted classes.
2514
+ * @see https://perfectionist.dev/rules/sort-classes
2515
+ */
2516
+ 'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>
2517
+ /**
2518
+ * Enforce sorted TypeScript enums.
2519
+ * @see https://perfectionist.dev/rules/sort-enums
2520
+ */
2521
+ 'perfectionist/sort-enums'?: Linter.RuleEntry<PerfectionistSortEnums>
2522
+ /**
2523
+ * Enforce sorted exports.
2524
+ * @see https://perfectionist.dev/rules/sort-exports
2525
+ */
2526
+ 'perfectionist/sort-exports'?: Linter.RuleEntry<PerfectionistSortExports>
2527
+ /**
2528
+ * Enforce sorted imports.
2529
+ * @see https://perfectionist.dev/rules/sort-imports
2530
+ */
2531
+ 'perfectionist/sort-imports'?: Linter.RuleEntry<PerfectionistSortImports>
2532
+ /**
2533
+ * Enforce sorted interface properties.
2534
+ * @see https://perfectionist.dev/rules/sort-interfaces
2535
+ */
2536
+ 'perfectionist/sort-interfaces'?: Linter.RuleEntry<PerfectionistSortInterfaces>
2537
+ /**
2538
+ * Enforce sorted intersection types.
2539
+ * @see https://perfectionist.dev/rules/sort-intersection-types
2540
+ */
2541
+ 'perfectionist/sort-intersection-types'?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>
2542
+ /**
2543
+ * Enforce sorted JSX props.
2544
+ * @see https://perfectionist.dev/rules/sort-jsx-props
2545
+ */
2546
+ 'perfectionist/sort-jsx-props'?: Linter.RuleEntry<PerfectionistSortJsxProps>
2547
+ /**
2548
+ * Enforce sorted Map elements.
2549
+ * @see https://perfectionist.dev/rules/sort-maps
2550
+ */
2551
+ 'perfectionist/sort-maps'?: Linter.RuleEntry<PerfectionistSortMaps>
2552
+ /**
2553
+ * Enforce sorted named exports.
2554
+ * @see https://perfectionist.dev/rules/sort-named-exports
2555
+ */
2556
+ 'perfectionist/sort-named-exports'?: Linter.RuleEntry<PerfectionistSortNamedExports>
2557
+ /**
2558
+ * Enforce sorted named imports.
2559
+ * @see https://perfectionist.dev/rules/sort-named-imports
2560
+ */
2561
+ 'perfectionist/sort-named-imports'?: Linter.RuleEntry<PerfectionistSortNamedImports>
2562
+ /**
2563
+ * Enforce sorted object types.
2564
+ * @see https://perfectionist.dev/rules/sort-object-types
2565
+ */
2566
+ 'perfectionist/sort-object-types'?: Linter.RuleEntry<PerfectionistSortObjectTypes>
2567
+ /**
2568
+ * Enforce sorted objects.
2569
+ * @see https://perfectionist.dev/rules/sort-objects
2570
+ */
2571
+ 'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>
2572
+ /**
2573
+ * Enforce sorted sets.
2574
+ * @see https://perfectionist.dev/rules/sort-sets
2575
+ */
2576
+ 'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>
2577
+ /**
2578
+ * Enforce sorted Svelte attributes.
2579
+ * @see https://perfectionist.dev/rules/sort-svelte-attributes
2580
+ */
2581
+ 'perfectionist/sort-svelte-attributes'?: Linter.RuleEntry<PerfectionistSortSvelteAttributes>
2582
+ /**
2583
+ * Enforce sorted switch cases.
2584
+ * @see https://perfectionist.dev/rules/sort-switch-case
2585
+ */
2586
+ 'perfectionist/sort-switch-case'?: Linter.RuleEntry<PerfectionistSortSwitchCase>
2587
+ /**
2588
+ * Enforce sorted union types.
2589
+ * @see https://perfectionist.dev/rules/sort-union-types
2590
+ */
2591
+ 'perfectionist/sort-union-types'?: Linter.RuleEntry<PerfectionistSortUnionTypes>
2592
+ /**
2593
+ * Enforce sorted variable declarations.
2594
+ * @see https://perfectionist.dev/rules/sort-variable-declarations
2595
+ */
2596
+ 'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>
2597
+ /**
2598
+ * Enforce sorted Vue attributes.
2599
+ * @see https://perfectionist.dev/rules/sort-vue-attributes
2600
+ */
2601
+ 'perfectionist/sort-vue-attributes'?: Linter.RuleEntry<PerfectionistSortVueAttributes>
2602
+ /**
2603
+ * Require using arrow functions for callbacks
2604
+ * @see https://eslint.org/docs/latest/rules/prefer-arrow-callback
2605
+ */
2606
+ 'prefer-arrow-callback'?: Linter.RuleEntry<PreferArrowCallback>
2607
+ /**
2608
+ * Require `const` declarations for variables that are never reassigned after declared
2609
+ * @see https://eslint.org/docs/latest/rules/prefer-const
2610
+ */
2611
+ 'prefer-const'?: Linter.RuleEntry<PreferConst>
2612
+ /**
2613
+ * Require destructuring from arrays and/or objects
2614
+ * @see https://eslint.org/docs/latest/rules/prefer-destructuring
2615
+ */
2616
+ 'prefer-destructuring'?: Linter.RuleEntry<PreferDestructuring>
2617
+ /**
2618
+ * Disallow the use of `Math.pow` in favor of the `**` operator
2619
+ * @see https://eslint.org/docs/latest/rules/prefer-exponentiation-operator
2620
+ */
2621
+ 'prefer-exponentiation-operator'?: Linter.RuleEntry<[]>
2622
+ /**
2623
+ * Enforce using named capture group in regular expression
2624
+ * @see https://eslint.org/docs/latest/rules/prefer-named-capture-group
2625
+ */
2626
+ 'prefer-named-capture-group'?: Linter.RuleEntry<[]>
2627
+ /**
2628
+ * Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals
2629
+ * @see https://eslint.org/docs/latest/rules/prefer-numeric-literals
2630
+ */
2631
+ 'prefer-numeric-literals'?: Linter.RuleEntry<[]>
2632
+ /**
2633
+ * Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`
2634
+ * @see https://eslint.org/docs/latest/rules/prefer-object-has-own
2635
+ */
2636
+ 'prefer-object-has-own'?: Linter.RuleEntry<[]>
2637
+ /**
2638
+ * Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead
2639
+ * @see https://eslint.org/docs/latest/rules/prefer-object-spread
2640
+ */
2641
+ 'prefer-object-spread'?: Linter.RuleEntry<[]>
2642
+ /**
2643
+ * Require using Error objects as Promise rejection reasons
2644
+ * @see https://eslint.org/docs/latest/rules/prefer-promise-reject-errors
2645
+ */
2646
+ 'prefer-promise-reject-errors'?: Linter.RuleEntry<PreferPromiseRejectErrors>
2647
+ /**
2648
+ * Require `Reflect` methods where applicable
2649
+ * @see https://eslint.org/docs/latest/rules/prefer-reflect
2650
+ * @deprecated
2651
+ */
2652
+ 'prefer-reflect'?: Linter.RuleEntry<PreferReflect>
2653
+ /**
2654
+ * Disallow use of the `RegExp` constructor in favor of regular expression literals
2655
+ * @see https://eslint.org/docs/latest/rules/prefer-regex-literals
2656
+ */
2657
+ 'prefer-regex-literals'?: Linter.RuleEntry<PreferRegexLiterals>
2658
+ /**
2659
+ * Require rest parameters instead of `arguments`
2660
+ * @see https://eslint.org/docs/latest/rules/prefer-rest-params
2661
+ */
2662
+ 'prefer-rest-params'?: Linter.RuleEntry<[]>
2663
+ /**
2664
+ * Require spread operators instead of `.apply()`
2665
+ * @see https://eslint.org/docs/latest/rules/prefer-spread
2666
+ */
2667
+ 'prefer-spread'?: Linter.RuleEntry<[]>
2668
+ /**
2669
+ * Require template literals instead of string concatenation
2670
+ * @see https://eslint.org/docs/latest/rules/prefer-template
2671
+ */
2672
+ 'prefer-template'?: Linter.RuleEntry<[]>
2673
+ /**
2674
+ * Require quotes around object literal property names
2675
+ * @see https://eslint.org/docs/latest/rules/quote-props
2676
+ * @deprecated
2677
+ */
2678
+ 'quote-props'?: Linter.RuleEntry<QuoteProps>
2679
+ /**
2680
+ * Enforce the consistent use of either backticks, double, or single quotes
2681
+ * @see https://eslint.org/docs/latest/rules/quotes
2682
+ * @deprecated
2683
+ */
2684
+ 'quotes'?: Linter.RuleEntry<Quotes>
2685
+ /**
2686
+ * Enforce the consistent use of the radix argument when using `parseInt()`
2687
+ * @see https://eslint.org/docs/latest/rules/radix
2688
+ */
2689
+ 'radix'?: Linter.RuleEntry<Radix>
2690
+ /**
2691
+ * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
2692
+ * @see https://eslint.org/docs/latest/rules/require-atomic-updates
2693
+ */
2694
+ 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>
2695
+ /**
2696
+ * Disallow async functions which have no `await` expression
2697
+ * @see https://eslint.org/docs/latest/rules/require-await
2698
+ */
2699
+ 'require-await'?: Linter.RuleEntry<[]>
2700
+ /**
2701
+ * Enforce the use of `u` or `v` flag on RegExp
2702
+ * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
2703
+ */
2704
+ 'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>
2705
+ /**
2706
+ * Require generator functions to contain `yield`
2707
+ * @see https://eslint.org/docs/latest/rules/require-yield
2708
+ */
2709
+ 'require-yield'?: Linter.RuleEntry<[]>
2710
+ /**
2711
+ * Enforce spacing between rest and spread operators and their expressions
2712
+ * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
2713
+ * @deprecated
2714
+ */
2715
+ 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>
2716
+ /**
2717
+ * Require or disallow semicolons instead of ASI
2718
+ * @see https://eslint.org/docs/latest/rules/semi
2719
+ * @deprecated
2720
+ */
2721
+ 'semi'?: Linter.RuleEntry<Semi>
2722
+ /**
2723
+ * Enforce consistent spacing before and after semicolons
2724
+ * @see https://eslint.org/docs/latest/rules/semi-spacing
2725
+ * @deprecated
2726
+ */
2727
+ 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>
2728
+ /**
2729
+ * Enforce location of semicolons
2730
+ * @see https://eslint.org/docs/latest/rules/semi-style
2731
+ * @deprecated
2732
+ */
2733
+ 'semi-style'?: Linter.RuleEntry<SemiStyle>
2734
+ /**
2735
+ * Enforce sorted import declarations within modules
2736
+ * @see https://eslint.org/docs/latest/rules/sort-imports
2737
+ */
2738
+ 'sort-imports'?: Linter.RuleEntry<SortImports>
2739
+ /**
2740
+ * Require object keys to be sorted
2741
+ * @see https://eslint.org/docs/latest/rules/sort-keys
2742
+ */
2743
+ 'sort-keys'?: Linter.RuleEntry<SortKeys>
2744
+ /**
2745
+ * Require variables within the same declaration block to be sorted
2746
+ * @see https://eslint.org/docs/latest/rules/sort-vars
2747
+ */
2748
+ 'sort-vars'?: Linter.RuleEntry<SortVars>
2749
+ /**
2750
+ * Enforce consistent spacing before blocks
2751
+ * @see https://eslint.org/docs/latest/rules/space-before-blocks
2752
+ * @deprecated
2753
+ */
2754
+ 'space-before-blocks'?: Linter.RuleEntry<SpaceBeforeBlocks>
2755
+ /**
2756
+ * Enforce consistent spacing before `function` definition opening parenthesis
2757
+ * @see https://eslint.org/docs/latest/rules/space-before-function-paren
2758
+ * @deprecated
2759
+ */
2760
+ 'space-before-function-paren'?: Linter.RuleEntry<SpaceBeforeFunctionParen>
2761
+ /**
2762
+ * Enforce consistent spacing inside parentheses
2763
+ * @see https://eslint.org/docs/latest/rules/space-in-parens
2764
+ * @deprecated
2765
+ */
2766
+ 'space-in-parens'?: Linter.RuleEntry<SpaceInParens>
2767
+ /**
2768
+ * Require spacing around infix operators
2769
+ * @see https://eslint.org/docs/latest/rules/space-infix-ops
2770
+ * @deprecated
2771
+ */
2772
+ 'space-infix-ops'?: Linter.RuleEntry<SpaceInfixOps>
2773
+ /**
2774
+ * Enforce consistent spacing before or after unary operators
2775
+ * @see https://eslint.org/docs/latest/rules/space-unary-ops
2776
+ * @deprecated
2777
+ */
2778
+ 'space-unary-ops'?: Linter.RuleEntry<SpaceUnaryOps>
2779
+ /**
2780
+ * Enforce consistent spacing after the `//` or `/*` in a comment
2781
+ * @see https://eslint.org/docs/latest/rules/spaced-comment
2782
+ * @deprecated
2783
+ */
2784
+ 'spaced-comment'?: Linter.RuleEntry<SpacedComment>
2785
+ /**
2786
+ * Require or disallow strict mode directives
2787
+ * @see https://eslint.org/docs/latest/rules/strict
2788
+ */
2789
+ 'strict'?: Linter.RuleEntry<Strict>
2790
+ /**
2791
+ * Enforce spacing around colons of switch statements
2792
+ * @see https://eslint.org/docs/latest/rules/switch-colon-spacing
2793
+ * @deprecated
2794
+ */
2795
+ 'switch-colon-spacing'?: Linter.RuleEntry<SwitchColonSpacing>
2796
+ /**
2797
+ * Require symbol descriptions
2798
+ * @see https://eslint.org/docs/latest/rules/symbol-description
2799
+ */
2800
+ 'symbol-description'?: Linter.RuleEntry<[]>
2801
+ /**
2802
+ * Require or disallow spacing around embedded expressions of template strings
2803
+ * @see https://eslint.org/docs/latest/rules/template-curly-spacing
2804
+ * @deprecated
2805
+ */
2806
+ 'template-curly-spacing'?: Linter.RuleEntry<TemplateCurlySpacing>
2807
+ /**
2808
+ * Require or disallow spacing between template tags and their literals
2809
+ * @see https://eslint.org/docs/latest/rules/template-tag-spacing
2810
+ * @deprecated
2811
+ */
2812
+ 'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>
2813
+ /**
2814
+ * Require or disallow Unicode byte order mark (BOM)
2815
+ * @see https://eslint.org/docs/latest/rules/unicode-bom
2816
+ */
2817
+ 'unicode-bom'?: Linter.RuleEntry<UnicodeBom>
2818
+ /**
2819
+ * Disallow unused variables
2820
+ * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
2821
+ */
2822
+ 'unused-imports/no-unused-imports'?: Linter.RuleEntry<UnusedImportsNoUnusedImports>
2823
+ /**
2824
+ * Disallow unused variables
2825
+ * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-vars.md
2826
+ */
2827
+ 'unused-imports/no-unused-vars'?: Linter.RuleEntry<UnusedImportsNoUnusedVars>
2828
+ /**
2829
+ * Require calls to `isNaN()` when checking for `NaN`
2830
+ * @see https://eslint.org/docs/latest/rules/use-isnan
2831
+ */
2832
+ 'use-isnan'?: Linter.RuleEntry<UseIsnan>
2833
+ /**
2834
+ * Enforce comparing `typeof` expressions against valid strings
2835
+ * @see https://eslint.org/docs/latest/rules/valid-typeof
2836
+ */
2837
+ 'valid-typeof'?: Linter.RuleEntry<ValidTypeof>
2838
+ /**
2839
+ * Require `var` declarations be placed at the top of their containing scope
2840
+ * @see https://eslint.org/docs/latest/rules/vars-on-top
2841
+ */
2842
+ 'vars-on-top'?: Linter.RuleEntry<[]>
2843
+ /**
2844
+ * require .spec test file pattern
2845
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
2846
+ */
2847
+ 'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>
2848
+ /**
2849
+ * enforce using test or it but not both
2850
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
2851
+ */
2852
+ 'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>
2853
+ /**
2854
+ * enforce having expectation in test body
2855
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
2856
+ */
2857
+ 'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>
2858
+ /**
2859
+ * enforce a maximum number of expect per test
2860
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
2861
+ */
2862
+ 'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>
2863
+ /**
2864
+ * require describe block to be less than set max value or default value
2865
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
2866
+ */
2867
+ 'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>
2868
+ /**
2869
+ * disallow alias methods
2870
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
2871
+ */
2872
+ 'vitest/no-alias-methods'?: Linter.RuleEntry<[]>
2873
+ /**
2874
+ * disallow commented out tests
2875
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
2876
+ */
2877
+ 'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>
2878
+ /**
2879
+ * disallow conditional expects
2880
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
2881
+ */
2882
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
2883
+ /**
2884
+ * disallow conditional tests
2885
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
2886
+ */
2887
+ 'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>
2888
+ /**
2889
+ * disallow conditional tests
2890
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
2891
+ */
2892
+ 'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>
2893
+ /**
2894
+ * disallow disabled tests
2895
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
2896
+ */
2897
+ 'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>
2898
+ /**
2899
+ * disallow using a callback in asynchronous tests and hooks
2900
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
2901
+ * @deprecated
2902
+ */
2903
+ 'vitest/no-done-callback'?: Linter.RuleEntry<[]>
2904
+ /**
2905
+ * disallow duplicate hooks and teardown hooks
2906
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
2907
+ */
2908
+ 'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>
1389
2909
  /**
1390
2910
  * disallow focused tests
1391
2911
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
@@ -1621,6 +3141,29 @@ export interface Rules {
1621
3141
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
1622
3142
  */
1623
3143
  'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>
3144
+ /**
3145
+ * Require parentheses around immediate `function` invocations
3146
+ * @see https://eslint.org/docs/latest/rules/wrap-iife
3147
+ * @deprecated
3148
+ */
3149
+ 'wrap-iife'?: Linter.RuleEntry<WrapIife>
3150
+ /**
3151
+ * Require parenthesis around regex literals
3152
+ * @see https://eslint.org/docs/latest/rules/wrap-regex
3153
+ * @deprecated
3154
+ */
3155
+ 'wrap-regex'?: Linter.RuleEntry<[]>
3156
+ /**
3157
+ * Require or disallow spacing around the `*` in `yield*` expressions
3158
+ * @see https://eslint.org/docs/latest/rules/yield-star-spacing
3159
+ * @deprecated
3160
+ */
3161
+ 'yield-star-spacing'?: Linter.RuleEntry<YieldStarSpacing>
3162
+ /**
3163
+ * Require or disallow "Yoda" conditions
3164
+ * @see https://eslint.org/docs/latest/rules/yoda
3165
+ */
3166
+ 'yoda'?: Linter.RuleEntry<Yoda>
1624
3167
  }
1625
3168
 
1626
3169
  /* ======= Declarations ======= */
@@ -2713,6 +4256,146 @@ type TypescriptEslintUnifiedSignatures = []|[{
2713
4256
 
2714
4257
  ignoreDifferentlyNamedParameters?: boolean
2715
4258
  }]
4259
+ // ----- accessor-pairs -----
4260
+ type AccessorPairs = []|[{
4261
+ getWithoutSet?: boolean
4262
+ setWithoutGet?: boolean
4263
+ enforceForClassMembers?: boolean
4264
+ }]
4265
+ // ----- array-bracket-newline -----
4266
+ type ArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
4267
+ multiline?: boolean
4268
+ minItems?: (number | null)
4269
+ })]
4270
+ // ----- array-bracket-spacing -----
4271
+ type ArrayBracketSpacing = []|[("always" | "never")]|[("always" | "never"), {
4272
+ singleValue?: boolean
4273
+ objectsInArrays?: boolean
4274
+ arraysInArrays?: boolean
4275
+ }]
4276
+ // ----- array-callback-return -----
4277
+ type ArrayCallbackReturn = []|[{
4278
+ allowImplicit?: boolean
4279
+ checkForEach?: boolean
4280
+ allowVoid?: boolean
4281
+ }]
4282
+ // ----- array-element-newline -----
4283
+ type ArrayElementNewline = []|[(_ArrayElementNewlineBasicConfig | {
4284
+ ArrayExpression?: _ArrayElementNewlineBasicConfig
4285
+ ArrayPattern?: _ArrayElementNewlineBasicConfig
4286
+ })]
4287
+ type _ArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
4288
+ multiline?: boolean
4289
+ minItems?: (number | null)
4290
+ })
4291
+ // ----- arrow-body-style -----
4292
+ type ArrowBodyStyle = ([]|[("always" | "never")] | []|["as-needed"]|["as-needed", {
4293
+ requireReturnForObjectLiteral?: boolean
4294
+ }])
4295
+ // ----- arrow-parens -----
4296
+ type ArrowParens = []|[("always" | "as-needed")]|[("always" | "as-needed"), {
4297
+ requireForBlockBody?: boolean
4298
+ }]
4299
+ // ----- arrow-spacing -----
4300
+ type ArrowSpacing = []|[{
4301
+ before?: boolean
4302
+ after?: boolean
4303
+ }]
4304
+ // ----- block-spacing -----
4305
+ type BlockSpacing = []|[("always" | "never")]
4306
+ // ----- brace-style -----
4307
+ type BraceStyle = []|[("1tbs" | "stroustrup" | "allman")]|[("1tbs" | "stroustrup" | "allman"), {
4308
+ allowSingleLine?: boolean
4309
+ }]
4310
+ // ----- callback-return -----
4311
+ type CallbackReturn = []|[string[]]
4312
+ // ----- camelcase -----
4313
+ type Camelcase = []|[{
4314
+ ignoreDestructuring?: boolean
4315
+ ignoreImports?: boolean
4316
+ ignoreGlobals?: boolean
4317
+ properties?: ("always" | "never")
4318
+
4319
+ allow?: string[]
4320
+ }]
4321
+ // ----- capitalized-comments -----
4322
+ type CapitalizedComments = []|[("always" | "never")]|[("always" | "never"), ({
4323
+ ignorePattern?: string
4324
+ ignoreInlineComments?: boolean
4325
+ ignoreConsecutiveComments?: boolean
4326
+ } | {
4327
+ line?: {
4328
+ ignorePattern?: string
4329
+ ignoreInlineComments?: boolean
4330
+ ignoreConsecutiveComments?: boolean
4331
+ }
4332
+ block?: {
4333
+ ignorePattern?: string
4334
+ ignoreInlineComments?: boolean
4335
+ ignoreConsecutiveComments?: boolean
4336
+ }
4337
+ })]
4338
+ // ----- class-methods-use-this -----
4339
+ type ClassMethodsUseThis = []|[{
4340
+ exceptMethods?: string[]
4341
+ enforceForClassFields?: boolean
4342
+ }]
4343
+ // ----- comma-dangle -----
4344
+ type CommaDangle = []|[(_CommaDangleValue | {
4345
+ arrays?: _CommaDangleValueWithIgnore
4346
+ objects?: _CommaDangleValueWithIgnore
4347
+ imports?: _CommaDangleValueWithIgnore
4348
+ exports?: _CommaDangleValueWithIgnore
4349
+ functions?: _CommaDangleValueWithIgnore
4350
+ })]
4351
+ type _CommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
4352
+ type _CommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline")
4353
+ // ----- comma-spacing -----
4354
+ type CommaSpacing = []|[{
4355
+ before?: boolean
4356
+ after?: boolean
4357
+ }]
4358
+ // ----- comma-style -----
4359
+ type CommaStyle = []|[("first" | "last")]|[("first" | "last"), {
4360
+ exceptions?: {
4361
+ [k: string]: boolean | undefined
4362
+ }
4363
+ }]
4364
+ // ----- complexity -----
4365
+ type Complexity = []|[(number | {
4366
+ maximum?: number
4367
+ max?: number
4368
+ variant?: ("classic" | "modified")
4369
+ })]
4370
+ // ----- computed-property-spacing -----
4371
+ type ComputedPropertySpacing = []|[("always" | "never")]|[("always" | "never"), {
4372
+ enforceForClassMembers?: boolean
4373
+ }]
4374
+ // ----- consistent-return -----
4375
+ type ConsistentReturn = []|[{
4376
+ treatUndefinedAsUnspecified?: boolean
4377
+ }]
4378
+ // ----- consistent-this -----
4379
+ type ConsistentThis = string[]
4380
+ // ----- curly -----
4381
+ type Curly = ([]|["all"] | []|[("multi" | "multi-line" | "multi-or-nest")]|[("multi" | "multi-line" | "multi-or-nest"), "consistent"])
4382
+ // ----- default-case -----
4383
+ type DefaultCase = []|[{
4384
+ commentPattern?: string
4385
+ }]
4386
+ // ----- dot-location -----
4387
+ type DotLocation = []|[("object" | "property")]
4388
+ // ----- dot-notation -----
4389
+ type DotNotation = []|[{
4390
+ allowKeywords?: boolean
4391
+ allowPattern?: string
4392
+ }]
4393
+ // ----- eol-last -----
4394
+ type EolLast = []|[("always" | "never" | "unix" | "windows")]
4395
+ // ----- eqeqeq -----
4396
+ type Eqeqeq = ([]|["always"]|["always", {
4397
+ null?: ("always" | "never" | "ignore")
4398
+ }] | []|[("smart" | "allow-null")])
2716
4399
  // ----- eslint-comments/disable-enable-pair -----
2717
4400
  type EslintCommentsDisableEnablePair = []|[{
2718
4401
  allowWholeFile?: boolean
@@ -2727,6 +4410,82 @@ type EslintCommentsNoUse = []|[{
2727
4410
  type EslintCommentsRequireDescription = []|[{
2728
4411
  ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
2729
4412
  }]
4413
+ // ----- func-call-spacing -----
4414
+ type FuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
4415
+ allowNewlines?: boolean
4416
+ }])
4417
+ // ----- func-name-matching -----
4418
+ type FuncNameMatching = ([]|[("always" | "never")]|[("always" | "never"), {
4419
+ considerPropertyDescriptor?: boolean
4420
+ includeCommonJSModuleExports?: boolean
4421
+ }] | []|[{
4422
+ considerPropertyDescriptor?: boolean
4423
+ includeCommonJSModuleExports?: boolean
4424
+ }])
4425
+ // ----- func-names -----
4426
+ type FuncNames = []|[_FuncNamesValue]|[_FuncNamesValue, {
4427
+ generators?: _FuncNamesValue
4428
+ }]
4429
+ type _FuncNamesValue = ("always" | "as-needed" | "never")
4430
+ // ----- func-style -----
4431
+ type FuncStyle = []|[("declaration" | "expression")]|[("declaration" | "expression"), {
4432
+ allowArrowFunctions?: boolean
4433
+ overrides?: {
4434
+ namedExports?: ("declaration" | "expression" | "ignore")
4435
+ }
4436
+ }]
4437
+ // ----- function-call-argument-newline -----
4438
+ type FunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
4439
+ // ----- function-paren-newline -----
4440
+ type FunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
4441
+ minItems?: number
4442
+ })]
4443
+ // ----- generator-star-spacing -----
4444
+ type GeneratorStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
4445
+ before?: boolean
4446
+ after?: boolean
4447
+ named?: (("before" | "after" | "both" | "neither") | {
4448
+ before?: boolean
4449
+ after?: boolean
4450
+ })
4451
+ anonymous?: (("before" | "after" | "both" | "neither") | {
4452
+ before?: boolean
4453
+ after?: boolean
4454
+ })
4455
+ method?: (("before" | "after" | "both" | "neither") | {
4456
+ before?: boolean
4457
+ after?: boolean
4458
+ })
4459
+ })]
4460
+ // ----- getter-return -----
4461
+ type GetterReturn = []|[{
4462
+ allowImplicit?: boolean
4463
+ }]
4464
+ // ----- grouped-accessor-pairs -----
4465
+ type GroupedAccessorPairs = []|[("anyOrder" | "getBeforeSet" | "setBeforeGet")]
4466
+ // ----- handle-callback-err -----
4467
+ type HandleCallbackErr = []|[string]
4468
+ // ----- id-blacklist -----
4469
+ type IdBlacklist = string[]
4470
+ // ----- id-denylist -----
4471
+ type IdDenylist = string[]
4472
+ // ----- id-length -----
4473
+ type IdLength = []|[{
4474
+ min?: number
4475
+ max?: number
4476
+ exceptions?: string[]
4477
+ exceptionPatterns?: string[]
4478
+ properties?: ("always" | "never")
4479
+ }]
4480
+ // ----- id-match -----
4481
+ type IdMatch = []|[string]|[string, {
4482
+ properties?: boolean
4483
+ classFields?: boolean
4484
+ onlyDeclarations?: boolean
4485
+ ignoreDestructuring?: boolean
4486
+ }]
4487
+ // ----- implicit-arrow-linebreak -----
4488
+ type ImplicitArrowLinebreak = []|[("beside" | "below")]
2730
4489
  // ----- import-x/consistent-type-specifier-style -----
2731
4490
  type ImportXConsistentTypeSpecifierStyle = []|[("prefer-inline" | "prefer-top-level")]
2732
4491
  // ----- import-x/dynamic-import-chunkname -----
@@ -2957,6 +4716,70 @@ type ImportXOrder = []|[{
2957
4716
  type ImportXPreferDefaultExport = []|[{
2958
4717
  target?: ("single" | "any")
2959
4718
  }]
4719
+ // ----- indent -----
4720
+ type Indent = []|[("tab" | number)]|[("tab" | number), {
4721
+ SwitchCase?: number
4722
+ VariableDeclarator?: ((number | ("first" | "off")) | {
4723
+ var?: (number | ("first" | "off"))
4724
+ let?: (number | ("first" | "off"))
4725
+ const?: (number | ("first" | "off"))
4726
+ })
4727
+ outerIIFEBody?: (number | "off")
4728
+ MemberExpression?: (number | "off")
4729
+ FunctionDeclaration?: {
4730
+ parameters?: (number | ("first" | "off"))
4731
+ body?: number
4732
+ }
4733
+ FunctionExpression?: {
4734
+ parameters?: (number | ("first" | "off"))
4735
+ body?: number
4736
+ }
4737
+ StaticBlock?: {
4738
+ body?: number
4739
+ }
4740
+ CallExpression?: {
4741
+ arguments?: (number | ("first" | "off"))
4742
+ }
4743
+ ArrayExpression?: (number | ("first" | "off"))
4744
+ ObjectExpression?: (number | ("first" | "off"))
4745
+ ImportDeclaration?: (number | ("first" | "off"))
4746
+ flatTernaryExpressions?: boolean
4747
+ offsetTernaryExpressions?: boolean
4748
+ ignoredNodes?: string[]
4749
+ ignoreComments?: boolean
4750
+ }]
4751
+ // ----- indent-legacy -----
4752
+ type IndentLegacy = []|[("tab" | number)]|[("tab" | number), {
4753
+ SwitchCase?: number
4754
+ VariableDeclarator?: (number | {
4755
+ var?: number
4756
+ let?: number
4757
+ const?: number
4758
+ [k: string]: unknown | undefined
4759
+ })
4760
+ outerIIFEBody?: number
4761
+ MemberExpression?: number
4762
+ FunctionDeclaration?: {
4763
+ parameters?: (number | "first")
4764
+ body?: number
4765
+ [k: string]: unknown | undefined
4766
+ }
4767
+ FunctionExpression?: {
4768
+ parameters?: (number | "first")
4769
+ body?: number
4770
+ [k: string]: unknown | undefined
4771
+ }
4772
+ CallExpression?: {
4773
+ parameters?: (number | "first")
4774
+ [k: string]: unknown | undefined
4775
+ }
4776
+ ArrayExpression?: (number | "first")
4777
+ ObjectExpression?: (number | "first")
4778
+ }]
4779
+ // ----- init-declarations -----
4780
+ type InitDeclarations = ([]|["always"] | []|["never"]|["never", {
4781
+ ignoreForLoopInit?: boolean
4782
+ }])
2960
4783
  // ----- jsdoc/check-examples -----
2961
4784
  type JsdocCheckExamples = []|[{
2962
4785
  allowInlineConfig?: boolean
@@ -3283,139 +5106,1123 @@ type JsdocRequireParam = []|[{
3283
5106
  unnamedRootBase?: string[]
3284
5107
  useDefaultObjectProperties?: boolean
3285
5108
  }]
3286
- // ----- jsdoc/require-param-description -----
3287
- type JsdocRequireParamDescription = []|[{
3288
- contexts?: (string | {
3289
- comment?: string
3290
- context?: string
3291
- })[]
3292
- defaultDestructuredRootDescription?: string
3293
- setDefaultDestructuredRootDescription?: boolean
5109
+ // ----- jsdoc/require-param-description -----
5110
+ type JsdocRequireParamDescription = []|[{
5111
+ contexts?: (string | {
5112
+ comment?: string
5113
+ context?: string
5114
+ })[]
5115
+ defaultDestructuredRootDescription?: string
5116
+ setDefaultDestructuredRootDescription?: boolean
5117
+ }]
5118
+ // ----- jsdoc/require-param-name -----
5119
+ type JsdocRequireParamName = []|[{
5120
+ contexts?: (string | {
5121
+ comment?: string
5122
+ context?: string
5123
+ })[]
5124
+ }]
5125
+ // ----- jsdoc/require-param-type -----
5126
+ type JsdocRequireParamType = []|[{
5127
+ contexts?: (string | {
5128
+ comment?: string
5129
+ context?: string
5130
+ })[]
5131
+ defaultDestructuredRootType?: string
5132
+ setDefaultDestructuredRootType?: boolean
5133
+ }]
5134
+ // ----- jsdoc/require-returns -----
5135
+ type JsdocRequireReturns = []|[{
5136
+ checkConstructors?: boolean
5137
+ checkGetters?: boolean
5138
+ contexts?: (string | {
5139
+ comment?: string
5140
+ context?: string
5141
+ forceRequireReturn?: boolean
5142
+ })[]
5143
+ enableFixer?: boolean
5144
+ exemptedBy?: string[]
5145
+ forceRequireReturn?: boolean
5146
+ forceReturnsWithAsync?: boolean
5147
+ publicOnly?: (boolean | {
5148
+ ancestorsOnly?: boolean
5149
+ cjs?: boolean
5150
+ esm?: boolean
5151
+ window?: boolean
5152
+ })
5153
+ }]
5154
+ // ----- jsdoc/require-returns-check -----
5155
+ type JsdocRequireReturnsCheck = []|[{
5156
+ exemptAsync?: boolean
5157
+ exemptGenerators?: boolean
5158
+ reportMissingReturnForUndefinedTypes?: boolean
5159
+ }]
5160
+ // ----- jsdoc/require-returns-description -----
5161
+ type JsdocRequireReturnsDescription = []|[{
5162
+ contexts?: (string | {
5163
+ comment?: string
5164
+ context?: string
5165
+ })[]
5166
+ }]
5167
+ // ----- jsdoc/require-returns-type -----
5168
+ type JsdocRequireReturnsType = []|[{
5169
+ contexts?: (string | {
5170
+ comment?: string
5171
+ context?: string
5172
+ })[]
5173
+ }]
5174
+ // ----- jsdoc/require-template -----
5175
+ type JsdocRequireTemplate = []|[{
5176
+ requireSeparateTemplates?: boolean
5177
+ }]
5178
+ // ----- jsdoc/require-throws -----
5179
+ type JsdocRequireThrows = []|[{
5180
+ contexts?: (string | {
5181
+ comment?: string
5182
+ context?: string
5183
+ })[]
5184
+ exemptedBy?: string[]
5185
+ }]
5186
+ // ----- jsdoc/require-yields -----
5187
+ type JsdocRequireYields = []|[{
5188
+ contexts?: (string | {
5189
+ comment?: string
5190
+ context?: string
5191
+ })[]
5192
+ exemptedBy?: string[]
5193
+ forceRequireNext?: boolean
5194
+ forceRequireYields?: boolean
5195
+ next?: boolean
5196
+ nextWithGeneratorTag?: boolean
5197
+ withGeneratorTag?: boolean
5198
+ }]
5199
+ // ----- jsdoc/require-yields-check -----
5200
+ type JsdocRequireYieldsCheck = []|[{
5201
+ checkGeneratorsOnly?: boolean
5202
+ contexts?: (string | {
5203
+ comment?: string
5204
+ context?: string
5205
+ })[]
5206
+ exemptedBy?: string[]
5207
+ next?: boolean
5208
+ }]
5209
+ // ----- jsdoc/sort-tags -----
5210
+ type JsdocSortTags = []|[{
5211
+ alphabetizeExtras?: boolean
5212
+ linesBetween?: number
5213
+ reportIntraTagGroupSpacing?: boolean
5214
+ reportTagGroupSpacing?: boolean
5215
+ tagSequence?: {
5216
+ tags?: string[]
5217
+ [k: string]: unknown | undefined
5218
+ }[]
5219
+ }]
5220
+ // ----- jsdoc/tag-lines -----
5221
+ type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "never"), {
5222
+ applyToEndTag?: boolean
5223
+ count?: number
5224
+ endLines?: (number | null)
5225
+ startLines?: (number | null)
5226
+ tags?: {
5227
+ [k: string]: {
5228
+ count?: number
5229
+ lines?: ("always" | "never" | "any")
5230
+ }
5231
+ }
5232
+ }]
5233
+ // ----- jsdoc/text-escaping -----
5234
+ type JsdocTextEscaping = []|[{
5235
+ escapeHTML?: boolean
5236
+ escapeMarkdown?: boolean
5237
+ }]
5238
+ // ----- jsdoc/valid-types -----
5239
+ type JsdocValidTypes = []|[{
5240
+ allowEmptyNamepaths?: boolean
5241
+ }]
5242
+ // ----- jsx-quotes -----
5243
+ type JsxQuotes = []|[("prefer-single" | "prefer-double")]
5244
+ // ----- key-spacing -----
5245
+ type KeySpacing = []|[({
5246
+ align?: (("colon" | "value") | {
5247
+ mode?: ("strict" | "minimum")
5248
+ on?: ("colon" | "value")
5249
+ beforeColon?: boolean
5250
+ afterColon?: boolean
5251
+ })
5252
+ mode?: ("strict" | "minimum")
5253
+ beforeColon?: boolean
5254
+ afterColon?: boolean
5255
+ } | {
5256
+ singleLine?: {
5257
+ mode?: ("strict" | "minimum")
5258
+ beforeColon?: boolean
5259
+ afterColon?: boolean
5260
+ }
5261
+ multiLine?: {
5262
+ align?: (("colon" | "value") | {
5263
+ mode?: ("strict" | "minimum")
5264
+ on?: ("colon" | "value")
5265
+ beforeColon?: boolean
5266
+ afterColon?: boolean
5267
+ })
5268
+ mode?: ("strict" | "minimum")
5269
+ beforeColon?: boolean
5270
+ afterColon?: boolean
5271
+ }
5272
+ } | {
5273
+ singleLine?: {
5274
+ mode?: ("strict" | "minimum")
5275
+ beforeColon?: boolean
5276
+ afterColon?: boolean
5277
+ }
5278
+ multiLine?: {
5279
+ mode?: ("strict" | "minimum")
5280
+ beforeColon?: boolean
5281
+ afterColon?: boolean
5282
+ }
5283
+ align?: {
5284
+ mode?: ("strict" | "minimum")
5285
+ on?: ("colon" | "value")
5286
+ beforeColon?: boolean
5287
+ afterColon?: boolean
5288
+ }
5289
+ })]
5290
+ // ----- keyword-spacing -----
5291
+ type KeywordSpacing = []|[{
5292
+ before?: boolean
5293
+ after?: boolean
5294
+ overrides?: {
5295
+ abstract?: {
5296
+ before?: boolean
5297
+ after?: boolean
5298
+ }
5299
+ as?: {
5300
+ before?: boolean
5301
+ after?: boolean
5302
+ }
5303
+ async?: {
5304
+ before?: boolean
5305
+ after?: boolean
5306
+ }
5307
+ await?: {
5308
+ before?: boolean
5309
+ after?: boolean
5310
+ }
5311
+ boolean?: {
5312
+ before?: boolean
5313
+ after?: boolean
5314
+ }
5315
+ break?: {
5316
+ before?: boolean
5317
+ after?: boolean
5318
+ }
5319
+ byte?: {
5320
+ before?: boolean
5321
+ after?: boolean
5322
+ }
5323
+ case?: {
5324
+ before?: boolean
5325
+ after?: boolean
5326
+ }
5327
+ catch?: {
5328
+ before?: boolean
5329
+ after?: boolean
5330
+ }
5331
+ char?: {
5332
+ before?: boolean
5333
+ after?: boolean
5334
+ }
5335
+ class?: {
5336
+ before?: boolean
5337
+ after?: boolean
5338
+ }
5339
+ const?: {
5340
+ before?: boolean
5341
+ after?: boolean
5342
+ }
5343
+ continue?: {
5344
+ before?: boolean
5345
+ after?: boolean
5346
+ }
5347
+ debugger?: {
5348
+ before?: boolean
5349
+ after?: boolean
5350
+ }
5351
+ default?: {
5352
+ before?: boolean
5353
+ after?: boolean
5354
+ }
5355
+ delete?: {
5356
+ before?: boolean
5357
+ after?: boolean
5358
+ }
5359
+ do?: {
5360
+ before?: boolean
5361
+ after?: boolean
5362
+ }
5363
+ double?: {
5364
+ before?: boolean
5365
+ after?: boolean
5366
+ }
5367
+ else?: {
5368
+ before?: boolean
5369
+ after?: boolean
5370
+ }
5371
+ enum?: {
5372
+ before?: boolean
5373
+ after?: boolean
5374
+ }
5375
+ export?: {
5376
+ before?: boolean
5377
+ after?: boolean
5378
+ }
5379
+ extends?: {
5380
+ before?: boolean
5381
+ after?: boolean
5382
+ }
5383
+ false?: {
5384
+ before?: boolean
5385
+ after?: boolean
5386
+ }
5387
+ final?: {
5388
+ before?: boolean
5389
+ after?: boolean
5390
+ }
5391
+ finally?: {
5392
+ before?: boolean
5393
+ after?: boolean
5394
+ }
5395
+ float?: {
5396
+ before?: boolean
5397
+ after?: boolean
5398
+ }
5399
+ for?: {
5400
+ before?: boolean
5401
+ after?: boolean
5402
+ }
5403
+ from?: {
5404
+ before?: boolean
5405
+ after?: boolean
5406
+ }
5407
+ function?: {
5408
+ before?: boolean
5409
+ after?: boolean
5410
+ }
5411
+ get?: {
5412
+ before?: boolean
5413
+ after?: boolean
5414
+ }
5415
+ goto?: {
5416
+ before?: boolean
5417
+ after?: boolean
5418
+ }
5419
+ if?: {
5420
+ before?: boolean
5421
+ after?: boolean
5422
+ }
5423
+ implements?: {
5424
+ before?: boolean
5425
+ after?: boolean
5426
+ }
5427
+ import?: {
5428
+ before?: boolean
5429
+ after?: boolean
5430
+ }
5431
+ in?: {
5432
+ before?: boolean
5433
+ after?: boolean
5434
+ }
5435
+ instanceof?: {
5436
+ before?: boolean
5437
+ after?: boolean
5438
+ }
5439
+ int?: {
5440
+ before?: boolean
5441
+ after?: boolean
5442
+ }
5443
+ interface?: {
5444
+ before?: boolean
5445
+ after?: boolean
5446
+ }
5447
+ let?: {
5448
+ before?: boolean
5449
+ after?: boolean
5450
+ }
5451
+ long?: {
5452
+ before?: boolean
5453
+ after?: boolean
5454
+ }
5455
+ native?: {
5456
+ before?: boolean
5457
+ after?: boolean
5458
+ }
5459
+ new?: {
5460
+ before?: boolean
5461
+ after?: boolean
5462
+ }
5463
+ null?: {
5464
+ before?: boolean
5465
+ after?: boolean
5466
+ }
5467
+ of?: {
5468
+ before?: boolean
5469
+ after?: boolean
5470
+ }
5471
+ package?: {
5472
+ before?: boolean
5473
+ after?: boolean
5474
+ }
5475
+ private?: {
5476
+ before?: boolean
5477
+ after?: boolean
5478
+ }
5479
+ protected?: {
5480
+ before?: boolean
5481
+ after?: boolean
5482
+ }
5483
+ public?: {
5484
+ before?: boolean
5485
+ after?: boolean
5486
+ }
5487
+ return?: {
5488
+ before?: boolean
5489
+ after?: boolean
5490
+ }
5491
+ set?: {
5492
+ before?: boolean
5493
+ after?: boolean
5494
+ }
5495
+ short?: {
5496
+ before?: boolean
5497
+ after?: boolean
5498
+ }
5499
+ static?: {
5500
+ before?: boolean
5501
+ after?: boolean
5502
+ }
5503
+ super?: {
5504
+ before?: boolean
5505
+ after?: boolean
5506
+ }
5507
+ switch?: {
5508
+ before?: boolean
5509
+ after?: boolean
5510
+ }
5511
+ synchronized?: {
5512
+ before?: boolean
5513
+ after?: boolean
5514
+ }
5515
+ this?: {
5516
+ before?: boolean
5517
+ after?: boolean
5518
+ }
5519
+ throw?: {
5520
+ before?: boolean
5521
+ after?: boolean
5522
+ }
5523
+ throws?: {
5524
+ before?: boolean
5525
+ after?: boolean
5526
+ }
5527
+ transient?: {
5528
+ before?: boolean
5529
+ after?: boolean
5530
+ }
5531
+ true?: {
5532
+ before?: boolean
5533
+ after?: boolean
5534
+ }
5535
+ try?: {
5536
+ before?: boolean
5537
+ after?: boolean
5538
+ }
5539
+ typeof?: {
5540
+ before?: boolean
5541
+ after?: boolean
5542
+ }
5543
+ var?: {
5544
+ before?: boolean
5545
+ after?: boolean
5546
+ }
5547
+ void?: {
5548
+ before?: boolean
5549
+ after?: boolean
5550
+ }
5551
+ volatile?: {
5552
+ before?: boolean
5553
+ after?: boolean
5554
+ }
5555
+ while?: {
5556
+ before?: boolean
5557
+ after?: boolean
5558
+ }
5559
+ with?: {
5560
+ before?: boolean
5561
+ after?: boolean
5562
+ }
5563
+ yield?: {
5564
+ before?: boolean
5565
+ after?: boolean
5566
+ }
5567
+ }
5568
+ }]
5569
+ // ----- line-comment-position -----
5570
+ type LineCommentPosition = []|[(("above" | "beside") | {
5571
+ position?: ("above" | "beside")
5572
+ ignorePattern?: string
5573
+ applyDefaultPatterns?: boolean
5574
+ applyDefaultIgnorePatterns?: boolean
5575
+ })]
5576
+ // ----- linebreak-style -----
5577
+ type LinebreakStyle = []|[("unix" | "windows")]
5578
+ // ----- lines-around-comment -----
5579
+ type LinesAroundComment = []|[{
5580
+ beforeBlockComment?: boolean
5581
+ afterBlockComment?: boolean
5582
+ beforeLineComment?: boolean
5583
+ afterLineComment?: boolean
5584
+ allowBlockStart?: boolean
5585
+ allowBlockEnd?: boolean
5586
+ allowClassStart?: boolean
5587
+ allowClassEnd?: boolean
5588
+ allowObjectStart?: boolean
5589
+ allowObjectEnd?: boolean
5590
+ allowArrayStart?: boolean
5591
+ allowArrayEnd?: boolean
5592
+ ignorePattern?: string
5593
+ applyDefaultIgnorePatterns?: boolean
5594
+ afterHashbangComment?: boolean
5595
+ }]
5596
+ // ----- lines-around-directive -----
5597
+ type LinesAroundDirective = []|[(("always" | "never") | {
5598
+ before?: ("always" | "never")
5599
+ after?: ("always" | "never")
5600
+ })]
5601
+ // ----- lines-between-class-members -----
5602
+ type LinesBetweenClassMembers = []|[({
5603
+
5604
+ enforce: [{
5605
+ blankLine: ("always" | "never")
5606
+ prev: ("method" | "field" | "*")
5607
+ next: ("method" | "field" | "*")
5608
+ }, ...({
5609
+ blankLine: ("always" | "never")
5610
+ prev: ("method" | "field" | "*")
5611
+ next: ("method" | "field" | "*")
5612
+ })[]]
5613
+ } | ("always" | "never"))]|[({
5614
+
5615
+ enforce: [{
5616
+ blankLine: ("always" | "never")
5617
+ prev: ("method" | "field" | "*")
5618
+ next: ("method" | "field" | "*")
5619
+ }, ...({
5620
+ blankLine: ("always" | "never")
5621
+ prev: ("method" | "field" | "*")
5622
+ next: ("method" | "field" | "*")
5623
+ })[]]
5624
+ } | ("always" | "never")), {
5625
+ exceptAfterSingleLine?: boolean
5626
+ }]
5627
+ // ----- logical-assignment-operators -----
5628
+ type LogicalAssignmentOperators = (([]|["always"]|["always", {
5629
+ enforceForIfStatements?: boolean
5630
+ }] | ["never"]) & unknown[])
5631
+ // ----- max-classes-per-file -----
5632
+ type MaxClassesPerFile = []|[(number | {
5633
+ ignoreExpressions?: boolean
5634
+ max?: number
5635
+ })]
5636
+ // ----- max-depth -----
5637
+ type MaxDepth = []|[(number | {
5638
+ maximum?: number
5639
+ max?: number
5640
+ })]
5641
+ // ----- max-len -----
5642
+ type MaxLen = []|[({
5643
+ code?: number
5644
+ comments?: number
5645
+ tabWidth?: number
5646
+ ignorePattern?: string
5647
+ ignoreComments?: boolean
5648
+ ignoreStrings?: boolean
5649
+ ignoreUrls?: boolean
5650
+ ignoreTemplateLiterals?: boolean
5651
+ ignoreRegExpLiterals?: boolean
5652
+ ignoreTrailingComments?: boolean
5653
+ } | number)]|[({
5654
+ code?: number
5655
+ comments?: number
5656
+ tabWidth?: number
5657
+ ignorePattern?: string
5658
+ ignoreComments?: boolean
5659
+ ignoreStrings?: boolean
5660
+ ignoreUrls?: boolean
5661
+ ignoreTemplateLiterals?: boolean
5662
+ ignoreRegExpLiterals?: boolean
5663
+ ignoreTrailingComments?: boolean
5664
+ } | number), ({
5665
+ code?: number
5666
+ comments?: number
5667
+ tabWidth?: number
5668
+ ignorePattern?: string
5669
+ ignoreComments?: boolean
5670
+ ignoreStrings?: boolean
5671
+ ignoreUrls?: boolean
5672
+ ignoreTemplateLiterals?: boolean
5673
+ ignoreRegExpLiterals?: boolean
5674
+ ignoreTrailingComments?: boolean
5675
+ } | number)]|[({
5676
+ code?: number
5677
+ comments?: number
5678
+ tabWidth?: number
5679
+ ignorePattern?: string
5680
+ ignoreComments?: boolean
5681
+ ignoreStrings?: boolean
5682
+ ignoreUrls?: boolean
5683
+ ignoreTemplateLiterals?: boolean
5684
+ ignoreRegExpLiterals?: boolean
5685
+ ignoreTrailingComments?: boolean
5686
+ } | number), ({
5687
+ code?: number
5688
+ comments?: number
5689
+ tabWidth?: number
5690
+ ignorePattern?: string
5691
+ ignoreComments?: boolean
5692
+ ignoreStrings?: boolean
5693
+ ignoreUrls?: boolean
5694
+ ignoreTemplateLiterals?: boolean
5695
+ ignoreRegExpLiterals?: boolean
5696
+ ignoreTrailingComments?: boolean
5697
+ } | number), {
5698
+ code?: number
5699
+ comments?: number
5700
+ tabWidth?: number
5701
+ ignorePattern?: string
5702
+ ignoreComments?: boolean
5703
+ ignoreStrings?: boolean
5704
+ ignoreUrls?: boolean
5705
+ ignoreTemplateLiterals?: boolean
5706
+ ignoreRegExpLiterals?: boolean
5707
+ ignoreTrailingComments?: boolean
5708
+ }]
5709
+ // ----- max-lines -----
5710
+ type MaxLines = []|[(number | {
5711
+ max?: number
5712
+ skipComments?: boolean
5713
+ skipBlankLines?: boolean
5714
+ })]
5715
+ // ----- max-lines-per-function -----
5716
+ type MaxLinesPerFunction = []|[({
5717
+ max?: number
5718
+ skipComments?: boolean
5719
+ skipBlankLines?: boolean
5720
+ IIFEs?: boolean
5721
+ } | number)]
5722
+ // ----- max-nested-callbacks -----
5723
+ type MaxNestedCallbacks = []|[(number | {
5724
+ maximum?: number
5725
+ max?: number
5726
+ })]
5727
+ // ----- max-params -----
5728
+ type MaxParams = []|[(number | {
5729
+ maximum?: number
5730
+ max?: number
5731
+ })]
5732
+ // ----- max-statements -----
5733
+ type MaxStatements = []|[(number | {
5734
+ maximum?: number
5735
+ max?: number
5736
+ })]|[(number | {
5737
+ maximum?: number
5738
+ max?: number
5739
+ }), {
5740
+ ignoreTopLevelFunctions?: boolean
5741
+ }]
5742
+ // ----- max-statements-per-line -----
5743
+ type MaxStatementsPerLine = []|[{
5744
+ max?: number
5745
+ }]
5746
+ // ----- multiline-comment-style -----
5747
+ type MultilineCommentStyle = ([]|[("starred-block" | "bare-block")] | []|["separate-lines"]|["separate-lines", {
5748
+ checkJSDoc?: boolean
5749
+ }])
5750
+ // ----- multiline-ternary -----
5751
+ type MultilineTernary = []|[("always" | "always-multiline" | "never")]
5752
+ // ----- new-cap -----
5753
+ type NewCap = []|[{
5754
+ newIsCap?: boolean
5755
+ capIsNew?: boolean
5756
+ newIsCapExceptions?: string[]
5757
+ newIsCapExceptionPattern?: string
5758
+ capIsNewExceptions?: string[]
5759
+ capIsNewExceptionPattern?: string
5760
+ properties?: boolean
5761
+ }]
5762
+ // ----- new-parens -----
5763
+ type NewParens = []|[("always" | "never")]
5764
+ // ----- newline-after-var -----
5765
+ type NewlineAfterVar = []|[("never" | "always")]
5766
+ // ----- newline-per-chained-call -----
5767
+ type NewlinePerChainedCall = []|[{
5768
+ ignoreChainWithDepth?: number
5769
+ }]
5770
+ // ----- no-bitwise -----
5771
+ type NoBitwise = []|[{
5772
+ allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[]
5773
+ int32Hint?: boolean
5774
+ }]
5775
+ // ----- no-cond-assign -----
5776
+ type NoCondAssign = []|[("except-parens" | "always")]
5777
+ // ----- no-confusing-arrow -----
5778
+ type NoConfusingArrow = []|[{
5779
+ allowParens?: boolean
5780
+ onlyOneSimpleParam?: boolean
5781
+ }]
5782
+ // ----- no-console -----
5783
+ type NoConsole = []|[{
5784
+
5785
+ allow?: [string, ...(string)[]]
5786
+ }]
5787
+ // ----- no-constant-condition -----
5788
+ type NoConstantCondition = []|[{
5789
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
5790
+ }]
5791
+ // ----- no-duplicate-imports -----
5792
+ type NoDuplicateImports = []|[{
5793
+ includeExports?: boolean
5794
+ }]
5795
+ // ----- no-else-return -----
5796
+ type NoElseReturn = []|[{
5797
+ allowElseIf?: boolean
5798
+ }]
5799
+ // ----- no-empty -----
5800
+ type NoEmpty = []|[{
5801
+ allowEmptyCatch?: boolean
5802
+ }]
5803
+ // ----- no-empty-function -----
5804
+ type NoEmptyFunction = []|[{
5805
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods")[]
5806
+ }]
5807
+ // ----- no-empty-pattern -----
5808
+ type NoEmptyPattern = []|[{
5809
+ allowObjectPatternsAsParameters?: boolean
5810
+ }]
5811
+ // ----- no-eval -----
5812
+ type NoEval = []|[{
5813
+ allowIndirect?: boolean
5814
+ }]
5815
+ // ----- no-extend-native -----
5816
+ type NoExtendNative = []|[{
5817
+ exceptions?: string[]
5818
+ }]
5819
+ // ----- no-extra-boolean-cast -----
5820
+ type NoExtraBooleanCast = []|[({
5821
+ enforceForInnerExpressions?: boolean
5822
+ } | {
5823
+ enforceForLogicalOperands?: boolean
5824
+ })]
5825
+ // ----- no-extra-parens -----
5826
+ type NoExtraParens = ([]|["functions"] | []|["all"]|["all", {
5827
+ conditionalAssign?: boolean
5828
+ ternaryOperandBinaryExpressions?: boolean
5829
+ nestedBinaryExpressions?: boolean
5830
+ returnAssign?: boolean
5831
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line")
5832
+ enforceForArrowConditionals?: boolean
5833
+ enforceForSequenceExpressions?: boolean
5834
+ enforceForNewInMemberExpressions?: boolean
5835
+ enforceForFunctionPrototypeMethods?: boolean
5836
+ allowParensAfterCommentPattern?: string
5837
+ }])
5838
+ // ----- no-fallthrough -----
5839
+ type NoFallthrough = []|[{
5840
+ commentPattern?: string
5841
+ allowEmptyCase?: boolean
5842
+ reportUnusedFallthroughComment?: boolean
5843
+ }]
5844
+ // ----- no-global-assign -----
5845
+ type NoGlobalAssign = []|[{
5846
+ exceptions?: string[]
5847
+ }]
5848
+ // ----- no-implicit-coercion -----
5849
+ type NoImplicitCoercion = []|[{
5850
+ boolean?: boolean
5851
+ number?: boolean
5852
+ string?: boolean
5853
+ disallowTemplateShorthand?: boolean
5854
+ allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[]
5855
+ }]
5856
+ // ----- no-implicit-globals -----
5857
+ type NoImplicitGlobals = []|[{
5858
+ lexicalBindings?: boolean
5859
+ }]
5860
+ // ----- no-inline-comments -----
5861
+ type NoInlineComments = []|[{
5862
+ ignorePattern?: string
5863
+ }]
5864
+ // ----- no-inner-declarations -----
5865
+ type NoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), {
5866
+ blockScopedFunctions?: ("allow" | "disallow")
5867
+ }]
5868
+ // ----- no-invalid-regexp -----
5869
+ type NoInvalidRegexp = []|[{
5870
+ allowConstructorFlags?: string[]
5871
+ }]
5872
+ // ----- no-invalid-this -----
5873
+ type NoInvalidThis = []|[{
5874
+ capIsConstructor?: boolean
5875
+ }]
5876
+ // ----- no-irregular-whitespace -----
5877
+ type NoIrregularWhitespace = []|[{
5878
+ skipComments?: boolean
5879
+ skipStrings?: boolean
5880
+ skipTemplates?: boolean
5881
+ skipRegExps?: boolean
5882
+ skipJSXText?: boolean
5883
+ }]
5884
+ // ----- no-labels -----
5885
+ type NoLabels = []|[{
5886
+ allowLoop?: boolean
5887
+ allowSwitch?: boolean
5888
+ }]
5889
+ // ----- no-magic-numbers -----
5890
+ type NoMagicNumbers = []|[{
5891
+ detectObjects?: boolean
5892
+ enforceConst?: boolean
5893
+ ignore?: (number | string)[]
5894
+ ignoreArrayIndexes?: boolean
5895
+ ignoreDefaultValues?: boolean
5896
+ ignoreClassFieldInitialValues?: boolean
5897
+ }]
5898
+ // ----- no-misleading-character-class -----
5899
+ type NoMisleadingCharacterClass = []|[{
5900
+ allowEscape?: boolean
3294
5901
  }]
3295
- // ----- jsdoc/require-param-name -----
3296
- type JsdocRequireParamName = []|[{
3297
- contexts?: (string | {
3298
- comment?: string
3299
- context?: string
3300
- })[]
5902
+ // ----- no-mixed-operators -----
5903
+ type NoMixedOperators = []|[{
5904
+ groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][]
5905
+ allowSamePrecedence?: boolean
3301
5906
  }]
3302
- // ----- jsdoc/require-param-type -----
3303
- type JsdocRequireParamType = []|[{
3304
- contexts?: (string | {
3305
- comment?: string
3306
- context?: string
3307
- })[]
3308
- defaultDestructuredRootType?: string
3309
- setDefaultDestructuredRootType?: boolean
5907
+ // ----- no-mixed-requires -----
5908
+ type NoMixedRequires = []|[(boolean | {
5909
+ grouping?: boolean
5910
+ allowCall?: boolean
5911
+ })]
5912
+ // ----- no-mixed-spaces-and-tabs -----
5913
+ type NoMixedSpacesAndTabs = []|[("smart-tabs" | true | false)]
5914
+ // ----- no-multi-assign -----
5915
+ type NoMultiAssign = []|[{
5916
+ ignoreNonDeclaration?: boolean
5917
+ }]
5918
+ // ----- no-multi-spaces -----
5919
+ type NoMultiSpaces = []|[{
5920
+ exceptions?: {
5921
+ [k: string]: boolean
5922
+ }
5923
+ ignoreEOLComments?: boolean
3310
5924
  }]
3311
- // ----- jsdoc/require-returns -----
3312
- type JsdocRequireReturns = []|[{
3313
- checkConstructors?: boolean
3314
- checkGetters?: boolean
3315
- contexts?: (string | {
3316
- comment?: string
3317
- context?: string
3318
- forceRequireReturn?: boolean
3319
- })[]
3320
- enableFixer?: boolean
3321
- exemptedBy?: string[]
3322
- forceRequireReturn?: boolean
3323
- forceReturnsWithAsync?: boolean
3324
- publicOnly?: (boolean | {
3325
- ancestorsOnly?: boolean
3326
- cjs?: boolean
3327
- esm?: boolean
3328
- window?: boolean
3329
- })
5925
+ // ----- no-multiple-empty-lines -----
5926
+ type NoMultipleEmptyLines = []|[{
5927
+ max: number
5928
+ maxEOF?: number
5929
+ maxBOF?: number
3330
5930
  }]
3331
- // ----- jsdoc/require-returns-check -----
3332
- type JsdocRequireReturnsCheck = []|[{
3333
- exemptAsync?: boolean
3334
- exemptGenerators?: boolean
3335
- reportMissingReturnForUndefinedTypes?: boolean
5931
+ // ----- no-native-reassign -----
5932
+ type NoNativeReassign = []|[{
5933
+ exceptions?: string[]
3336
5934
  }]
3337
- // ----- jsdoc/require-returns-description -----
3338
- type JsdocRequireReturnsDescription = []|[{
3339
- contexts?: (string | {
3340
- comment?: string
3341
- context?: string
3342
- })[]
5935
+ // ----- no-param-reassign -----
5936
+ type NoParamReassign = []|[({
5937
+ props?: false
5938
+ } | {
5939
+ props?: true
5940
+ ignorePropertyModificationsFor?: string[]
5941
+ ignorePropertyModificationsForRegex?: string[]
5942
+ })]
5943
+ // ----- no-plusplus -----
5944
+ type NoPlusplus = []|[{
5945
+ allowForLoopAfterthoughts?: boolean
3343
5946
  }]
3344
- // ----- jsdoc/require-returns-type -----
3345
- type JsdocRequireReturnsType = []|[{
3346
- contexts?: (string | {
3347
- comment?: string
3348
- context?: string
3349
- })[]
5947
+ // ----- no-promise-executor-return -----
5948
+ type NoPromiseExecutorReturn = []|[{
5949
+ allowVoid?: boolean
3350
5950
  }]
3351
- // ----- jsdoc/require-template -----
3352
- type JsdocRequireTemplate = []|[{
3353
- requireSeparateTemplates?: boolean
5951
+ // ----- no-redeclare -----
5952
+ type NoRedeclare = []|[{
5953
+ builtinGlobals?: boolean
3354
5954
  }]
3355
- // ----- jsdoc/require-throws -----
3356
- type JsdocRequireThrows = []|[{
3357
- contexts?: (string | {
3358
- comment?: string
3359
- context?: string
5955
+ // ----- no-restricted-exports -----
5956
+ type NoRestrictedExports = []|[({
5957
+ restrictedNamedExports?: string[]
5958
+ restrictedNamedExportsPattern?: string
5959
+ } | {
5960
+ restrictedNamedExports?: string[]
5961
+ restrictedNamedExportsPattern?: string
5962
+ restrictDefaultExports?: {
5963
+ direct?: boolean
5964
+ named?: boolean
5965
+ defaultFrom?: boolean
5966
+ namedFrom?: boolean
5967
+ namespaceFrom?: boolean
5968
+ }
5969
+ })]
5970
+ // ----- no-restricted-globals -----
5971
+ type NoRestrictedGlobals = (string | {
5972
+ name: string
5973
+ message?: string
5974
+ })[]
5975
+ // ----- no-restricted-imports -----
5976
+ type NoRestrictedImports = ((string | {
5977
+ name: string
5978
+ message?: string
5979
+ importNames?: string[]
5980
+ allowImportNames?: string[]
5981
+ })[] | []|[{
5982
+ paths?: (string | {
5983
+ name: string
5984
+ message?: string
5985
+ importNames?: string[]
5986
+ allowImportNames?: string[]
3360
5987
  })[]
3361
- exemptedBy?: string[]
3362
- }]
3363
- // ----- jsdoc/require-yields -----
3364
- type JsdocRequireYields = []|[{
3365
- contexts?: (string | {
3366
- comment?: string
3367
- context?: string
5988
+ patterns?: (string[] | ({
5989
+ [k: string]: unknown | undefined
5990
+ } | {
5991
+ [k: string]: unknown | undefined
5992
+ })[])
5993
+ }])
5994
+ // ----- no-restricted-modules -----
5995
+ type NoRestrictedModules = ((string | {
5996
+ name: string
5997
+ message?: string
5998
+ })[] | {
5999
+ paths?: (string | {
6000
+ name: string
6001
+ message?: string
3368
6002
  })[]
3369
- exemptedBy?: string[]
3370
- forceRequireNext?: boolean
3371
- forceRequireYields?: boolean
3372
- next?: boolean
3373
- nextWithGeneratorTag?: boolean
3374
- withGeneratorTag?: boolean
6003
+ patterns?: string[]
6004
+ }[])
6005
+ // ----- no-restricted-properties -----
6006
+ type NoRestrictedProperties = ({
6007
+ object: string
6008
+ property?: string
6009
+ message?: string
6010
+ } | {
6011
+ object?: string
6012
+ property: string
6013
+ message?: string
6014
+ })[]
6015
+ // ----- no-restricted-syntax -----
6016
+ type NoRestrictedSyntax = (string | {
6017
+ selector: string
6018
+ message?: string
6019
+ })[]
6020
+ // ----- no-return-assign -----
6021
+ type NoReturnAssign = []|[("except-parens" | "always")]
6022
+ // ----- no-self-assign -----
6023
+ type NoSelfAssign = []|[{
6024
+ props?: boolean
6025
+ }]
6026
+ // ----- no-sequences -----
6027
+ type NoSequences = []|[{
6028
+ allowInParentheses?: boolean
6029
+ }]
6030
+ // ----- no-shadow -----
6031
+ type NoShadow = []|[{
6032
+ builtinGlobals?: boolean
6033
+ hoist?: ("all" | "functions" | "never")
6034
+ allow?: string[]
6035
+ ignoreOnInitialization?: boolean
3375
6036
  }]
3376
- // ----- jsdoc/require-yields-check -----
3377
- type JsdocRequireYieldsCheck = []|[{
3378
- checkGeneratorsOnly?: boolean
3379
- contexts?: (string | {
3380
- comment?: string
3381
- context?: string
3382
- })[]
3383
- exemptedBy?: string[]
3384
- next?: boolean
6037
+ // ----- no-sync -----
6038
+ type NoSync = []|[{
6039
+ allowAtRootLevel?: boolean
3385
6040
  }]
3386
- // ----- jsdoc/sort-tags -----
3387
- type JsdocSortTags = []|[{
3388
- alphabetizeExtras?: boolean
3389
- linesBetween?: number
3390
- reportIntraTagGroupSpacing?: boolean
3391
- reportTagGroupSpacing?: boolean
3392
- tagSequence?: {
3393
- tags?: string[]
3394
- [k: string]: unknown | undefined
3395
- }[]
6041
+ // ----- no-tabs -----
6042
+ type NoTabs = []|[{
6043
+ allowIndentationTabs?: boolean
3396
6044
  }]
3397
- // ----- jsdoc/tag-lines -----
3398
- type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "never"), {
3399
- applyToEndTag?: boolean
3400
- count?: number
3401
- endLines?: (number | null)
3402
- startLines?: (number | null)
3403
- tags?: {
3404
- [k: string]: {
3405
- count?: number
3406
- lines?: ("always" | "never" | "any")
3407
- }
3408
- }
6045
+ // ----- no-trailing-spaces -----
6046
+ type NoTrailingSpaces = []|[{
6047
+ skipBlankLines?: boolean
6048
+ ignoreComments?: boolean
3409
6049
  }]
3410
- // ----- jsdoc/text-escaping -----
3411
- type JsdocTextEscaping = []|[{
3412
- escapeHTML?: boolean
3413
- escapeMarkdown?: boolean
6050
+ // ----- no-undef -----
6051
+ type NoUndef = []|[{
6052
+ typeof?: boolean
3414
6053
  }]
3415
- // ----- jsdoc/valid-types -----
3416
- type JsdocValidTypes = []|[{
3417
- allowEmptyNamepaths?: boolean
6054
+ // ----- no-underscore-dangle -----
6055
+ type NoUnderscoreDangle = []|[{
6056
+ allow?: string[]
6057
+ allowAfterThis?: boolean
6058
+ allowAfterSuper?: boolean
6059
+ allowAfterThisConstructor?: boolean
6060
+ enforceInMethodNames?: boolean
6061
+ allowFunctionParams?: boolean
6062
+ enforceInClassFields?: boolean
6063
+ allowInArrayDestructuring?: boolean
6064
+ allowInObjectDestructuring?: boolean
6065
+ }]
6066
+ // ----- no-unneeded-ternary -----
6067
+ type NoUnneededTernary = []|[{
6068
+ defaultAssignment?: boolean
6069
+ }]
6070
+ // ----- no-unreachable-loop -----
6071
+ type NoUnreachableLoop = []|[{
6072
+ ignore?: ("WhileStatement" | "DoWhileStatement" | "ForStatement" | "ForInStatement" | "ForOfStatement")[]
6073
+ }]
6074
+ // ----- no-unsafe-negation -----
6075
+ type NoUnsafeNegation = []|[{
6076
+ enforceForOrderingRelations?: boolean
6077
+ }]
6078
+ // ----- no-unsafe-optional-chaining -----
6079
+ type NoUnsafeOptionalChaining = []|[{
6080
+ disallowArithmeticOperators?: boolean
6081
+ }]
6082
+ // ----- no-unused-expressions -----
6083
+ type NoUnusedExpressions = []|[{
6084
+ allowShortCircuit?: boolean
6085
+ allowTernary?: boolean
6086
+ allowTaggedTemplates?: boolean
6087
+ enforceForJSX?: boolean
6088
+ }]
6089
+ // ----- no-unused-vars -----
6090
+ type NoUnusedVars = []|[(("all" | "local") | {
6091
+ vars?: ("all" | "local")
6092
+ varsIgnorePattern?: string
6093
+ args?: ("all" | "after-used" | "none")
6094
+ ignoreRestSiblings?: boolean
6095
+ argsIgnorePattern?: string
6096
+ caughtErrors?: ("all" | "none")
6097
+ caughtErrorsIgnorePattern?: string
6098
+ destructuredArrayIgnorePattern?: string
6099
+ ignoreClassWithStaticInitBlock?: boolean
6100
+ reportUsedIgnorePattern?: boolean
6101
+ })]
6102
+ // ----- no-use-before-define -----
6103
+ type NoUseBeforeDefine = []|[("nofunc" | {
6104
+ functions?: boolean
6105
+ classes?: boolean
6106
+ variables?: boolean
6107
+ allowNamedExports?: boolean
6108
+ })]
6109
+ // ----- no-useless-computed-key -----
6110
+ type NoUselessComputedKey = []|[{
6111
+ enforceForClassMembers?: boolean
6112
+ }]
6113
+ // ----- no-useless-rename -----
6114
+ type NoUselessRename = []|[{
6115
+ ignoreDestructuring?: boolean
6116
+ ignoreImport?: boolean
6117
+ ignoreExport?: boolean
6118
+ }]
6119
+ // ----- no-void -----
6120
+ type NoVoid = []|[{
6121
+ allowAsStatement?: boolean
6122
+ }]
6123
+ // ----- no-warning-comments -----
6124
+ type NoWarningComments = []|[{
6125
+ terms?: string[]
6126
+ location?: ("start" | "anywhere")
6127
+
6128
+ decoration?: [string, ...(string)[]]
6129
+ }]
6130
+ // ----- nonblock-statement-body-position -----
6131
+ type NonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), {
6132
+ overrides?: {
6133
+ if?: ("beside" | "below" | "any")
6134
+ else?: ("beside" | "below" | "any")
6135
+ while?: ("beside" | "below" | "any")
6136
+ do?: ("beside" | "below" | "any")
6137
+ for?: ("beside" | "below" | "any")
6138
+ }
6139
+ }]
6140
+ // ----- object-curly-newline -----
6141
+ type ObjectCurlyNewline = []|[((("always" | "never") | {
6142
+ multiline?: boolean
6143
+ minProperties?: number
6144
+ consistent?: boolean
6145
+ }) | {
6146
+ ObjectExpression?: (("always" | "never") | {
6147
+ multiline?: boolean
6148
+ minProperties?: number
6149
+ consistent?: boolean
6150
+ })
6151
+ ObjectPattern?: (("always" | "never") | {
6152
+ multiline?: boolean
6153
+ minProperties?: number
6154
+ consistent?: boolean
6155
+ })
6156
+ ImportDeclaration?: (("always" | "never") | {
6157
+ multiline?: boolean
6158
+ minProperties?: number
6159
+ consistent?: boolean
6160
+ })
6161
+ ExportDeclaration?: (("always" | "never") | {
6162
+ multiline?: boolean
6163
+ minProperties?: number
6164
+ consistent?: boolean
6165
+ })
6166
+ })]
6167
+ // ----- object-curly-spacing -----
6168
+ type ObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
6169
+ arraysInObjects?: boolean
6170
+ objectsInObjects?: boolean
6171
+ }]
6172
+ // ----- object-property-newline -----
6173
+ type ObjectPropertyNewline = []|[{
6174
+ allowAllPropertiesOnSameLine?: boolean
6175
+ allowMultiplePropertiesPerLine?: boolean
6176
+ }]
6177
+ // ----- object-shorthand -----
6178
+ type ObjectShorthand = ([]|[("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | []|[("always" | "methods" | "properties")]|[("always" | "methods" | "properties"), {
6179
+ avoidQuotes?: boolean
6180
+ }] | []|[("always" | "methods")]|[("always" | "methods"), {
6181
+ ignoreConstructors?: boolean
6182
+ methodsIgnorePattern?: string
6183
+ avoidQuotes?: boolean
6184
+ avoidExplicitReturnArrows?: boolean
6185
+ }])
6186
+ // ----- one-var -----
6187
+ type OneVar = []|[(("always" | "never" | "consecutive") | {
6188
+ separateRequires?: boolean
6189
+ var?: ("always" | "never" | "consecutive")
6190
+ let?: ("always" | "never" | "consecutive")
6191
+ const?: ("always" | "never" | "consecutive")
6192
+ } | {
6193
+ initialized?: ("always" | "never" | "consecutive")
6194
+ uninitialized?: ("always" | "never" | "consecutive")
6195
+ })]
6196
+ // ----- one-var-declaration-per-line -----
6197
+ type OneVarDeclarationPerLine = []|[("always" | "initializations")]
6198
+ // ----- operator-assignment -----
6199
+ type OperatorAssignment = []|[("always" | "never")]
6200
+ // ----- operator-linebreak -----
6201
+ type OperatorLinebreak = []|[("after" | "before" | "none" | null)]|[("after" | "before" | "none" | null), {
6202
+ overrides?: {
6203
+ [k: string]: ("after" | "before" | "none" | "ignore") | undefined
6204
+ }
3418
6205
  }]
6206
+ // ----- padded-blocks -----
6207
+ type PaddedBlocks = []|[(("always" | "never") | {
6208
+ blocks?: ("always" | "never")
6209
+ switches?: ("always" | "never")
6210
+ classes?: ("always" | "never")
6211
+ })]|[(("always" | "never") | {
6212
+ blocks?: ("always" | "never")
6213
+ switches?: ("always" | "never")
6214
+ classes?: ("always" | "never")
6215
+ }), {
6216
+ allowSingleLineBlocks?: boolean
6217
+ }]
6218
+ // ----- padding-line-between-statements -----
6219
+ type _PaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
6220
+ type _PaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "cjs-export" | "cjs-import" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with") | [("*" | "block-like" | "cjs-export" | "cjs-import" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with"), ...(("*" | "block-like" | "cjs-export" | "cjs-import" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with"))[]])
6221
+ type PaddingLineBetweenStatements = {
6222
+ blankLine: _PaddingLineBetweenStatementsPaddingType
6223
+ prev: _PaddingLineBetweenStatementsStatementType
6224
+ next: _PaddingLineBetweenStatementsStatementType
6225
+ }[]
3419
6226
  // ----- perfectionist/sort-array-includes -----
3420
6227
  type PerfectionistSortArrayIncludes = []|[{
3421
6228
 
@@ -3831,6 +6638,168 @@ type PerfectionistSortVueAttributes = []|[{
3831
6638
  [k: string]: (string | string[]) | undefined
3832
6639
  }
3833
6640
  }]
6641
+ // ----- prefer-arrow-callback -----
6642
+ type PreferArrowCallback = []|[{
6643
+ allowNamedFunctions?: boolean
6644
+ allowUnboundThis?: boolean
6645
+ }]
6646
+ // ----- prefer-const -----
6647
+ type PreferConst = []|[{
6648
+ destructuring?: ("any" | "all")
6649
+ ignoreReadBeforeAssign?: boolean
6650
+ }]
6651
+ // ----- prefer-destructuring -----
6652
+ type PreferDestructuring = []|[({
6653
+ VariableDeclarator?: {
6654
+ array?: boolean
6655
+ object?: boolean
6656
+ }
6657
+ AssignmentExpression?: {
6658
+ array?: boolean
6659
+ object?: boolean
6660
+ }
6661
+ } | {
6662
+ array?: boolean
6663
+ object?: boolean
6664
+ })]|[({
6665
+ VariableDeclarator?: {
6666
+ array?: boolean
6667
+ object?: boolean
6668
+ }
6669
+ AssignmentExpression?: {
6670
+ array?: boolean
6671
+ object?: boolean
6672
+ }
6673
+ } | {
6674
+ array?: boolean
6675
+ object?: boolean
6676
+ }), {
6677
+ enforceForRenamedProperties?: boolean
6678
+ }]
6679
+ // ----- prefer-promise-reject-errors -----
6680
+ type PreferPromiseRejectErrors = []|[{
6681
+ allowEmptyReject?: boolean
6682
+ }]
6683
+ // ----- prefer-reflect -----
6684
+ type PreferReflect = []|[{
6685
+ exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[]
6686
+ }]
6687
+ // ----- prefer-regex-literals -----
6688
+ type PreferRegexLiterals = []|[{
6689
+ disallowRedundantWrapping?: boolean
6690
+ }]
6691
+ // ----- quote-props -----
6692
+ type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
6693
+ keywords?: boolean
6694
+ unnecessary?: boolean
6695
+ numbers?: boolean
6696
+ }])
6697
+ // ----- quotes -----
6698
+ type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
6699
+ avoidEscape?: boolean
6700
+ allowTemplateLiterals?: boolean
6701
+ })]
6702
+ // ----- radix -----
6703
+ type Radix = []|[("always" | "as-needed")]
6704
+ // ----- require-atomic-updates -----
6705
+ type RequireAtomicUpdates = []|[{
6706
+ allowProperties?: boolean
6707
+ }]
6708
+ // ----- require-unicode-regexp -----
6709
+ type RequireUnicodeRegexp = []|[{
6710
+ requireFlag?: ("u" | "v")
6711
+ }]
6712
+ // ----- rest-spread-spacing -----
6713
+ type RestSpreadSpacing = []|[("always" | "never")]
6714
+ // ----- semi -----
6715
+ type Semi = ([]|["never"]|["never", {
6716
+ beforeStatementContinuationChars?: ("always" | "any" | "never")
6717
+ }] | []|["always"]|["always", {
6718
+ omitLastInOneLineBlock?: boolean
6719
+ omitLastInOneLineClassBody?: boolean
6720
+ }])
6721
+ // ----- semi-spacing -----
6722
+ type SemiSpacing = []|[{
6723
+ before?: boolean
6724
+ after?: boolean
6725
+ }]
6726
+ // ----- semi-style -----
6727
+ type SemiStyle = []|[("last" | "first")]
6728
+ // ----- sort-imports -----
6729
+ type SortImports = []|[{
6730
+ ignoreCase?: boolean
6731
+
6732
+ memberSyntaxSortOrder?: [("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single")]
6733
+ ignoreDeclarationSort?: boolean
6734
+ ignoreMemberSort?: boolean
6735
+ allowSeparatedGroups?: boolean
6736
+ }]
6737
+ // ----- sort-keys -----
6738
+ type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), {
6739
+ caseSensitive?: boolean
6740
+ natural?: boolean
6741
+ minKeys?: number
6742
+ allowLineSeparatedGroups?: boolean
6743
+ }]
6744
+ // ----- sort-vars -----
6745
+ type SortVars = []|[{
6746
+ ignoreCase?: boolean
6747
+ }]
6748
+ // ----- space-before-blocks -----
6749
+ type SpaceBeforeBlocks = []|[(("always" | "never") | {
6750
+ keywords?: ("always" | "never" | "off")
6751
+ functions?: ("always" | "never" | "off")
6752
+ classes?: ("always" | "never" | "off")
6753
+ })]
6754
+ // ----- space-before-function-paren -----
6755
+ type SpaceBeforeFunctionParen = []|[(("always" | "never") | {
6756
+ anonymous?: ("always" | "never" | "ignore")
6757
+ named?: ("always" | "never" | "ignore")
6758
+ asyncArrow?: ("always" | "never" | "ignore")
6759
+ })]
6760
+ // ----- space-in-parens -----
6761
+ type SpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
6762
+ exceptions?: ("{}" | "[]" | "()" | "empty")[]
6763
+ }]
6764
+ // ----- space-infix-ops -----
6765
+ type SpaceInfixOps = []|[{
6766
+ int32Hint?: boolean
6767
+ }]
6768
+ // ----- space-unary-ops -----
6769
+ type SpaceUnaryOps = []|[{
6770
+ words?: boolean
6771
+ nonwords?: boolean
6772
+ overrides?: {
6773
+ [k: string]: boolean | undefined
6774
+ }
6775
+ }]
6776
+ // ----- spaced-comment -----
6777
+ type SpacedComment = []|[("always" | "never")]|[("always" | "never"), {
6778
+ exceptions?: string[]
6779
+ markers?: string[]
6780
+ line?: {
6781
+ exceptions?: string[]
6782
+ markers?: string[]
6783
+ }
6784
+ block?: {
6785
+ exceptions?: string[]
6786
+ markers?: string[]
6787
+ balanced?: boolean
6788
+ }
6789
+ }]
6790
+ // ----- strict -----
6791
+ type Strict = []|[("never" | "global" | "function" | "safe")]
6792
+ // ----- switch-colon-spacing -----
6793
+ type SwitchColonSpacing = []|[{
6794
+ before?: boolean
6795
+ after?: boolean
6796
+ }]
6797
+ // ----- template-curly-spacing -----
6798
+ type TemplateCurlySpacing = []|[("always" | "never")]
6799
+ // ----- template-tag-spacing -----
6800
+ type TemplateTagSpacing = []|[("always" | "never")]
6801
+ // ----- unicode-bom -----
6802
+ type UnicodeBom = []|[("always" | "never")]
3834
6803
  // ----- unused-imports/no-unused-imports -----
3835
6804
  type UnusedImportsNoUnusedImports = []|[(("all" | "local") | {
3836
6805
 
@@ -3877,6 +6846,15 @@ type UnusedImportsNoUnusedVars = []|[(("all" | "local") | {
3877
6846
 
3878
6847
  reportUsedIgnorePattern?: boolean
3879
6848
  })]
6849
+ // ----- use-isnan -----
6850
+ type UseIsnan = []|[{
6851
+ enforceForSwitchCase?: boolean
6852
+ enforceForIndexOf?: boolean
6853
+ }]
6854
+ // ----- valid-typeof -----
6855
+ type ValidTypeof = []|[{
6856
+ requireStringLiterals?: boolean
6857
+ }]
3880
6858
  // ----- vitest/consistent-test-filename -----
3881
6859
  type VitestConsistentTestFilename = []|[{
3882
6860
  pattern?: string
@@ -3966,6 +6944,20 @@ type VitestValidExpect = []|[{
3966
6944
  minArgs?: number
3967
6945
  maxArgs?: number
3968
6946
  }]
6947
+ // ----- wrap-iife -----
6948
+ type WrapIife = []|[("outside" | "inside" | "any")]|[("outside" | "inside" | "any"), {
6949
+ functionPrototypeMethods?: boolean
6950
+ }]
6951
+ // ----- yield-star-spacing -----
6952
+ type YieldStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
6953
+ before?: boolean
6954
+ after?: boolean
6955
+ })]
6956
+ // ----- yoda -----
6957
+ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
6958
+ exceptRange?: boolean
6959
+ onlyEquality?: boolean
6960
+ }]
3969
6961
 
3970
6962
  export type {Awaitable} from 'eslint-flat-config-utils'
3971
6963
 
@@ -3978,7 +6970,7 @@ export type Config = Linter.Config<Linter.RulesRecord & Rules>
3978
6970
  /**
3979
6971
  * Contains the names of all the configurations in this package.
3980
6972
  */
3981
- export type ConfigNames = '@bfra.me/gitignore' | '@bfra.me/ignores' | '@bfra.me/javascript/options' | '@bfra.me/javascript/rules' | '@bfra.me/eslint-comments/rules' | '@bfra.me/jsdoc' | '@bfra.me/imports' | '@bfra.me/command' | '@bfra.me/perfectionist' | '@bfra.me/typescript/plugins' | '@bfra.me/typescript/parser' | '@bfra.me/typescript/rules' | '@bfra.me/vitest/plugin' | '@bfra.me/vitest/rules' | '@bfra.me/epilogue/dts'
6973
+ export type ConfigNames = '@bfra.me/gitignore' | '@bfra.me/ignores' | '@bfra.me/javascript/options' | '@bfra.me/javascript/rules' | '@bfra.me/eslint-comments/rules' | '@bfra.me/jsdoc' | '@bfra.me/imports' | '@bfra.me/command' | '@bfra.me/perfectionist' | '@bfra.me/typescript/plugins' | '@bfra.me/typescript/parser' | '@bfra.me/typescript/rules' | '@bfra.me/vitest/plugin' | '@bfra.me/vitest/rules' | '@bfra.me/epilogue/commonjs' | '@bfra.me/epilogue/configs' | '@bfra.me/epilogue/dts' | '@bfra.me/epilogue/scripts'
3982
6974
 
3983
6975
  export type * from './define-config'
3984
6976