eslint 8.57.1 → 9.39.1
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/README.md +165 -115
- package/bin/eslint.js +112 -89
- package/conf/default-cli-options.js +22 -22
- package/conf/ecma-version.js +16 -0
- package/conf/globals.js +109 -94
- package/conf/replacements.json +24 -20
- package/conf/rule-type-list.json +89 -26
- package/lib/api.js +16 -20
- package/lib/cli-engine/cli-engine.js +841 -810
- package/lib/cli-engine/file-enumerator.js +384 -390
- package/lib/cli-engine/formatters/formatters-meta.json +17 -45
- package/lib/cli-engine/formatters/html.js +110 -102
- package/lib/cli-engine/formatters/json-with-metadata.js +5 -5
- package/lib/cli-engine/formatters/json.js +2 -2
- package/lib/cli-engine/formatters/stylish.js +97 -76
- package/lib/cli-engine/hash.js +1 -1
- package/lib/cli-engine/index.js +1 -1
- package/lib/cli-engine/lint-result-cache.js +165 -148
- package/lib/cli-engine/load-rules.js +17 -17
- package/lib/cli.js +481 -399
- package/lib/config/config-loader.js +816 -0
- package/lib/config/config.js +674 -0
- package/lib/config/default-config.js +57 -46
- package/lib/config/flat-config-array.js +170 -333
- package/lib/config/flat-config-schema.js +389 -389
- package/lib/config-api.js +12 -0
- package/lib/eslint/eslint-helpers.js +1196 -663
- package/lib/eslint/eslint.js +1262 -607
- package/lib/eslint/index.js +3 -3
- package/lib/eslint/legacy-eslint.js +786 -0
- package/lib/eslint/worker.js +173 -0
- package/lib/languages/js/index.js +336 -0
- package/lib/languages/js/source-code/index.js +7 -0
- package/lib/languages/js/source-code/source-code.js +1364 -0
- package/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +61 -0
- package/lib/languages/js/source-code/token-store/backward-token-cursor.js +57 -0
- package/lib/{source-code → languages/js/source-code}/token-store/cursor.js +36 -36
- package/lib/languages/js/source-code/token-store/cursors.js +120 -0
- package/lib/{source-code → languages/js/source-code}/token-store/decorative-cursor.js +17 -18
- package/lib/{source-code → languages/js/source-code}/token-store/filter-cursor.js +19 -20
- package/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +65 -0
- package/lib/languages/js/source-code/token-store/forward-token-cursor.js +62 -0
- package/lib/languages/js/source-code/token-store/index.js +721 -0
- package/lib/{source-code → languages/js/source-code}/token-store/limit-cursor.js +17 -18
- package/lib/languages/js/source-code/token-store/padded-token-cursor.js +45 -0
- package/lib/{source-code → languages/js/source-code}/token-store/skip-cursor.js +19 -20
- package/lib/languages/js/source-code/token-store/utils.js +110 -0
- package/lib/languages/js/validate-language-options.js +196 -0
- package/lib/linter/apply-disable-directives.js +490 -371
- package/lib/linter/code-path-analysis/code-path-analyzer.js +650 -674
- package/lib/linter/code-path-analysis/code-path-segment.js +215 -216
- package/lib/linter/code-path-analysis/code-path-state.js +2118 -2096
- package/lib/linter/code-path-analysis/code-path.js +307 -317
- package/lib/linter/code-path-analysis/debug-helpers.js +183 -163
- package/lib/linter/code-path-analysis/fork-context.js +297 -272
- package/lib/linter/code-path-analysis/id-generator.js +22 -23
- package/lib/linter/esquery.js +332 -0
- package/lib/linter/file-context.js +144 -0
- package/lib/linter/file-report.js +608 -0
- package/lib/linter/index.js +3 -5
- package/lib/linter/interpolate.js +38 -16
- package/lib/linter/linter.js +2328 -1785
- package/lib/linter/rule-fixer.js +136 -107
- package/lib/linter/rules.js +37 -46
- package/lib/linter/source-code-fixer.js +96 -94
- package/lib/linter/source-code-traverser.js +333 -0
- package/lib/linter/source-code-visitor.js +81 -0
- package/lib/linter/timing.js +145 -97
- package/lib/linter/vfile.js +115 -0
- package/lib/options.js +464 -326
- package/lib/rule-tester/index.js +3 -1
- package/lib/rule-tester/rule-tester.js +1371 -998
- package/lib/rules/accessor-pairs.js +333 -259
- package/lib/rules/array-bracket-newline.js +250 -220
- package/lib/rules/array-bracket-spacing.js +286 -229
- package/lib/rules/array-callback-return.js +401 -354
- package/lib/rules/array-element-newline.js +358 -295
- package/lib/rules/arrow-body-style.js +400 -278
- package/lib/rules/arrow-parens.js +206 -155
- package/lib/rules/arrow-spacing.js +169 -145
- package/lib/rules/block-scoped-var.js +125 -123
- package/lib/rules/block-spacing.js +186 -158
- package/lib/rules/brace-style.js +262 -181
- package/lib/rules/callback-return.js +203 -174
- package/lib/rules/camelcase.js +403 -380
- package/lib/rules/capitalized-comments.js +253 -228
- package/lib/rules/class-methods-use-this.js +231 -168
- package/lib/rules/comma-dangle.js +379 -328
- package/lib/rules/comma-spacing.js +193 -177
- package/lib/rules/comma-style.js +375 -298
- package/lib/rules/complexity.js +180 -144
- package/lib/rules/computed-property-spacing.js +236 -193
- package/lib/rules/consistent-return.js +181 -170
- package/lib/rules/consistent-this.js +167 -141
- package/lib/rules/constructor-super.js +418 -411
- package/lib/rules/curly.js +407 -468
- package/lib/rules/default-case-last.js +39 -32
- package/lib/rules/default-case.js +89 -83
- package/lib/rules/default-param-last.js +69 -53
- package/lib/rules/dot-location.js +122 -92
- package/lib/rules/dot-notation.js +193 -153
- package/lib/rules/eol-last.js +122 -102
- package/lib/rules/eqeqeq.js +191 -155
- package/lib/rules/for-direction.js +150 -122
- package/lib/rules/func-call-spacing.js +261 -213
- package/lib/rules/func-name-matching.js +294 -209
- package/lib/rules/func-names.js +165 -164
- package/lib/rules/func-style.js +209 -86
- package/lib/rules/function-call-argument-newline.js +152 -111
- package/lib/rules/function-paren-newline.js +349 -273
- package/lib/rules/generator-star-spacing.js +229 -192
- package/lib/rules/getter-return.js +208 -170
- package/lib/rules/global-require.js +85 -58
- package/lib/rules/grouped-accessor-pairs.js +201 -148
- package/lib/rules/guard-for-in.js +72 -63
- package/lib/rules/handle-callback-err.js +108 -87
- package/lib/rules/id-blacklist.js +182 -187
- package/lib/rules/id-denylist.js +174 -179
- package/lib/rules/id-length.js +197 -157
- package/lib/rules/id-match.js +350 -286
- package/lib/rules/implicit-arrow-linebreak.js +102 -61
- package/lib/rules/indent-legacy.js +1345 -1102
- package/lib/rules/indent.js +2272 -1741
- package/lib/rules/index.js +320 -294
- package/lib/rules/init-declarations.js +139 -106
- package/lib/rules/jsx-quotes.js +94 -64
- package/lib/rules/key-spacing.js +750 -615
- package/lib/rules/keyword-spacing.js +648 -587
- package/lib/rules/line-comment-position.js +143 -108
- package/lib/rules/linebreak-style.js +115 -88
- package/lib/rules/lines-around-comment.js +540 -430
- package/lib/rules/lines-around-directive.js +233 -185
- package/lib/rules/lines-between-class-members.js +305 -216
- package/lib/rules/logical-assignment-operators.js +582 -398
- package/lib/rules/max-classes-per-file.js +69 -68
- package/lib/rules/max-depth.js +146 -143
- package/lib/rules/max-len.js +473 -416
- package/lib/rules/max-lines-per-function.js +201 -176
- package/lib/rules/max-lines.js +158 -162
- package/lib/rules/max-nested-callbacks.js +102 -104
- package/lib/rules/max-params.js +102 -75
- package/lib/rules/max-statements-per-line.js +205 -180
- package/lib/rules/max-statements.js +168 -164
- package/lib/rules/multiline-comment-style.js +638 -460
- package/lib/rules/multiline-ternary.js +241 -158
- package/lib/rules/new-cap.js +233 -232
- package/lib/rules/new-parens.js +88 -61
- package/lib/rules/newline-after-var.js +287 -233
- package/lib/rules/newline-before-return.js +229 -204
- package/lib/rules/newline-per-chained-call.js +142 -109
- package/lib/rules/no-alert.js +90 -79
- package/lib/rules/no-array-constructor.js +175 -113
- package/lib/rules/no-async-promise-executor.js +30 -24
- package/lib/rules/no-await-in-loop.js +79 -70
- package/lib/rules/no-bitwise.js +113 -87
- package/lib/rules/no-buffer-constructor.js +61 -37
- package/lib/rules/no-caller.js +39 -33
- package/lib/rules/no-case-declarations.js +61 -45
- package/lib/rules/no-catch-shadow.js +76 -62
- package/lib/rules/no-class-assign.js +51 -48
- package/lib/rules/no-compare-neg-zero.js +62 -48
- package/lib/rules/no-cond-assign.js +148 -132
- package/lib/rules/no-confusing-arrow.js +98 -63
- package/lib/rules/no-console.js +202 -188
- package/lib/rules/no-const-assign.js +58 -41
- package/lib/rules/no-constant-binary-expression.js +501 -407
- package/lib/rules/no-constant-condition.js +158 -131
- package/lib/rules/no-constructor-return.js +49 -49
- package/lib/rules/no-continue.js +25 -26
- package/lib/rules/no-control-regex.js +125 -121
- package/lib/rules/no-debugger.js +28 -30
- package/lib/rules/no-delete-var.js +29 -29
- package/lib/rules/no-div-regex.js +47 -40
- package/lib/rules/no-dupe-args.js +79 -69
- package/lib/rules/no-dupe-class-members.js +102 -89
- package/lib/rules/no-dupe-else-if.js +100 -77
- package/lib/rules/no-dupe-keys.js +133 -110
- package/lib/rules/no-duplicate-case.js +50 -43
- package/lib/rules/no-duplicate-imports.js +266 -188
- package/lib/rules/no-else-return.js +430 -385
- package/lib/rules/no-empty-character-class.js +57 -50
- package/lib/rules/no-empty-function.js +197 -128
- package/lib/rules/no-empty-pattern.js +63 -56
- package/lib/rules/no-empty-static-block.js +61 -35
- package/lib/rules/no-empty.js +135 -85
- package/lib/rules/no-eq-null.js +37 -32
- package/lib/rules/no-eval.js +258 -249
- package/lib/rules/no-ex-assign.js +42 -39
- package/lib/rules/no-extend-native.js +161 -160
- package/lib/rules/no-extra-bind.js +201 -190
- package/lib/rules/no-extra-boolean-cast.js +398 -295
- package/lib/rules/no-extra-label.js +150 -130
- package/lib/rules/no-extra-parens.js +1654 -1307
- package/lib/rules/no-extra-semi.js +146 -126
- package/lib/rules/no-fallthrough.js +200 -136
- package/lib/rules/no-floating-decimal.js +74 -48
- package/lib/rules/no-func-assign.js +54 -55
- package/lib/rules/no-global-assign.js +78 -72
- package/lib/rules/no-implicit-coercion.js +350 -262
- package/lib/rules/no-implicit-globals.js +174 -133
- package/lib/rules/no-implied-eval.js +150 -112
- package/lib/rules/no-import-assign.js +145 -159
- package/lib/rules/no-inline-comments.js +101 -96
- package/lib/rules/no-inner-declarations.js +115 -78
- package/lib/rules/no-invalid-regexp.js +223 -174
- package/lib/rules/no-invalid-this.js +145 -117
- package/lib/rules/no-irregular-whitespace.js +266 -250
- package/lib/rules/no-iterator.js +29 -33
- package/lib/rules/no-label-var.js +59 -61
- package/lib/rules/no-labels.js +138 -131
- package/lib/rules/no-lone-blocks.js +127 -123
- package/lib/rules/no-lonely-if.js +105 -67
- package/lib/rules/no-loop-func.js +245 -184
- package/lib/rules/no-loss-of-precision.js +236 -201
- package/lib/rules/no-magic-numbers.js +339 -217
- package/lib/rules/no-misleading-character-class.js +548 -253
- package/lib/rules/no-mixed-operators.js +188 -164
- package/lib/rules/no-mixed-requires.js +253 -224
- package/lib/rules/no-mixed-spaces-and-tabs.js +135 -103
- package/lib/rules/no-multi-assign.js +46 -47
- package/lib/rules/no-multi-spaces.js +163 -125
- package/lib/rules/no-multi-str.js +42 -40
- package/lib/rules/no-multiple-empty-lines.js +196 -140
- package/lib/rules/no-native-reassign.js +90 -74
- package/lib/rules/no-negated-condition.js +79 -74
- package/lib/rules/no-negated-in-lhs.js +45 -32
- package/lib/rules/no-nested-ternary.js +33 -31
- package/lib/rules/no-new-func.js +71 -62
- package/lib/rules/no-new-native-nonconstructor.js +43 -39
- package/lib/rules/no-new-object.js +48 -39
- package/lib/rules/no-new-require.js +48 -31
- package/lib/rules/no-new-symbol.js +61 -43
- package/lib/rules/no-new-wrappers.js +43 -41
- package/lib/rules/no-new.js +28 -29
- package/lib/rules/no-nonoctal-decimal-escape.js +149 -121
- package/lib/rules/no-obj-calls.js +66 -53
- package/lib/rules/no-object-constructor.js +104 -97
- package/lib/rules/no-octal-escape.js +40 -43
- package/lib/rules/no-octal.js +29 -32
- package/lib/rules/no-param-reassign.js +236 -218
- package/lib/rules/no-path-concat.js +66 -51
- package/lib/rules/no-plusplus.js +60 -63
- package/lib/rules/no-process-env.js +49 -32
- package/lib/rules/no-process-exit.js +48 -28
- package/lib/rules/no-promise-executor-return.js +205 -204
- package/lib/rules/no-proto.js +26 -29
- package/lib/rules/no-prototype-builtins.js +146 -124
- package/lib/rules/no-redeclare.js +154 -155
- package/lib/rules/no-regex-spaces.js +183 -161
- package/lib/rules/no-restricted-exports.js +208 -174
- package/lib/rules/no-restricted-globals.js +254 -112
- package/lib/rules/no-restricted-imports.js +824 -384
- package/lib/rules/no-restricted-modules.js +222 -186
- package/lib/rules/no-restricted-properties.js +218 -153
- package/lib/rules/no-restricted-syntax.js +56 -52
- package/lib/rules/no-return-assign.js +56 -49
- package/lib/rules/no-return-await.js +147 -120
- package/lib/rules/no-script-url.js +53 -46
- package/lib/rules/no-self-assign.js +148 -145
- package/lib/rules/no-self-compare.js +63 -46
- package/lib/rules/no-sequences.js +135 -115
- package/lib/rules/no-setter-return.js +176 -178
- package/lib/rules/no-shadow-restricted-names.js +84 -36
- package/lib/rules/no-shadow.js +598 -310
- package/lib/rules/no-spaced-func.js +82 -60
- package/lib/rules/no-sparse-arrays.js +46 -28
- package/lib/rules/no-sync.js +61 -44
- package/lib/rules/no-tabs.js +83 -54
- package/lib/rules/no-template-curly-in-string.js +33 -32
- package/lib/rules/no-ternary.js +25 -28
- package/lib/rules/no-this-before-super.js +332 -298
- package/lib/rules/no-throw-literal.js +31 -36
- package/lib/rules/no-trailing-spaces.js +208 -174
- package/lib/rules/no-unassigned-vars.js +80 -0
- package/lib/rules/no-undef-init.js +86 -60
- package/lib/rules/no-undef.js +52 -47
- package/lib/rules/no-undefined.js +73 -74
- package/lib/rules/no-underscore-dangle.js +370 -322
- package/lib/rules/no-unexpected-multiline.js +112 -102
- package/lib/rules/no-unmodified-loop-condition.js +254 -254
- package/lib/rules/no-unneeded-ternary.js +212 -146
- package/lib/rules/no-unreachable-loop.js +145 -140
- package/lib/rules/no-unreachable.js +255 -248
- package/lib/rules/no-unsafe-finally.js +93 -85
- package/lib/rules/no-unsafe-negation.js +105 -81
- package/lib/rules/no-unsafe-optional-chaining.js +193 -177
- package/lib/rules/no-unused-expressions.js +199 -158
- package/lib/rules/no-unused-labels.js +139 -124
- package/lib/rules/no-unused-private-class-members.js +206 -182
- package/lib/rules/no-unused-vars.js +1708 -687
- package/lib/rules/no-use-before-define.js +327 -229
- package/lib/rules/no-useless-assignment.js +654 -0
- package/lib/rules/no-useless-backreference.js +212 -143
- package/lib/rules/no-useless-call.js +58 -53
- package/lib/rules/no-useless-catch.js +40 -40
- package/lib/rules/no-useless-computed-key.js +144 -108
- package/lib/rules/no-useless-concat.js +65 -59
- package/lib/rules/no-useless-constructor.js +160 -97
- package/lib/rules/no-useless-escape.js +364 -291
- package/lib/rules/no-useless-rename.js +183 -153
- package/lib/rules/no-useless-return.js +344 -307
- package/lib/rules/no-var.js +245 -212
- package/lib/rules/no-void.js +51 -46
- package/lib/rules/no-warning-comments.js +191 -183
- package/lib/rules/no-whitespace-before-property.js +131 -97
- package/lib/rules/no-with.js +24 -26
- package/lib/rules/nonblock-statement-body-position.js +149 -112
- package/lib/rules/object-curly-newline.js +306 -247
- package/lib/rules/object-curly-spacing.js +360 -296
- package/lib/rules/object-property-newline.js +137 -88
- package/lib/rules/object-shorthand.js +632 -500
- package/lib/rules/one-var-declaration-per-line.js +104 -82
- package/lib/rules/one-var.js +686 -536
- package/lib/rules/operator-assignment.js +219 -158
- package/lib/rules/operator-linebreak.js +295 -233
- package/lib/rules/padded-blocks.js +346 -290
- package/lib/rules/padding-line-between-statements.js +443 -421
- package/lib/rules/prefer-arrow-callback.js +371 -315
- package/lib/rules/prefer-const.js +418 -373
- package/lib/rules/prefer-destructuring.js +309 -278
- package/lib/rules/prefer-exponentiation-operator.js +176 -132
- package/lib/rules/prefer-named-capture-group.js +160 -141
- package/lib/rules/prefer-numeric-literals.js +121 -112
- package/lib/rules/prefer-object-has-own.js +116 -82
- package/lib/rules/prefer-object-spread.js +214 -193
- package/lib/rules/prefer-promise-reject-errors.js +140 -118
- package/lib/rules/prefer-reflect.js +126 -103
- package/lib/rules/prefer-regex-literals.js +561 -463
- package/lib/rules/prefer-rest-params.js +79 -80
- package/lib/rules/prefer-spread.js +47 -43
- package/lib/rules/prefer-template.js +266 -194
- package/lib/rules/preserve-caught-error.js +535 -0
- package/lib/rules/quote-props.js +373 -289
- package/lib/rules/quotes.js +374 -308
- package/lib/rules/radix.js +152 -134
- package/lib/rules/require-atomic-updates.js +316 -282
- package/lib/rules/require-await.js +153 -82
- package/lib/rules/require-unicode-regexp.js +296 -108
- package/lib/rules/require-yield.js +53 -54
- package/lib/rules/rest-spread-spacing.js +128 -98
- package/lib/rules/semi-spacing.js +281 -232
- package/lib/rules/semi-style.js +176 -116
- package/lib/rules/semi.js +456 -418
- package/lib/rules/sort-imports.js +307 -229
- package/lib/rules/sort-keys.js +219 -181
- package/lib/rules/sort-vars.js +127 -91
- package/lib/rules/space-before-blocks.js +199 -171
- package/lib/rules/space-before-function-paren.js +186 -148
- package/lib/rules/space-in-parens.js +359 -270
- package/lib/rules/space-infix-ops.js +237 -183
- package/lib/rules/space-unary-ops.js +356 -280
- package/lib/rules/spaced-comment.js +363 -301
- package/lib/rules/strict.js +266 -229
- package/lib/rules/switch-colon-spacing.js +130 -104
- package/lib/rules/symbol-description.js +45 -48
- package/lib/rules/template-curly-spacing.js +148 -124
- package/lib/rules/template-tag-spacing.js +98 -70
- package/lib/rules/unicode-bom.js +54 -54
- package/lib/rules/use-isnan.js +237 -110
- package/lib/rules/utils/ast-utils.js +2139 -1688
- package/lib/rules/utils/char-source.js +247 -0
- package/lib/rules/utils/fix-tracker.js +99 -88
- package/lib/rules/utils/keywords.js +59 -59
- package/lib/rules/utils/lazy-loading-rule-map.js +81 -78
- package/lib/rules/utils/regular-expressions.js +35 -19
- package/lib/rules/utils/unicode/index.js +9 -4
- package/lib/rules/utils/unicode/is-combining-character.js +1 -1
- package/lib/rules/utils/unicode/is-emoji-modifier.js +1 -1
- package/lib/rules/utils/unicode/is-regional-indicator-symbol.js +1 -1
- package/lib/rules/utils/unicode/is-surrogate-pair.js +1 -1
- package/lib/rules/valid-typeof.js +153 -109
- package/lib/rules/vars-on-top.js +152 -144
- package/lib/rules/wrap-iife.js +204 -173
- package/lib/rules/wrap-regex.js +77 -47
- package/lib/rules/yield-star-spacing.js +145 -116
- package/lib/rules/yoda.js +283 -274
- package/lib/services/parser-service.js +65 -0
- package/lib/services/processor-service.js +101 -0
- package/lib/services/suppressions-service.js +302 -0
- package/lib/services/warning-service.js +98 -0
- package/lib/shared/ajv.js +14 -14
- package/lib/shared/assert.js +21 -0
- package/lib/shared/ast-utils.js +7 -6
- package/lib/shared/deep-merge-arrays.js +62 -0
- package/lib/shared/directives.js +3 -2
- package/lib/shared/flags.js +108 -0
- package/lib/shared/logging.js +24 -16
- package/lib/shared/naming.js +109 -0
- package/lib/shared/option-utils.js +63 -0
- package/lib/shared/relative-module-resolver.js +18 -40
- package/lib/shared/runtime-info.js +138 -128
- package/lib/shared/serialization.js +78 -0
- package/lib/shared/severity.js +22 -22
- package/lib/shared/stats.js +30 -0
- package/lib/shared/string-utils.js +19 -21
- package/lib/shared/text-table.js +68 -0
- package/lib/shared/translate-cli-options.js +281 -0
- package/lib/shared/traverser.js +153 -146
- package/lib/types/config-api.d.ts +12 -0
- package/lib/types/index.d.ts +1473 -0
- package/lib/types/rules.d.ts +5589 -0
- package/lib/types/universal.d.ts +6 -0
- package/lib/types/use-at-your-own-risk.d.ts +87 -0
- package/lib/universal.js +10 -0
- package/lib/unsupported-api.js +8 -9
- package/messages/all-files-ignored.js +3 -3
- package/messages/all-matched-files-ignored.js +21 -0
- package/messages/config-file-missing.js +16 -0
- package/messages/config-plugin-missing.js +14 -0
- package/messages/config-serialize-function.js +30 -0
- package/messages/eslintrc-incompat.js +35 -16
- package/messages/eslintrc-plugins.js +8 -5
- package/messages/extend-config-missing.js +3 -3
- package/messages/failed-to-read-json.js +3 -3
- package/messages/file-not-found.js +3 -3
- package/messages/invalid-rule-options.js +2 -2
- package/messages/invalid-rule-severity.js +2 -2
- package/messages/no-config-found.js +4 -4
- package/messages/plugin-conflict.js +9 -9
- package/messages/plugin-invalid.js +4 -4
- package/messages/plugin-missing.js +4 -4
- package/messages/print-config-with-directory-path.js +2 -2
- package/messages/shared.js +6 -1
- package/messages/whitespace-found.js +3 -3
- package/package.json +105 -60
- package/conf/config-schema.js +0 -93
- package/lib/cli-engine/formatters/checkstyle.js +0 -60
- package/lib/cli-engine/formatters/compact.js +0 -60
- package/lib/cli-engine/formatters/jslint-xml.js +0 -41
- package/lib/cli-engine/formatters/junit.js +0 -82
- package/lib/cli-engine/formatters/tap.js +0 -95
- package/lib/cli-engine/formatters/unix.js +0 -58
- package/lib/cli-engine/formatters/visualstudio.js +0 -63
- package/lib/cli-engine/xml-escape.js +0 -34
- package/lib/config/flat-config-helpers.js +0 -111
- package/lib/config/rule-validator.js +0 -158
- package/lib/eslint/flat-eslint.js +0 -1159
- package/lib/linter/config-comment-parser.js +0 -185
- package/lib/linter/node-event-generator.js +0 -354
- package/lib/linter/report-translator.js +0 -369
- package/lib/linter/safe-emitter.js +0 -52
- package/lib/rule-tester/flat-rule-tester.js +0 -1131
- package/lib/rules/require-jsdoc.js +0 -122
- package/lib/rules/utils/patterns/letters.js +0 -36
- package/lib/rules/valid-jsdoc.js +0 -516
- package/lib/shared/config-validator.js +0 -347
- package/lib/shared/deprecation-warnings.js +0 -58
- package/lib/shared/types.js +0 -216
- package/lib/source-code/index.js +0 -5
- package/lib/source-code/source-code.js +0 -1055
- package/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
- package/lib/source-code/token-store/backward-token-cursor.js +0 -58
- package/lib/source-code/token-store/cursors.js +0 -90
- package/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
- package/lib/source-code/token-store/forward-token-cursor.js +0 -63
- package/lib/source-code/token-store/index.js +0 -627
- package/lib/source-code/token-store/padded-token-cursor.js +0 -38
- package/lib/source-code/token-store/utils.js +0 -107
package/lib/options.js
CHANGED
|
@@ -23,6 +23,7 @@ const optionator = require("optionator");
|
|
|
23
23
|
* @property {string} [cacheLocation] Path to the cache file or directory
|
|
24
24
|
* @property {"metadata" | "content"} cacheStrategy Strategy to use for detecting changed files in the cache
|
|
25
25
|
* @property {boolean} [color] Force enabling/disabling of color
|
|
26
|
+
* @property {number | "auto" | "off"} [concurrency] Number of linting threads, "auto" to choose automatically, "off" for no multithreading
|
|
26
27
|
* @property {string} [config] Use this configuration, overriding .eslintrc.* config options if present
|
|
27
28
|
* @property {boolean} debug Output debugging information
|
|
28
29
|
* @property {string[]} [env] Specify environments
|
|
@@ -30,6 +31,7 @@ const optionator = require("optionator");
|
|
|
30
31
|
* @property {boolean} errorOnUnmatchedPattern Prevent errors when pattern is unmatched
|
|
31
32
|
* @property {boolean} eslintrc Disable use of configuration from .eslintrc.*
|
|
32
33
|
* @property {string[]} [ext] Specify JavaScript file extensions
|
|
34
|
+
* @property {string[]} [flag] Feature flags
|
|
33
35
|
* @property {boolean} fix Automatically fix problems
|
|
34
36
|
* @property {boolean} fixDryRun Automatically fix problems without saving the changes to the file system
|
|
35
37
|
* @property {("directive" | "problem" | "suggestion" | "layout")[]} [fixType] Specify the types of fixes to apply (directive, problem, suggestion, layout)
|
|
@@ -38,23 +40,31 @@ const optionator = require("optionator");
|
|
|
38
40
|
* @property {boolean} [help] Show help
|
|
39
41
|
* @property {boolean} ignore Disable use of ignore files and patterns
|
|
40
42
|
* @property {string} [ignorePath] Specify path of ignore file
|
|
41
|
-
* @property {string[]} [ignorePattern]
|
|
43
|
+
* @property {string[]} [ignorePattern] Patterns of files to ignore. In eslintrc mode, these are in addition to `.eslintignore`
|
|
42
44
|
* @property {boolean} init Run config initialization wizard
|
|
43
45
|
* @property {boolean} inlineConfig Prevent comments from changing config or rules
|
|
44
46
|
* @property {number} maxWarnings Number of warnings to trigger nonzero exit code
|
|
45
47
|
* @property {string} [outputFile] Specify file to write report to
|
|
46
48
|
* @property {string} [parser] Specify the parser to be used
|
|
47
49
|
* @property {Object} [parserOptions] Specify parser options
|
|
50
|
+
* @property {boolean} [passOnNoPatterns=false] When set to true, missing patterns cause
|
|
51
|
+
* the linting operation to short circuit and not report any failures.
|
|
52
|
+
* @property {boolean} [passOnUnprunedSuppressions] Ignore unused suppressions
|
|
48
53
|
* @property {string[]} [plugin] Specify plugins
|
|
49
54
|
* @property {string} [printConfig] Print the configuration for the given file
|
|
55
|
+
* @property {boolean} [pruneSuppressions] Prune unused suppressions
|
|
56
|
+
* @property {boolean} quiet Report errors only
|
|
50
57
|
* @property {boolean | undefined} reportUnusedDisableDirectives Adds reported errors for unused eslint-disable and eslint-enable directives
|
|
51
58
|
* @property {string | undefined} reportUnusedDisableDirectivesSeverity A severity string indicating if and how unused disable and enable directives should be tracked and reported.
|
|
52
59
|
* @property {string} [resolvePluginsRelativeTo] A folder where plugins should be resolved from, CWD by default
|
|
53
60
|
* @property {Object} [rule] Specify rules
|
|
54
61
|
* @property {string[]} [rulesdir] Load additional rules from this directory. Deprecated: Use rules from plugins
|
|
62
|
+
* @property {boolean} [stats] Report additional statistics
|
|
55
63
|
* @property {boolean} stdin Lint code provided on <STDIN>
|
|
56
64
|
* @property {string} [stdinFilename] Specify filename to process STDIN as
|
|
57
|
-
* @property {boolean}
|
|
65
|
+
* @property {boolean} [suppressAll] Suppress all error violations
|
|
66
|
+
* @property {string} [suppressionsLocation] Path to the suppressions file or directory
|
|
67
|
+
* @property {string[]} [suppressRule] Suppress specific rules
|
|
58
68
|
* @property {boolean} [version] Output the version number
|
|
59
69
|
* @property {boolean} warnIgnored Show warnings when the file list includes ignored files
|
|
60
70
|
* @property {string[]} _ Positional filenames or patterns
|
|
@@ -71,328 +81,456 @@ const optionator = require("optionator");
|
|
|
71
81
|
* @param {boolean} usingFlatConfig Indicates if flat config is being used.
|
|
72
82
|
* @returns {Object} The optionator instance.
|
|
73
83
|
*/
|
|
74
|
-
module.exports = function(usingFlatConfig) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
84
|
+
module.exports = function (usingFlatConfig) {
|
|
85
|
+
let lookupFlag;
|
|
86
|
+
|
|
87
|
+
if (usingFlatConfig) {
|
|
88
|
+
lookupFlag = {
|
|
89
|
+
option: "config-lookup",
|
|
90
|
+
type: "Boolean",
|
|
91
|
+
default: "true",
|
|
92
|
+
description: "Disable look up for eslint.config.js",
|
|
93
|
+
};
|
|
94
|
+
} else {
|
|
95
|
+
lookupFlag = {
|
|
96
|
+
option: "eslintrc",
|
|
97
|
+
type: "Boolean",
|
|
98
|
+
default: "true",
|
|
99
|
+
description: "Disable use of configuration from .eslintrc.*",
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
let envFlag;
|
|
104
|
+
|
|
105
|
+
if (!usingFlatConfig) {
|
|
106
|
+
envFlag = {
|
|
107
|
+
option: "env",
|
|
108
|
+
type: "[String]",
|
|
109
|
+
description: "Specify environments",
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
let inspectConfigFlag;
|
|
114
|
+
|
|
115
|
+
if (usingFlatConfig) {
|
|
116
|
+
inspectConfigFlag = {
|
|
117
|
+
option: "inspect-config",
|
|
118
|
+
type: "Boolean",
|
|
119
|
+
description:
|
|
120
|
+
"Open the config inspector with the current configuration",
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
let extFlag;
|
|
125
|
+
|
|
126
|
+
if (!usingFlatConfig) {
|
|
127
|
+
extFlag = {
|
|
128
|
+
option: "ext",
|
|
129
|
+
type: "[String]",
|
|
130
|
+
description: "Specify JavaScript file extensions",
|
|
131
|
+
};
|
|
132
|
+
} else {
|
|
133
|
+
extFlag = {
|
|
134
|
+
option: "ext",
|
|
135
|
+
type: "[String]",
|
|
136
|
+
description: "Specify additional file extensions to lint",
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
let resolvePluginsFlag;
|
|
141
|
+
|
|
142
|
+
if (!usingFlatConfig) {
|
|
143
|
+
resolvePluginsFlag = {
|
|
144
|
+
option: "resolve-plugins-relative-to",
|
|
145
|
+
type: "path::String",
|
|
146
|
+
description:
|
|
147
|
+
"A folder where plugins should be resolved from, CWD by default",
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
let rulesDirFlag;
|
|
152
|
+
|
|
153
|
+
if (!usingFlatConfig) {
|
|
154
|
+
rulesDirFlag = {
|
|
155
|
+
option: "rulesdir",
|
|
156
|
+
type: "[path::String]",
|
|
157
|
+
description:
|
|
158
|
+
"Load additional rules from this directory. Deprecated: Use rules from plugins",
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
let ignorePathFlag;
|
|
163
|
+
|
|
164
|
+
if (!usingFlatConfig) {
|
|
165
|
+
ignorePathFlag = {
|
|
166
|
+
option: "ignore-path",
|
|
167
|
+
type: "path::String",
|
|
168
|
+
description: "Specify path of ignore file",
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
let statsFlag;
|
|
173
|
+
|
|
174
|
+
if (usingFlatConfig) {
|
|
175
|
+
statsFlag = {
|
|
176
|
+
option: "stats",
|
|
177
|
+
type: "Boolean",
|
|
178
|
+
default: "false",
|
|
179
|
+
description: "Add statistics to the lint report",
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
let warnIgnoredFlag;
|
|
184
|
+
|
|
185
|
+
if (usingFlatConfig) {
|
|
186
|
+
warnIgnoredFlag = {
|
|
187
|
+
option: "warn-ignored",
|
|
188
|
+
type: "Boolean",
|
|
189
|
+
default: "true",
|
|
190
|
+
description:
|
|
191
|
+
"Suppress warnings when the file list includes ignored files",
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
let flagFlag;
|
|
196
|
+
|
|
197
|
+
if (usingFlatConfig) {
|
|
198
|
+
flagFlag = {
|
|
199
|
+
option: "flag",
|
|
200
|
+
type: "[String]",
|
|
201
|
+
description: "Enable a feature flag",
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
let reportUnusedInlineConfigsFlag;
|
|
206
|
+
|
|
207
|
+
if (usingFlatConfig) {
|
|
208
|
+
reportUnusedInlineConfigsFlag = {
|
|
209
|
+
option: "report-unused-inline-configs",
|
|
210
|
+
type: "String",
|
|
211
|
+
default: void 0,
|
|
212
|
+
description:
|
|
213
|
+
"Adds reported errors for unused eslint inline config comments",
|
|
214
|
+
enum: ["off", "warn", "error", "0", "1", "2"],
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
let mcpFlag;
|
|
219
|
+
|
|
220
|
+
if (usingFlatConfig) {
|
|
221
|
+
mcpFlag = {
|
|
222
|
+
option: "mcp",
|
|
223
|
+
type: "Boolean",
|
|
224
|
+
description: "Start the ESLint MCP server",
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
let concurrencyFlag;
|
|
229
|
+
|
|
230
|
+
if (usingFlatConfig) {
|
|
231
|
+
concurrencyFlag = {
|
|
232
|
+
option: "concurrency",
|
|
233
|
+
type: "Int|String",
|
|
234
|
+
default: "off",
|
|
235
|
+
description:
|
|
236
|
+
"Number of linting threads, auto to choose automatically, off for no multithreading",
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return optionator({
|
|
241
|
+
prepend: "eslint [options] file.js [file.js] [dir]",
|
|
242
|
+
defaults: {
|
|
243
|
+
concatRepeatedArrays: true,
|
|
244
|
+
mergeRepeatedObjects: true,
|
|
245
|
+
},
|
|
246
|
+
options: [
|
|
247
|
+
{
|
|
248
|
+
heading: "Basic configuration",
|
|
249
|
+
},
|
|
250
|
+
lookupFlag,
|
|
251
|
+
{
|
|
252
|
+
option: "config",
|
|
253
|
+
alias: "c",
|
|
254
|
+
type: "path::String",
|
|
255
|
+
description: usingFlatConfig
|
|
256
|
+
? "Use this configuration instead of eslint.config.js, eslint.config.mjs, or eslint.config.cjs"
|
|
257
|
+
: "Use this configuration, overriding .eslintrc.* config options if present",
|
|
258
|
+
},
|
|
259
|
+
inspectConfigFlag,
|
|
260
|
+
envFlag,
|
|
261
|
+
extFlag,
|
|
262
|
+
{
|
|
263
|
+
option: "global",
|
|
264
|
+
type: "[String]",
|
|
265
|
+
description: "Define global variables",
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
option: "parser",
|
|
269
|
+
type: "String",
|
|
270
|
+
description: "Specify the parser to be used",
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
option: "parser-options",
|
|
274
|
+
type: "Object",
|
|
275
|
+
description: "Specify parser options",
|
|
276
|
+
},
|
|
277
|
+
resolvePluginsFlag,
|
|
278
|
+
{
|
|
279
|
+
heading: "Specify Rules and Plugins",
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
option: "plugin",
|
|
283
|
+
type: "[String]",
|
|
284
|
+
description: "Specify plugins",
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
option: "rule",
|
|
288
|
+
type: "Object",
|
|
289
|
+
description: "Specify rules",
|
|
290
|
+
},
|
|
291
|
+
rulesDirFlag,
|
|
292
|
+
{
|
|
293
|
+
heading: "Fix Problems",
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
option: "fix",
|
|
297
|
+
type: "Boolean",
|
|
298
|
+
default: false,
|
|
299
|
+
description: "Automatically fix problems",
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
option: "fix-dry-run",
|
|
303
|
+
type: "Boolean",
|
|
304
|
+
default: false,
|
|
305
|
+
description:
|
|
306
|
+
"Automatically fix problems without saving the changes to the file system",
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
option: "fix-type",
|
|
310
|
+
type: "Array",
|
|
311
|
+
description:
|
|
312
|
+
"Specify the types of fixes to apply (directive, problem, suggestion, layout)",
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
heading: "Ignore Files",
|
|
316
|
+
},
|
|
317
|
+
ignorePathFlag,
|
|
318
|
+
{
|
|
319
|
+
option: "ignore",
|
|
320
|
+
type: "Boolean",
|
|
321
|
+
default: "true",
|
|
322
|
+
description: "Disable use of ignore files and patterns",
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
option: "ignore-pattern",
|
|
326
|
+
type: "[String]",
|
|
327
|
+
description: `Patterns of files to ignore${usingFlatConfig ? "" : " (in addition to those in .eslintignore)"}`,
|
|
328
|
+
concatRepeatedArrays: [
|
|
329
|
+
true,
|
|
330
|
+
{
|
|
331
|
+
oneValuePerFlag: true,
|
|
332
|
+
},
|
|
333
|
+
],
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
heading: "Use stdin",
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
option: "stdin",
|
|
340
|
+
type: "Boolean",
|
|
341
|
+
default: "false",
|
|
342
|
+
description: "Lint code provided on <STDIN>",
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
option: "stdin-filename",
|
|
346
|
+
type: "String",
|
|
347
|
+
description: "Specify filename to process STDIN as",
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
heading: "Handle Warnings",
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
option: "quiet",
|
|
354
|
+
type: "Boolean",
|
|
355
|
+
default: "false",
|
|
356
|
+
description: "Report errors only",
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
option: "max-warnings",
|
|
360
|
+
type: "Int",
|
|
361
|
+
default: "-1",
|
|
362
|
+
description: "Number of warnings to trigger nonzero exit code",
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
heading: "Output",
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
option: "output-file",
|
|
369
|
+
alias: "o",
|
|
370
|
+
type: "path::String",
|
|
371
|
+
description: "Specify file to write report to",
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
option: "format",
|
|
375
|
+
alias: "f",
|
|
376
|
+
type: "String",
|
|
377
|
+
default: "stylish",
|
|
378
|
+
description: "Use a specific output format",
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
option: "color",
|
|
382
|
+
type: "Boolean",
|
|
383
|
+
alias: "no-color",
|
|
384
|
+
description: "Force enabling/disabling of color",
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
heading: "Inline configuration comments",
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
option: "inline-config",
|
|
391
|
+
type: "Boolean",
|
|
392
|
+
default: "true",
|
|
393
|
+
description: "Prevent comments from changing config or rules",
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
option: "report-unused-disable-directives",
|
|
397
|
+
type: "Boolean",
|
|
398
|
+
default: void 0,
|
|
399
|
+
description:
|
|
400
|
+
"Adds reported errors for unused eslint-disable and eslint-enable directives",
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
option: "report-unused-disable-directives-severity",
|
|
404
|
+
type: "String",
|
|
405
|
+
default: void 0,
|
|
406
|
+
description:
|
|
407
|
+
"Chooses severity level for reporting unused eslint-disable and eslint-enable directives",
|
|
408
|
+
enum: ["off", "warn", "error", "0", "1", "2"],
|
|
409
|
+
},
|
|
410
|
+
reportUnusedInlineConfigsFlag,
|
|
411
|
+
{
|
|
412
|
+
heading: "Caching",
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
option: "cache",
|
|
416
|
+
type: "Boolean",
|
|
417
|
+
default: "false",
|
|
418
|
+
description: "Only check changed files",
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
option: "cache-file",
|
|
422
|
+
type: "path::String",
|
|
423
|
+
default: ".eslintcache",
|
|
424
|
+
description:
|
|
425
|
+
"Path to the cache file. Deprecated: use --cache-location",
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
option: "cache-location",
|
|
429
|
+
type: "path::String",
|
|
430
|
+
description: "Path to the cache file or directory",
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
option: "cache-strategy",
|
|
434
|
+
dependsOn: ["cache"],
|
|
435
|
+
type: "String",
|
|
436
|
+
default: "metadata",
|
|
437
|
+
enum: ["metadata", "content"],
|
|
438
|
+
description:
|
|
439
|
+
"Strategy to use for detecting changed files in the cache",
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
heading: "Suppressing Violations",
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
option: "suppress-all",
|
|
446
|
+
type: "Boolean",
|
|
447
|
+
default: "false",
|
|
448
|
+
description: "Suppress all violations",
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
option: "suppress-rule",
|
|
452
|
+
type: "[String]",
|
|
453
|
+
description: "Suppress specific rules",
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
option: "suppressions-location",
|
|
457
|
+
type: "path::String",
|
|
458
|
+
description: "Specify the location of the suppressions file",
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
option: "prune-suppressions",
|
|
462
|
+
type: "Boolean",
|
|
463
|
+
default: "false",
|
|
464
|
+
description: "Prune unused suppressions",
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
option: "pass-on-unpruned-suppressions",
|
|
468
|
+
type: "Boolean",
|
|
469
|
+
default: "false",
|
|
470
|
+
description: "Ignore unused suppressions",
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
heading: "Miscellaneous",
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
option: "init",
|
|
477
|
+
type: "Boolean",
|
|
478
|
+
default: "false",
|
|
479
|
+
description: "Run config initialization wizard",
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
option: "env-info",
|
|
483
|
+
type: "Boolean",
|
|
484
|
+
default: "false",
|
|
485
|
+
description: "Output execution environment information",
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
option: "error-on-unmatched-pattern",
|
|
489
|
+
type: "Boolean",
|
|
490
|
+
default: "true",
|
|
491
|
+
description: "Prevent errors when pattern is unmatched",
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
option: "exit-on-fatal-error",
|
|
495
|
+
type: "Boolean",
|
|
496
|
+
default: "false",
|
|
497
|
+
description: "Exit with exit code 2 in case of fatal error",
|
|
498
|
+
},
|
|
499
|
+
warnIgnoredFlag,
|
|
500
|
+
{
|
|
501
|
+
option: "pass-on-no-patterns",
|
|
502
|
+
type: "Boolean",
|
|
503
|
+
default: false,
|
|
504
|
+
description:
|
|
505
|
+
"Exit with exit code 0 in case no file patterns are passed",
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
option: "debug",
|
|
509
|
+
type: "Boolean",
|
|
510
|
+
default: false,
|
|
511
|
+
description: "Output debugging information",
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
option: "help",
|
|
515
|
+
alias: "h",
|
|
516
|
+
type: "Boolean",
|
|
517
|
+
description: "Show help",
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
option: "version",
|
|
521
|
+
alias: "v",
|
|
522
|
+
type: "Boolean",
|
|
523
|
+
description: "Output the version number",
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
option: "print-config",
|
|
527
|
+
type: "path::String",
|
|
528
|
+
description: "Print the configuration for the given file",
|
|
529
|
+
},
|
|
530
|
+
statsFlag,
|
|
531
|
+
flagFlag,
|
|
532
|
+
mcpFlag,
|
|
533
|
+
concurrencyFlag,
|
|
534
|
+
].filter(value => !!value),
|
|
535
|
+
});
|
|
398
536
|
};
|