@jimmy.codes/eslint-config 3.27.0 → 3.28.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/dist/index.d.cts CHANGED
@@ -1985,6 +1985,291 @@ interface RuleOptions {
1985
1985
  * @see https://github.com/jest-community/eslint-plugin-jest/blob/v28.9.0/docs/rules/valid-title.md
1986
1986
  */
1987
1987
  'jest/valid-title'?: Linter.RuleEntry<JestValidTitle>
1988
+ /**
1989
+ * Checks that `@access` tags have a valid value.
1990
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
1991
+ */
1992
+ 'jsdoc/check-access'?: Linter.RuleEntry<[]>
1993
+ /**
1994
+ * Reports invalid alignment of JSDoc block asterisks.
1995
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
1996
+ */
1997
+ 'jsdoc/check-alignment'?: Linter.RuleEntry<[]>
1998
+ /**
1999
+ * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
2000
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
2001
+ */
2002
+ 'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>
2003
+ /**
2004
+ * Reports invalid padding inside JSDoc blocks.
2005
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
2006
+ */
2007
+ 'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>
2008
+ /**
2009
+ * Reports invalid alignment of JSDoc block lines.
2010
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sticky-header
2011
+ */
2012
+ 'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>
2013
+ /**
2014
+ * Ensures that parameter names in JSDoc match those in the function declaration.
2015
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
2016
+ */
2017
+ 'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>
2018
+ /**
2019
+ * Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
2020
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
2021
+ */
2022
+ 'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>
2023
+ /**
2024
+ * Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
2025
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
2026
+ */
2027
+ 'jsdoc/check-syntax'?: Linter.RuleEntry<[]>
2028
+ /**
2029
+ * Reports invalid block tag names.
2030
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
2031
+ */
2032
+ 'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>
2033
+ /**
2034
+ * Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
2035
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
2036
+ */
2037
+ 'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
2038
+ /**
2039
+ * Reports invalid types.
2040
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
2041
+ */
2042
+ 'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>
2043
+ /**
2044
+ * This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
2045
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
2046
+ */
2047
+ 'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>
2048
+ /**
2049
+ * Converts non-JSDoc comments preceding or following nodes into JSDoc ones
2050
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md#repos-sticky-header
2051
+ */
2052
+ 'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>
2053
+ /**
2054
+ * Expects specific tags to be empty of any content.
2055
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
2056
+ */
2057
+ 'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>
2058
+ /**
2059
+ * Reports an issue with any non-constructor function using `@implements`.
2060
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
2061
+ */
2062
+ 'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>
2063
+ /**
2064
+ * Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
2065
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
2066
+ */
2067
+ 'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>
2068
+ /**
2069
+ * This rule reports doc comments that only restate their attached name.
2070
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
2071
+ */
2072
+ 'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>
2073
+ /**
2074
+ * Enforces minimum number of newlines before JSDoc comment blocks
2075
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
2076
+ */
2077
+ 'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>
2078
+ /**
2079
+ * Enforces a regular expression pattern on descriptions.
2080
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
2081
+ */
2082
+ 'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>
2083
+ /**
2084
+ * Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
2085
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
2086
+ */
2087
+ 'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>
2088
+ /**
2089
+ * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
2090
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
2091
+ */
2092
+ 'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>
2093
+ /**
2094
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
2095
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
2096
+ */
2097
+ 'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>
2098
+ /**
2099
+ * Detects and removes extra lines of a blank block description
2100
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
2101
+ */
2102
+ 'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>
2103
+ /**
2104
+ * Removes empty blocks with nothing but possibly line breaks
2105
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
2106
+ */
2107
+ 'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>
2108
+ /**
2109
+ * This rule reports defaults being used on the relevant portion of `@param` or `@default`.
2110
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
2111
+ */
2112
+ 'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>
2113
+ /**
2114
+ * Reports when certain comment structures are always expected.
2115
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
2116
+ */
2117
+ 'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>
2118
+ /**
2119
+ * Prevents use of multiple asterisks at the beginning of lines.
2120
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
2121
+ */
2122
+ 'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>
2123
+ /**
2124
+ * Reports when certain comment structures are present.
2125
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
2126
+ */
2127
+ 'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>
2128
+ /**
2129
+ * This rule reports types being used on `@param` or `@returns`.
2130
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
2131
+ */
2132
+ 'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>
2133
+ /**
2134
+ * Checks that types in jsdoc comments are defined.
2135
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
2136
+ */
2137
+ 'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>
2138
+ /**
2139
+ * Requires that each JSDoc line starts with an `*`.
2140
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
2141
+ */
2142
+ 'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>
2143
+ /**
2144
+ * Requires that all functions have a description.
2145
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
2146
+ */
2147
+ 'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>
2148
+ /**
2149
+ * Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
2150
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
2151
+ */
2152
+ 'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>
2153
+ /**
2154
+ * Requires that all functions have examples.
2155
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
2156
+ */
2157
+ 'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>
2158
+ /**
2159
+ * Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
2160
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
2161
+ */
2162
+ 'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>
2163
+ /**
2164
+ * Requires a hyphen before the `@param` description.
2165
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
2166
+ */
2167
+ 'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>
2168
+ /**
2169
+ * Require JSDoc comments
2170
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
2171
+ */
2172
+ 'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>
2173
+ /**
2174
+ * Requires that all function parameters are documented.
2175
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
2176
+ */
2177
+ 'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>
2178
+ /**
2179
+ * Requires that each `@param` tag has a `description` value.
2180
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
2181
+ */
2182
+ 'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>
2183
+ /**
2184
+ * Requires that all function parameters have names.
2185
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
2186
+ */
2187
+ 'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>
2188
+ /**
2189
+ * Requires that each `@param` tag has a `type` value.
2190
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
2191
+ */
2192
+ 'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>
2193
+ /**
2194
+ * Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
2195
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
2196
+ */
2197
+ 'jsdoc/require-property'?: Linter.RuleEntry<[]>
2198
+ /**
2199
+ * Requires that each `@property` tag has a `description` value.
2200
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
2201
+ */
2202
+ 'jsdoc/require-property-description'?: Linter.RuleEntry<[]>
2203
+ /**
2204
+ * Requires that all function `@property` tags have names.
2205
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
2206
+ */
2207
+ 'jsdoc/require-property-name'?: Linter.RuleEntry<[]>
2208
+ /**
2209
+ * Requires that each `@property` tag has a `type` value.
2210
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
2211
+ */
2212
+ 'jsdoc/require-property-type'?: Linter.RuleEntry<[]>
2213
+ /**
2214
+ * Requires that returns are documented.
2215
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
2216
+ */
2217
+ 'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>
2218
+ /**
2219
+ * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
2220
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
2221
+ */
2222
+ 'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>
2223
+ /**
2224
+ * Requires that the `@returns` tag has a `description` value.
2225
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
2226
+ */
2227
+ 'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>
2228
+ /**
2229
+ * Requires that `@returns` tag has `type` value.
2230
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
2231
+ */
2232
+ 'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>
2233
+ /**
2234
+ * Requires template tags for each generic type parameter
2235
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
2236
+ */
2237
+ 'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>
2238
+ /**
2239
+ * Requires that throw statements are documented.
2240
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
2241
+ */
2242
+ 'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>
2243
+ /**
2244
+ * Requires yields are documented.
2245
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
2246
+ */
2247
+ 'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>
2248
+ /**
2249
+ * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
2250
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
2251
+ */
2252
+ 'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>
2253
+ /**
2254
+ * Sorts tags by a specified sequence according to tag name.
2255
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
2256
+ */
2257
+ 'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>
2258
+ /**
2259
+ * Enforces lines (or no lines) between tags.
2260
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
2261
+ */
2262
+ 'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>
2263
+ /**
2264
+ * Auto-escape certain characters that are input within block and tag descriptions.
2265
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
2266
+ */
2267
+ 'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>
2268
+ /**
2269
+ * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
2270
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
2271
+ */
2272
+ 'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
1988
2273
  /**
1989
2274
  * Enforce emojis are wrapped in `<span>` and provide screen reader access.
1990
2275
  * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
@@ -8097,6 +8382,466 @@ type JestValidTitle = []|[{
8097
8382
  [k: string]: (string | [string]|[string, string]) | undefined
8098
8383
  })
8099
8384
  }]
8385
+ // ----- jsdoc/check-examples -----
8386
+ type JsdocCheckExamples = []|[{
8387
+ allowInlineConfig?: boolean
8388
+ baseConfig?: {
8389
+ [k: string]: unknown | undefined
8390
+ }
8391
+ captionRequired?: boolean
8392
+ checkDefaults?: boolean
8393
+ checkEslintrc?: boolean
8394
+ checkParams?: boolean
8395
+ checkProperties?: boolean
8396
+ configFile?: string
8397
+ exampleCodeRegex?: string
8398
+ matchingFileName?: string
8399
+ matchingFileNameDefaults?: string
8400
+ matchingFileNameParams?: string
8401
+ matchingFileNameProperties?: string
8402
+ noDefaultExampleRules?: boolean
8403
+ paddedIndent?: number
8404
+ rejectExampleCodeRegex?: string
8405
+ reportUnusedDisableDirectives?: boolean
8406
+ }]
8407
+ // ----- jsdoc/check-indentation -----
8408
+ type JsdocCheckIndentation = []|[{
8409
+ excludeTags?: string[]
8410
+ }]
8411
+ // ----- jsdoc/check-line-alignment -----
8412
+ type JsdocCheckLineAlignment = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
8413
+ customSpacings?: {
8414
+ postDelimiter?: number
8415
+ postHyphen?: number
8416
+ postName?: number
8417
+ postTag?: number
8418
+ postType?: number
8419
+ }
8420
+ preserveMainDescriptionPostDelimiter?: boolean
8421
+ tags?: string[]
8422
+ wrapIndent?: string
8423
+ disableWrapIndent?: boolean
8424
+ }]
8425
+ // ----- jsdoc/check-param-names -----
8426
+ type JsdocCheckParamNames = []|[{
8427
+ allowExtraTrailingParamDocs?: boolean
8428
+ checkDestructured?: boolean
8429
+ checkRestProperty?: boolean
8430
+ checkTypesPattern?: string
8431
+ disableExtraPropertyReporting?: boolean
8432
+ disableMissingParamChecks?: boolean
8433
+ enableFixer?: boolean
8434
+ useDefaultObjectProperties?: boolean
8435
+ }]
8436
+ // ----- jsdoc/check-property-names -----
8437
+ type JsdocCheckPropertyNames = []|[{
8438
+ enableFixer?: boolean
8439
+ }]
8440
+ // ----- jsdoc/check-tag-names -----
8441
+ type JsdocCheckTagNames = []|[{
8442
+ definedTags?: string[]
8443
+ enableFixer?: boolean
8444
+ jsxTags?: boolean
8445
+ typed?: boolean
8446
+ }]
8447
+ // ----- jsdoc/check-types -----
8448
+ type JsdocCheckTypes = []|[{
8449
+ exemptTagContexts?: {
8450
+ tag?: string
8451
+ types?: (boolean | string[])
8452
+ }[]
8453
+ noDefaults?: boolean
8454
+ unifyParentAndChildTypeChecks?: boolean
8455
+ }]
8456
+ // ----- jsdoc/check-values -----
8457
+ type JsdocCheckValues = []|[{
8458
+ allowedAuthors?: string[]
8459
+ allowedLicenses?: (string[] | boolean)
8460
+ licensePattern?: string
8461
+ numericOnlyVariation?: boolean
8462
+ }]
8463
+ // ----- jsdoc/convert-to-jsdoc-comments -----
8464
+ type JsdocConvertToJsdocComments = []|[{
8465
+ allowedPrefixes?: string[]
8466
+ contexts?: (string | {
8467
+ context?: string
8468
+ inlineCommentBlock?: boolean
8469
+ })[]
8470
+ contextsAfter?: (string | {
8471
+ context?: string
8472
+ inlineCommentBlock?: boolean
8473
+ })[]
8474
+ contextsBeforeAndAfter?: (string | {
8475
+ context?: string
8476
+ inlineCommentBlock?: boolean
8477
+ })[]
8478
+ enableFixer?: boolean
8479
+ enforceJsdocLineStyle?: ("multi" | "single")
8480
+ lineOrBlockStyle?: ("block" | "line" | "both")
8481
+ }]
8482
+ // ----- jsdoc/empty-tags -----
8483
+ type JsdocEmptyTags = []|[{
8484
+ tags?: string[]
8485
+ }]
8486
+ // ----- jsdoc/implements-on-classes -----
8487
+ type JsdocImplementsOnClasses = []|[{
8488
+ contexts?: (string | {
8489
+ comment?: string
8490
+ context?: string
8491
+ })[]
8492
+ }]
8493
+ // ----- jsdoc/informative-docs -----
8494
+ type JsdocInformativeDocs = []|[{
8495
+ aliases?: {
8496
+ [k: string]: string[]
8497
+ }
8498
+ excludedTags?: string[]
8499
+ uselessWords?: string[]
8500
+ }]
8501
+ // ----- jsdoc/lines-before-block -----
8502
+ type JsdocLinesBeforeBlock = []|[{
8503
+ checkBlockStarts?: boolean
8504
+ excludedTags?: string[]
8505
+ ignoreSameLine?: boolean
8506
+ lines?: number
8507
+ }]
8508
+ // ----- jsdoc/match-description -----
8509
+ type JsdocMatchDescription = []|[{
8510
+ contexts?: (string | {
8511
+ comment?: string
8512
+ context?: string
8513
+ })[]
8514
+ mainDescription?: (string | boolean | {
8515
+ match?: (string | boolean)
8516
+ message?: string
8517
+ })
8518
+ matchDescription?: string
8519
+ message?: string
8520
+ nonemptyTags?: boolean
8521
+ tags?: {
8522
+ [k: string]: (string | true | {
8523
+ match?: (string | true)
8524
+ message?: string
8525
+ })
8526
+ }
8527
+ }]
8528
+ // ----- jsdoc/match-name -----
8529
+ type JsdocMatchName = []|[{
8530
+ match: {
8531
+ allowName?: string
8532
+ comment?: string
8533
+ context?: string
8534
+ disallowName?: string
8535
+ message?: string
8536
+ tags?: string[]
8537
+ [k: string]: unknown | undefined
8538
+ }[]
8539
+ }]
8540
+ // ----- jsdoc/multiline-blocks -----
8541
+ type JsdocMultilineBlocks = []|[{
8542
+ allowMultipleTags?: boolean
8543
+ minimumLengthForMultiline?: number
8544
+ multilineTags?: ("*" | string[])
8545
+ noFinalLineText?: boolean
8546
+ noMultilineBlocks?: boolean
8547
+ noSingleLineBlocks?: boolean
8548
+ noZeroLineText?: boolean
8549
+ singleLineTags?: string[]
8550
+ }]
8551
+ // ----- jsdoc/no-bad-blocks -----
8552
+ type JsdocNoBadBlocks = []|[{
8553
+ ignore?: string[]
8554
+ preventAllMultiAsteriskBlocks?: boolean
8555
+ }]
8556
+ // ----- jsdoc/no-blank-blocks -----
8557
+ type JsdocNoBlankBlocks = []|[{
8558
+ enableFixer?: boolean
8559
+ }]
8560
+ // ----- jsdoc/no-defaults -----
8561
+ type JsdocNoDefaults = []|[{
8562
+ contexts?: (string | {
8563
+ comment?: string
8564
+ context?: string
8565
+ })[]
8566
+ noOptionalParamNames?: boolean
8567
+ }]
8568
+ // ----- jsdoc/no-missing-syntax -----
8569
+ type JsdocNoMissingSyntax = []|[{
8570
+ contexts?: (string | {
8571
+ comment?: string
8572
+ context?: string
8573
+ message?: string
8574
+ minimum?: number
8575
+ })[]
8576
+ }]
8577
+ // ----- jsdoc/no-multi-asterisks -----
8578
+ type JsdocNoMultiAsterisks = []|[{
8579
+ allowWhitespace?: boolean
8580
+ preventAtEnd?: boolean
8581
+ preventAtMiddleLines?: boolean
8582
+ }]
8583
+ // ----- jsdoc/no-restricted-syntax -----
8584
+ type JsdocNoRestrictedSyntax = []|[{
8585
+ contexts: (string | {
8586
+ comment?: string
8587
+ context?: string
8588
+ message?: string
8589
+ })[]
8590
+ }]
8591
+ // ----- jsdoc/no-types -----
8592
+ type JsdocNoTypes = []|[{
8593
+ contexts?: (string | {
8594
+ comment?: string
8595
+ context?: string
8596
+ })[]
8597
+ }]
8598
+ // ----- jsdoc/no-undefined-types -----
8599
+ type JsdocNoUndefinedTypes = []|[{
8600
+ definedTypes?: string[]
8601
+ disableReporting?: boolean
8602
+ markVariablesAsUsed?: boolean
8603
+ }]
8604
+ // ----- jsdoc/require-asterisk-prefix -----
8605
+ type JsdocRequireAsteriskPrefix = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
8606
+ tags?: {
8607
+ always?: string[]
8608
+ any?: string[]
8609
+ never?: string[]
8610
+ [k: string]: unknown | undefined
8611
+ }
8612
+ }]
8613
+ // ----- jsdoc/require-description -----
8614
+ type JsdocRequireDescription = []|[{
8615
+ checkConstructors?: boolean
8616
+ checkGetters?: boolean
8617
+ checkSetters?: boolean
8618
+ contexts?: (string | {
8619
+ comment?: string
8620
+ context?: string
8621
+ })[]
8622
+ descriptionStyle?: ("body" | "tag" | "any")
8623
+ exemptedBy?: string[]
8624
+ }]
8625
+ // ----- jsdoc/require-description-complete-sentence -----
8626
+ type JsdocRequireDescriptionCompleteSentence = []|[{
8627
+ abbreviations?: string[]
8628
+ newlineBeforeCapsAssumesBadSentenceEnd?: boolean
8629
+ tags?: string[]
8630
+ }]
8631
+ // ----- jsdoc/require-example -----
8632
+ type JsdocRequireExample = []|[{
8633
+ checkConstructors?: boolean
8634
+ checkGetters?: boolean
8635
+ checkSetters?: boolean
8636
+ contexts?: (string | {
8637
+ comment?: string
8638
+ context?: string
8639
+ })[]
8640
+ enableFixer?: boolean
8641
+ exemptedBy?: string[]
8642
+ exemptNoArguments?: boolean
8643
+ }]
8644
+ // ----- jsdoc/require-file-overview -----
8645
+ type JsdocRequireFileOverview = []|[{
8646
+ tags?: {
8647
+ [k: string]: {
8648
+ initialCommentsOnly?: boolean
8649
+ mustExist?: boolean
8650
+ preventDuplicates?: boolean
8651
+ }
8652
+ }
8653
+ }]
8654
+ // ----- jsdoc/require-hyphen-before-param-description -----
8655
+ type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("always" | "never"), {
8656
+ tags?: ({
8657
+ [k: string]: ("always" | "never")
8658
+ } | "any")
8659
+ }]
8660
+ // ----- jsdoc/require-jsdoc -----
8661
+ type JsdocRequireJsdoc = []|[{
8662
+ checkConstructors?: boolean
8663
+ checkGetters?: (boolean | "no-setter")
8664
+ checkSetters?: (boolean | "no-getter")
8665
+ contexts?: (string | {
8666
+ context?: string
8667
+ inlineCommentBlock?: boolean
8668
+ minLineCount?: number
8669
+ })[]
8670
+ enableFixer?: boolean
8671
+ exemptEmptyConstructors?: boolean
8672
+ exemptEmptyFunctions?: boolean
8673
+ fixerMessage?: string
8674
+ minLineCount?: number
8675
+ publicOnly?: (boolean | {
8676
+ ancestorsOnly?: boolean
8677
+ cjs?: boolean
8678
+ esm?: boolean
8679
+ window?: boolean
8680
+ })
8681
+ require?: {
8682
+ ArrowFunctionExpression?: boolean
8683
+ ClassDeclaration?: boolean
8684
+ ClassExpression?: boolean
8685
+ FunctionDeclaration?: boolean
8686
+ FunctionExpression?: boolean
8687
+ MethodDefinition?: boolean
8688
+ }
8689
+ }]
8690
+ // ----- jsdoc/require-param -----
8691
+ type JsdocRequireParam = []|[{
8692
+ autoIncrementBase?: number
8693
+ checkConstructors?: boolean
8694
+ checkDestructured?: boolean
8695
+ checkDestructuredRoots?: boolean
8696
+ checkGetters?: boolean
8697
+ checkRestProperty?: boolean
8698
+ checkSetters?: boolean
8699
+ checkTypesPattern?: string
8700
+ contexts?: (string | {
8701
+ comment?: string
8702
+ context?: string
8703
+ })[]
8704
+ enableFixer?: boolean
8705
+ enableRestElementFixer?: boolean
8706
+ enableRootFixer?: boolean
8707
+ exemptedBy?: string[]
8708
+ ignoreWhenAllParamsMissing?: boolean
8709
+ unnamedRootBase?: string[]
8710
+ useDefaultObjectProperties?: boolean
8711
+ }]
8712
+ // ----- jsdoc/require-param-description -----
8713
+ type JsdocRequireParamDescription = []|[{
8714
+ contexts?: (string | {
8715
+ comment?: string
8716
+ context?: string
8717
+ })[]
8718
+ defaultDestructuredRootDescription?: string
8719
+ setDefaultDestructuredRootDescription?: boolean
8720
+ }]
8721
+ // ----- jsdoc/require-param-name -----
8722
+ type JsdocRequireParamName = []|[{
8723
+ contexts?: (string | {
8724
+ comment?: string
8725
+ context?: string
8726
+ })[]
8727
+ }]
8728
+ // ----- jsdoc/require-param-type -----
8729
+ type JsdocRequireParamType = []|[{
8730
+ contexts?: (string | {
8731
+ comment?: string
8732
+ context?: string
8733
+ })[]
8734
+ defaultDestructuredRootType?: string
8735
+ setDefaultDestructuredRootType?: boolean
8736
+ }]
8737
+ // ----- jsdoc/require-returns -----
8738
+ type JsdocRequireReturns = []|[{
8739
+ checkConstructors?: boolean
8740
+ checkGetters?: boolean
8741
+ contexts?: (string | {
8742
+ comment?: string
8743
+ context?: string
8744
+ forceRequireReturn?: boolean
8745
+ })[]
8746
+ enableFixer?: boolean
8747
+ exemptedBy?: string[]
8748
+ forceRequireReturn?: boolean
8749
+ forceReturnsWithAsync?: boolean
8750
+ publicOnly?: (boolean | {
8751
+ ancestorsOnly?: boolean
8752
+ cjs?: boolean
8753
+ esm?: boolean
8754
+ window?: boolean
8755
+ })
8756
+ }]
8757
+ // ----- jsdoc/require-returns-check -----
8758
+ type JsdocRequireReturnsCheck = []|[{
8759
+ exemptAsync?: boolean
8760
+ exemptGenerators?: boolean
8761
+ reportMissingReturnForUndefinedTypes?: boolean
8762
+ }]
8763
+ // ----- jsdoc/require-returns-description -----
8764
+ type JsdocRequireReturnsDescription = []|[{
8765
+ contexts?: (string | {
8766
+ comment?: string
8767
+ context?: string
8768
+ })[]
8769
+ }]
8770
+ // ----- jsdoc/require-returns-type -----
8771
+ type JsdocRequireReturnsType = []|[{
8772
+ contexts?: (string | {
8773
+ comment?: string
8774
+ context?: string
8775
+ })[]
8776
+ }]
8777
+ // ----- jsdoc/require-template -----
8778
+ type JsdocRequireTemplate = []|[{
8779
+ requireSeparateTemplates?: boolean
8780
+ }]
8781
+ // ----- jsdoc/require-throws -----
8782
+ type JsdocRequireThrows = []|[{
8783
+ contexts?: (string | {
8784
+ comment?: string
8785
+ context?: string
8786
+ })[]
8787
+ exemptedBy?: string[]
8788
+ }]
8789
+ // ----- jsdoc/require-yields -----
8790
+ type JsdocRequireYields = []|[{
8791
+ contexts?: (string | {
8792
+ comment?: string
8793
+ context?: string
8794
+ })[]
8795
+ exemptedBy?: string[]
8796
+ forceRequireNext?: boolean
8797
+ forceRequireYields?: boolean
8798
+ next?: boolean
8799
+ nextWithGeneratorTag?: boolean
8800
+ withGeneratorTag?: boolean
8801
+ }]
8802
+ // ----- jsdoc/require-yields-check -----
8803
+ type JsdocRequireYieldsCheck = []|[{
8804
+ checkGeneratorsOnly?: boolean
8805
+ contexts?: (string | {
8806
+ comment?: string
8807
+ context?: string
8808
+ })[]
8809
+ exemptedBy?: string[]
8810
+ next?: boolean
8811
+ }]
8812
+ // ----- jsdoc/sort-tags -----
8813
+ type JsdocSortTags = []|[{
8814
+ alphabetizeExtras?: boolean
8815
+ linesBetween?: number
8816
+ reportIntraTagGroupSpacing?: boolean
8817
+ reportTagGroupSpacing?: boolean
8818
+ tagSequence?: {
8819
+ tags?: string[]
8820
+ [k: string]: unknown | undefined
8821
+ }[]
8822
+ }]
8823
+ // ----- jsdoc/tag-lines -----
8824
+ type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "never"), {
8825
+ applyToEndTag?: boolean
8826
+ count?: number
8827
+ endLines?: (number | null)
8828
+ startLines?: (number | null)
8829
+ tags?: {
8830
+ [k: string]: {
8831
+ count?: number
8832
+ lines?: ("always" | "never" | "any")
8833
+ }
8834
+ }
8835
+ }]
8836
+ // ----- jsdoc/text-escaping -----
8837
+ type JsdocTextEscaping = []|[{
8838
+ escapeHTML?: boolean
8839
+ escapeMarkdown?: boolean
8840
+ }]
8841
+ // ----- jsdoc/valid-types -----
8842
+ type JsdocValidTypes = []|[{
8843
+ allowEmptyNamepaths?: boolean
8844
+ }]
8100
8845
  // ----- jsx-a11y/accessible-emoji -----
8101
8846
  type JsxA11YAccessibleEmoji = []|[{
8102
8847
  [k: string]: unknown | undefined
@@ -11405,7 +12150,6 @@ interface ReactOptions {
11405
12150
  type TypedConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins"> & {
11406
12151
  /**
11407
12152
  * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
11408
- *
11409
12153
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
11410
12154
  */
11411
12155
  plugins?: Record<string, unknown>;
@@ -11424,6 +12168,7 @@ interface Options {
11424
12168
  /**
11425
12169
  * Additional configs to either extend or overrides configurations
11426
12170
  * @deprecated please use {@link Options.configs} instead.
12171
+ *
11427
12172
  * @default []
11428
12173
  */
11429
12174
  configs?: Linter.Config[] | TypedConfigItem[];
@@ -11470,6 +12215,7 @@ interface Options {
11470
12215
  /**
11471
12216
  * Are testing rules enabled?
11472
12217
  * @default false
12218
+ *
11473
12219
  * @deprecated please use {@link Options.jest}, {@link Options.vitest}, or {@link Options.testingLibrary} instead.
11474
12220
  */
11475
12221
  testing?: boolean | TestingOptions;
@@ -12145,6 +12891,24 @@ declare const eslintConfig: ({ astro, autoDetect, configs, ignores, jest, nextjs
12145
12891
  "object-shorthand": "error";
12146
12892
  "prefer-arrow-callback": "error";
12147
12893
  };
12894
+ } | {
12895
+ name: string;
12896
+ rules: {
12897
+ "jsdoc/require-jsdoc": "off";
12898
+ "jsdoc/require-param": "off";
12899
+ "jsdoc/require-returns": "off";
12900
+ "jsdoc/tag-lines": ["error", "always", {
12901
+ applyToEndTag: false;
12902
+ }];
12903
+ };
12904
+ files?: Array<string | string[]>;
12905
+ ignores?: string[];
12906
+ language?: string;
12907
+ languageOptions?: Linter.LanguageOptions;
12908
+ linterOptions?: Linter.LinterOptions;
12909
+ processor?: string | Linter.Processor;
12910
+ plugins?: Record<string, eslint.ESLint.Plugin>;
12911
+ settings?: Record<string, unknown>;
12148
12912
  } | {
12149
12913
  files: string[];
12150
12914
  name: string;