@alexlit/lint-kit 127.0.0 → 127.2.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/package.json +1 -1
- package/packages/config-commitlint/package.json +3 -3
- package/packages/config-eslint/package.json +6 -6
- package/packages/config-prettier/package.json +2 -2
- package/packages/config-stylelint/package.json +3 -3
- package/packages/config-stylelint/plugins/scss.js +1 -0
- package/scripts/up.sh +6 -2
- package/packages/config-eslint/node_modules/ajv/.tonic_example.js +0 -20
- package/packages/config-eslint/node_modules/ajv/LICENSE +0 -22
- package/packages/config-eslint/node_modules/ajv/README.md +0 -1497
- package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +0 -7189
- package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +0 -3
- package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +0 -1
- package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +0 -397
- package/packages/config-eslint/node_modules/ajv/lib/ajv.js +0 -506
- package/packages/config-eslint/node_modules/ajv/lib/cache.js +0 -26
- package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +0 -90
- package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +0 -5
- package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +0 -34
- package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +0 -142
- package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +0 -387
- package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +0 -270
- package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +0 -66
- package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +0 -9
- package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +0 -20
- package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +0 -239
- package/packages/config-eslint/node_modules/ajv/lib/data.js +0 -49
- package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +0 -37
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +0 -113
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
- package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +0 -32
- package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +0 -46
- package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +0 -51
- package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +0 -9
- package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +0 -11
- package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +0 -55
- package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +0 -191
- package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +0 -47
- package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +0 -203
- package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +0 -79
- package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +0 -30
- package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +0 -194
- package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +0 -106
- package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +0 -73
- package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +0 -98
- package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +0 -39
- package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
- package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +0 -43
- package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +0 -54
- package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +0 -14
- package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +0 -245
- package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
- package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +0 -85
- package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +0 -108
- package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
- package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +0 -276
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +0 -3
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +0 -163
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +0 -42
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +0 -14
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +0 -56
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +0 -81
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +0 -228
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +0 -66
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +0 -150
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +0 -103
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +0 -33
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +0 -140
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +0 -84
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +0 -75
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +0 -335
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +0 -124
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +0 -270
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +0 -482
- package/packages/config-eslint/node_modules/ajv/lib/keyword.js +0 -146
- package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +0 -17
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
- package/packages/config-eslint/node_modules/ajv/package.json +0 -106
- package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +0 -3
- package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +0 -61
- package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +0 -73
- package/packages/config-eslint/node_modules/ajv/scripts/info +0 -10
- package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +0 -12
- package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +0 -32
- package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +0 -23
- package/packages/config-eslint/node_modules/ansi-styles/index.d.ts +0 -345
- package/packages/config-eslint/node_modules/ansi-styles/index.js +0 -163
- package/packages/config-eslint/node_modules/ansi-styles/license +0 -9
- package/packages/config-eslint/node_modules/ansi-styles/package.json +0 -56
- package/packages/config-eslint/node_modules/ansi-styles/readme.md +0 -152
- package/packages/config-eslint/node_modules/chalk/index.d.ts +0 -415
- package/packages/config-eslint/node_modules/chalk/license +0 -9
- package/packages/config-eslint/node_modules/chalk/package.json +0 -68
- package/packages/config-eslint/node_modules/chalk/readme.md +0 -341
- package/packages/config-eslint/node_modules/chalk/source/index.js +0 -229
- package/packages/config-eslint/node_modules/chalk/source/templates.js +0 -134
- package/packages/config-eslint/node_modules/chalk/source/util.js +0 -39
- package/packages/config-eslint/node_modules/color-convert/CHANGELOG.md +0 -54
- package/packages/config-eslint/node_modules/color-convert/LICENSE +0 -21
- package/packages/config-eslint/node_modules/color-convert/README.md +0 -68
- package/packages/config-eslint/node_modules/color-convert/conversions.js +0 -839
- package/packages/config-eslint/node_modules/color-convert/index.js +0 -81
- package/packages/config-eslint/node_modules/color-convert/package.json +0 -48
- package/packages/config-eslint/node_modules/color-convert/route.js +0 -97
- package/packages/config-eslint/node_modules/color-name/LICENSE +0 -8
- package/packages/config-eslint/node_modules/color-name/README.md +0 -11
- package/packages/config-eslint/node_modules/color-name/index.js +0 -152
- package/packages/config-eslint/node_modules/color-name/package.json +0 -28
- package/packages/config-eslint/node_modules/eslint/LICENSE +0 -19
- package/packages/config-eslint/node_modules/eslint/README.md +0 -306
- package/packages/config-eslint/node_modules/eslint/bin/eslint.js +0 -174
- package/packages/config-eslint/node_modules/eslint/conf/default-cli-options.js +0 -32
- package/packages/config-eslint/node_modules/eslint/conf/ecma-version.js +0 -16
- package/packages/config-eslint/node_modules/eslint/conf/globals.js +0 -160
- package/packages/config-eslint/node_modules/eslint/conf/replacements.json +0 -22
- package/packages/config-eslint/node_modules/eslint/conf/rule-type-list.json +0 -30
- package/packages/config-eslint/node_modules/eslint/lib/api.js +0 -50
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1089
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -18
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/hash.js +0 -35
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/index.js +0 -7
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
- package/packages/config-eslint/node_modules/eslint/lib/cli.js +0 -552
- package/packages/config-eslint/node_modules/eslint/lib/config/default-config.js +0 -75
- package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-array.js +0 -423
- package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-helpers.js +0 -132
- package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-schema.js +0 -576
- package/packages/config-eslint/node_modules/eslint/lib/config/rule-validator.js +0 -194
- package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -975
- package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint.js +0 -1307
- package/packages/config-eslint/node_modules/eslint/lib/eslint/index.js +0 -9
- package/packages/config-eslint/node_modules/eslint/lib/eslint/legacy-eslint.js +0 -742
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/index.js +0 -252
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/index.js +0 -7
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +0 -1318
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +0 -57
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +0 -58
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +0 -76
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +0 -92
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +0 -39
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +0 -43
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +0 -57
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +0 -63
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +0 -627
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +0 -40
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +0 -38
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +0 -42
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +0 -107
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/validate-language-options.js +0 -181
- package/packages/config-eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -513
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -851
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -344
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
- package/packages/config-eslint/node_modules/eslint/lib/linter/config-comment-parser.js +0 -169
- package/packages/config-eslint/node_modules/eslint/lib/linter/index.js +0 -11
- package/packages/config-eslint/node_modules/eslint/lib/linter/interpolate.js +0 -50
- package/packages/config-eslint/node_modules/eslint/lib/linter/linter.js +0 -2410
- package/packages/config-eslint/node_modules/eslint/lib/linter/node-event-generator.js +0 -352
- package/packages/config-eslint/node_modules/eslint/lib/linter/report-translator.js +0 -376
- package/packages/config-eslint/node_modules/eslint/lib/linter/rule-fixer.js +0 -163
- package/packages/config-eslint/node_modules/eslint/lib/linter/rules.js +0 -71
- package/packages/config-eslint/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
- package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
- package/packages/config-eslint/node_modules/eslint/lib/linter/timing.js +0 -169
- package/packages/config-eslint/node_modules/eslint/lib/linter/vfile.js +0 -111
- package/packages/config-eslint/node_modules/eslint/lib/options.js +0 -442
- package/packages/config-eslint/node_modules/eslint/lib/rule-tester/index.js +0 -7
- package/packages/config-eslint/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1286
- package/packages/config-eslint/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
- package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
- package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
- package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
- package/packages/config-eslint/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
- package/packages/config-eslint/node_modules/eslint/lib/rules/block-spacing.js +0 -174
- package/packages/config-eslint/node_modules/eslint/lib/rules/brace-style.js +0 -197
- package/packages/config-eslint/node_modules/eslint/lib/rules/callback-return.js +0 -187
- package/packages/config-eslint/node_modules/eslint/lib/rules/camelcase.js +0 -397
- package/packages/config-eslint/node_modules/eslint/lib/rules/capitalized-comments.js +0 -303
- package/packages/config-eslint/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
- package/packages/config-eslint/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
- package/packages/config-eslint/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
- package/packages/config-eslint/node_modules/eslint/lib/rules/comma-style.js +0 -314
- package/packages/config-eslint/node_modules/eslint/lib/rules/complexity.js +0 -178
- package/packages/config-eslint/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
- package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-return.js +0 -210
- package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-this.js +0 -153
- package/packages/config-eslint/node_modules/eslint/lib/rules/constructor-super.js +0 -445
- package/packages/config-eslint/node_modules/eslint/lib/rules/curly.js +0 -486
- package/packages/config-eslint/node_modules/eslint/lib/rules/default-case-last.js +0 -44
- package/packages/config-eslint/node_modules/eslint/lib/rules/default-case.js +0 -97
- package/packages/config-eslint/node_modules/eslint/lib/rules/default-param-last.js +0 -62
- package/packages/config-eslint/node_modules/eslint/lib/rules/dot-location.js +0 -108
- package/packages/config-eslint/node_modules/eslint/lib/rules/dot-notation.js +0 -176
- package/packages/config-eslint/node_modules/eslint/lib/rules/eol-last.js +0 -115
- package/packages/config-eslint/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
- package/packages/config-eslint/node_modules/eslint/lib/rules/for-direction.js +0 -140
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-names.js +0 -191
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-style.js +0 -136
- package/packages/config-eslint/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
- package/packages/config-eslint/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
- package/packages/config-eslint/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
- package/packages/config-eslint/node_modules/eslint/lib/rules/getter-return.js +0 -204
- package/packages/config-eslint/node_modules/eslint/lib/rules/global-require.js +0 -90
- package/packages/config-eslint/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
- package/packages/config-eslint/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
- package/packages/config-eslint/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-denylist.js +0 -228
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-length.js +0 -177
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-match.js +0 -299
- package/packages/config-eslint/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
- package/packages/config-eslint/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
- package/packages/config-eslint/node_modules/eslint/lib/rules/indent.js +0 -1803
- package/packages/config-eslint/node_modules/eslint/lib/rules/index.js +0 -305
- package/packages/config-eslint/node_modules/eslint/lib/rules/init-declarations.js +0 -139
- package/packages/config-eslint/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
- package/packages/config-eslint/node_modules/eslint/lib/rules/key-spacing.js +0 -687
- package/packages/config-eslint/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
- package/packages/config-eslint/node_modules/eslint/lib/rules/line-comment-position.js +0 -125
- package/packages/config-eslint/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
- package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
- package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
- package/packages/config-eslint/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
- package/packages/config-eslint/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-depth.js +0 -156
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-len.js +0 -440
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines.js +0 -193
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-params.js +0 -102
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements.js +0 -184
- package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -476
- package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
- package/packages/config-eslint/node_modules/eslint/lib/rules/new-cap.js +0 -276
- package/packages/config-eslint/node_modules/eslint/lib/rules/new-parens.js +0 -93
- package/packages/config-eslint/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
- package/packages/config-eslint/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
- package/packages/config-eslint/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-alert.js +0 -138
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-caller.js +0 -46
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-case-declarations.js +0 -76
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-console.js +0 -207
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -508
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-condition.js +0 -161
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-continue.js +0 -39
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-debugger.js +0 -43
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-else-return.js +0 -405
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty.js +0 -103
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-eval.js +0 -286
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extend-native.js +0 -178
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -369
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-fallthrough.js +0 -221
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -422
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -131
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-iterator.js +0 -52
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-label-var.js +0 -80
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-labels.js +0 -149
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-loop-func.js +0 -238
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -537
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-func.js +0 -87
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-object.js +0 -67
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-require.js +0 -50
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-symbol.js +0 -63
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new.js +0 -43
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal.js +0 -45
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-env.js +0 -51
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-proto.js +0 -48
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -204
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -563
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-await.js +0 -135
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-script-url.js +0 -61
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-sequences.js +0 -139
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow.js +0 -336
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -73
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-sync.js +0 -64
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-tabs.js +0 -81
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-ternary.js +0 -41
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-this-before-super.js +0 -363
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -192
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef.js +0 -79
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-undefined.js +0 -86
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-vars.js +0 -881
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-assignment.js +0 -566
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -244
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-return.js +0 -369
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-var.js +0 -334
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-void.js +0 -64
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-with.js +0 -39
- package/packages/config-eslint/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-shorthand.js +0 -521
- package/packages/config-eslint/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
- package/packages/config-eslint/node_modules/eslint/lib/rules/one-var.js +0 -567
- package/packages/config-eslint/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
- package/packages/config-eslint/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
- package/packages/config-eslint/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
- package/packages/config-eslint/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-const.js +0 -501
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-template.js +0 -275
- package/packages/config-eslint/node_modules/eslint/lib/rules/quote-props.js +0 -310
- package/packages/config-eslint/node_modules/eslint/lib/rules/quotes.js +0 -350
- package/packages/config-eslint/node_modules/eslint/lib/rules/radix.js +0 -198
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-await.js +0 -147
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-yield.js +0 -77
- package/packages/config-eslint/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
- package/packages/config-eslint/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
- package/packages/config-eslint/node_modules/eslint/lib/rules/semi-style.js +0 -158
- package/packages/config-eslint/node_modules/eslint/lib/rules/semi.js +0 -438
- package/packages/config-eslint/node_modules/eslint/lib/rules/sort-imports.js +0 -241
- package/packages/config-eslint/node_modules/eslint/lib/rules/sort-keys.js +0 -230
- package/packages/config-eslint/node_modules/eslint/lib/rules/sort-vars.js +0 -104
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
- package/packages/config-eslint/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
- package/packages/config-eslint/node_modules/eslint/lib/rules/strict.js +0 -277
- package/packages/config-eslint/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
- package/packages/config-eslint/node_modules/eslint/lib/rules/symbol-description.js +0 -73
- package/packages/config-eslint/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
- package/packages/config-eslint/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
- package/packages/config-eslint/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
- package/packages/config-eslint/node_modules/eslint/lib/rules/use-isnan.js +0 -235
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2292
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/char-source.js +0 -240
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -16
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
- package/packages/config-eslint/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
- package/packages/config-eslint/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
- package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
- package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
- package/packages/config-eslint/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
- package/packages/config-eslint/node_modules/eslint/lib/rules/yoda.js +0 -353
- package/packages/config-eslint/node_modules/eslint/lib/shared/ajv.js +0 -34
- package/packages/config-eslint/node_modules/eslint/lib/shared/ast-utils.js +0 -29
- package/packages/config-eslint/node_modules/eslint/lib/shared/directives.js +0 -15
- package/packages/config-eslint/node_modules/eslint/lib/shared/flags.js +0 -27
- package/packages/config-eslint/node_modules/eslint/lib/shared/logging.js +0 -39
- package/packages/config-eslint/node_modules/eslint/lib/shared/runtime-info.js +0 -168
- package/packages/config-eslint/node_modules/eslint/lib/shared/serialization.js +0 -55
- package/packages/config-eslint/node_modules/eslint/lib/shared/severity.js +0 -49
- package/packages/config-eslint/node_modules/eslint/lib/shared/stats.js +0 -30
- package/packages/config-eslint/node_modules/eslint/lib/shared/string-utils.js +0 -58
- package/packages/config-eslint/node_modules/eslint/lib/shared/traverser.js +0 -195
- package/packages/config-eslint/node_modules/eslint/lib/shared/types.js +0 -250
- package/packages/config-eslint/node_modules/eslint/lib/unsupported-api.js +0 -28
- package/packages/config-eslint/node_modules/eslint/messages/all-files-ignored.js +0 -16
- package/packages/config-eslint/node_modules/eslint/messages/all-matched-files-ignored.js +0 -21
- package/packages/config-eslint/node_modules/eslint/messages/config-file-missing.js +0 -16
- package/packages/config-eslint/node_modules/eslint/messages/eslintrc-incompat.js +0 -119
- package/packages/config-eslint/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
- package/packages/config-eslint/node_modules/eslint/messages/extend-config-missing.js +0 -13
- package/packages/config-eslint/node_modules/eslint/messages/failed-to-read-json.js +0 -11
- package/packages/config-eslint/node_modules/eslint/messages/file-not-found.js +0 -10
- package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-options.js +0 -17
- package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
- package/packages/config-eslint/node_modules/eslint/messages/no-config-found.js +0 -15
- package/packages/config-eslint/node_modules/eslint/messages/plugin-conflict.js +0 -22
- package/packages/config-eslint/node_modules/eslint/messages/plugin-invalid.js +0 -16
- package/packages/config-eslint/node_modules/eslint/messages/plugin-missing.js +0 -19
- package/packages/config-eslint/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
- package/packages/config-eslint/node_modules/eslint/messages/shared.js +0 -18
- package/packages/config-eslint/node_modules/eslint/messages/whitespace-found.js +0 -11
- package/packages/config-eslint/node_modules/eslint/package.json +0 -188
- package/packages/config-eslint/node_modules/eslint-scope/LICENSE +0 -22
- package/packages/config-eslint/node_modules/eslint-scope/README.md +0 -91
- package/packages/config-eslint/node_modules/eslint-scope/dist/eslint-scope.cjs +0 -2266
- package/packages/config-eslint/node_modules/eslint-scope/lib/definition.js +0 -85
- package/packages/config-eslint/node_modules/eslint-scope/lib/index.js +0 -169
- package/packages/config-eslint/node_modules/eslint-scope/lib/pattern-visitor.js +0 -154
- package/packages/config-eslint/node_modules/eslint-scope/lib/reference.js +0 -166
- package/packages/config-eslint/node_modules/eslint-scope/lib/referencer.js +0 -656
- package/packages/config-eslint/node_modules/eslint-scope/lib/scope-manager.js +0 -249
- package/packages/config-eslint/node_modules/eslint-scope/lib/scope.js +0 -793
- package/packages/config-eslint/node_modules/eslint-scope/lib/variable.js +0 -87
- package/packages/config-eslint/node_modules/eslint-scope/lib/version.js +0 -3
- package/packages/config-eslint/node_modules/eslint-scope/package.json +0 -65
- package/packages/config-eslint/node_modules/file-entry-cache/LICENSE +0 -22
- package/packages/config-eslint/node_modules/file-entry-cache/README.md +0 -115
- package/packages/config-eslint/node_modules/file-entry-cache/cache.js +0 -291
- package/packages/config-eslint/node_modules/file-entry-cache/package.json +0 -56
- package/packages/config-eslint/node_modules/find-up/index.d.ts +0 -138
- package/packages/config-eslint/node_modules/find-up/index.js +0 -89
- package/packages/config-eslint/node_modules/find-up/license +0 -9
- package/packages/config-eslint/node_modules/find-up/package.json +0 -54
- package/packages/config-eslint/node_modules/find-up/readme.md +0 -151
- package/packages/config-eslint/node_modules/flat-cache/LICENSE +0 -22
- package/packages/config-eslint/node_modules/flat-cache/README.md +0 -77
- package/packages/config-eslint/node_modules/flat-cache/changelog.md +0 -278
- package/packages/config-eslint/node_modules/flat-cache/package.json +0 -63
- package/packages/config-eslint/node_modules/flat-cache/src/cache.js +0 -214
- package/packages/config-eslint/node_modules/flat-cache/src/del.js +0 -30
- package/packages/config-eslint/node_modules/flat-cache/src/utils.js +0 -42
- package/packages/config-eslint/node_modules/glob-parent/LICENSE +0 -15
- package/packages/config-eslint/node_modules/glob-parent/README.md +0 -134
- package/packages/config-eslint/node_modules/glob-parent/index.js +0 -75
- package/packages/config-eslint/node_modules/glob-parent/package.json +0 -54
- package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
- package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +0 -8
- package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +0 -21
- package/packages/config-eslint/node_modules/json-schema-traverse/README.md +0 -83
- package/packages/config-eslint/node_modules/json-schema-traverse/index.js +0 -89
- package/packages/config-eslint/node_modules/json-schema-traverse/package.json +0 -43
- package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
- package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
- package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
- package/packages/config-eslint/node_modules/locate-path/index.d.ts +0 -83
- package/packages/config-eslint/node_modules/locate-path/index.js +0 -68
- package/packages/config-eslint/node_modules/locate-path/license +0 -9
- package/packages/config-eslint/node_modules/locate-path/package.json +0 -46
- package/packages/config-eslint/node_modules/locate-path/readme.md +0 -125
- package/packages/config-eslint/node_modules/p-limit/index.d.ts +0 -42
- package/packages/config-eslint/node_modules/p-limit/index.js +0 -71
- package/packages/config-eslint/node_modules/p-limit/license +0 -9
- package/packages/config-eslint/node_modules/p-limit/package.json +0 -52
- package/packages/config-eslint/node_modules/p-limit/readme.md +0 -101
- package/packages/config-eslint/node_modules/p-locate/index.d.ts +0 -53
- package/packages/config-eslint/node_modules/p-locate/index.js +0 -50
- package/packages/config-eslint/node_modules/p-locate/license +0 -9
- package/packages/config-eslint/node_modules/p-locate/package.json +0 -54
- package/packages/config-eslint/node_modules/p-locate/readme.md +0 -93
- package/packages/config-eslint/node_modules/path-exists/index.d.ts +0 -28
- package/packages/config-eslint/node_modules/path-exists/index.js +0 -23
- package/packages/config-eslint/node_modules/path-exists/license +0 -9
- package/packages/config-eslint/node_modules/path-exists/package.json +0 -39
- package/packages/config-eslint/node_modules/path-exists/readme.md +0 -52
- package/packages/config-eslint/node_modules/yocto-queue/index.d.ts +0 -56
- package/packages/config-eslint/node_modules/yocto-queue/index.js +0 -68
- package/packages/config-eslint/node_modules/yocto-queue/license +0 -9
- package/packages/config-eslint/node_modules/yocto-queue/package.json +0 -43
- package/packages/config-eslint/node_modules/yocto-queue/readme.md +0 -64
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Disallow redundant return statements
|
|
3
|
-
* @author Teddy Katz
|
|
4
|
-
*/
|
|
5
|
-
"use strict";
|
|
6
|
-
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
// Requirements
|
|
9
|
-
//------------------------------------------------------------------------------
|
|
10
|
-
|
|
11
|
-
const astUtils = require("./utils/ast-utils"),
|
|
12
|
-
FixTracker = require("./utils/fix-tracker");
|
|
13
|
-
|
|
14
|
-
//------------------------------------------------------------------------------
|
|
15
|
-
// Helpers
|
|
16
|
-
//------------------------------------------------------------------------------
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Removes the given element from the array.
|
|
20
|
-
* @param {Array} array The source array to remove.
|
|
21
|
-
* @param {any} element The target item to remove.
|
|
22
|
-
* @returns {void}
|
|
23
|
-
*/
|
|
24
|
-
function remove(array, element) {
|
|
25
|
-
const index = array.indexOf(element);
|
|
26
|
-
|
|
27
|
-
if (index !== -1) {
|
|
28
|
-
array.splice(index, 1);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Checks whether it can remove the given return statement or not.
|
|
34
|
-
* @param {ASTNode} node The return statement node to check.
|
|
35
|
-
* @returns {boolean} `true` if the node is removable.
|
|
36
|
-
*/
|
|
37
|
-
function isRemovable(node) {
|
|
38
|
-
return astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Checks whether the given return statement is in a `finally` block or not.
|
|
43
|
-
* @param {ASTNode} node The return statement node to check.
|
|
44
|
-
* @returns {boolean} `true` if the node is in a `finally` block.
|
|
45
|
-
*/
|
|
46
|
-
function isInFinally(node) {
|
|
47
|
-
for (
|
|
48
|
-
let currentNode = node;
|
|
49
|
-
currentNode && currentNode.parent && !astUtils.isFunction(currentNode);
|
|
50
|
-
currentNode = currentNode.parent
|
|
51
|
-
) {
|
|
52
|
-
if (currentNode.parent.type === "TryStatement" && currentNode.parent.finalizer === currentNode) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Checks all segments in a set and returns true if any are reachable.
|
|
62
|
-
* @param {Set<CodePathSegment>} segments The segments to check.
|
|
63
|
-
* @returns {boolean} True if any segment is reachable; false otherwise.
|
|
64
|
-
*/
|
|
65
|
-
function isAnySegmentReachable(segments) {
|
|
66
|
-
|
|
67
|
-
for (const segment of segments) {
|
|
68
|
-
if (segment.reachable) {
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
//------------------------------------------------------------------------------
|
|
77
|
-
// Rule Definition
|
|
78
|
-
//------------------------------------------------------------------------------
|
|
79
|
-
|
|
80
|
-
/** @type {import('../shared/types').Rule} */
|
|
81
|
-
module.exports = {
|
|
82
|
-
meta: {
|
|
83
|
-
type: "suggestion",
|
|
84
|
-
|
|
85
|
-
docs: {
|
|
86
|
-
description: "Disallow redundant return statements",
|
|
87
|
-
recommended: false,
|
|
88
|
-
url: "https://eslint.org/docs/latest/rules/no-useless-return"
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
fixable: "code",
|
|
92
|
-
schema: [],
|
|
93
|
-
|
|
94
|
-
messages: {
|
|
95
|
-
unnecessaryReturn: "Unnecessary return statement."
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
create(context) {
|
|
100
|
-
const segmentInfoMap = new WeakMap();
|
|
101
|
-
const sourceCode = context.sourceCode;
|
|
102
|
-
let scopeInfo = null;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Checks whether the given segment is terminated by a return statement or not.
|
|
106
|
-
* @param {CodePathSegment} segment The segment to check.
|
|
107
|
-
* @returns {boolean} `true` if the segment is terminated by a return statement, or if it's still a part of unreachable.
|
|
108
|
-
*/
|
|
109
|
-
function isReturned(segment) {
|
|
110
|
-
const info = segmentInfoMap.get(segment);
|
|
111
|
-
|
|
112
|
-
return !info || info.returned;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Collects useless return statements from the given previous segments.
|
|
117
|
-
*
|
|
118
|
-
* A previous segment may be an unreachable segment.
|
|
119
|
-
* In that case, the information object of the unreachable segment is not
|
|
120
|
-
* initialized because `onCodePathSegmentStart` event is not notified for
|
|
121
|
-
* unreachable segments.
|
|
122
|
-
* This goes to the previous segments of the unreachable segment recursively
|
|
123
|
-
* if the unreachable segment was generated by a return statement. Otherwise,
|
|
124
|
-
* this ignores the unreachable segment.
|
|
125
|
-
*
|
|
126
|
-
* This behavior would simulate code paths for the case that the return
|
|
127
|
-
* statement does not exist.
|
|
128
|
-
* @param {ASTNode[]} uselessReturns The collected return statements.
|
|
129
|
-
* @param {CodePathSegment[]} prevSegments The previous segments to traverse.
|
|
130
|
-
* @param {WeakSet<CodePathSegment>} [providedTraversedSegments] A set of segments that have already been traversed in this call
|
|
131
|
-
* @returns {ASTNode[]} `uselessReturns`.
|
|
132
|
-
*/
|
|
133
|
-
function getUselessReturns(uselessReturns, prevSegments, providedTraversedSegments) {
|
|
134
|
-
const traversedSegments = providedTraversedSegments || new WeakSet();
|
|
135
|
-
|
|
136
|
-
for (const segment of prevSegments) {
|
|
137
|
-
if (!segment.reachable) {
|
|
138
|
-
if (!traversedSegments.has(segment)) {
|
|
139
|
-
traversedSegments.add(segment);
|
|
140
|
-
getUselessReturns(
|
|
141
|
-
uselessReturns,
|
|
142
|
-
segment.allPrevSegments.filter(isReturned),
|
|
143
|
-
traversedSegments
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
continue;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (segmentInfoMap.has(segment)) {
|
|
150
|
-
uselessReturns.push(...segmentInfoMap.get(segment).uselessReturns);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return uselessReturns;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Removes the return statements on the given segment from the useless return
|
|
159
|
-
* statement list.
|
|
160
|
-
*
|
|
161
|
-
* This segment may be an unreachable segment.
|
|
162
|
-
* In that case, the information object of the unreachable segment is not
|
|
163
|
-
* initialized because `onCodePathSegmentStart` event is not notified for
|
|
164
|
-
* unreachable segments.
|
|
165
|
-
* This goes to the previous segments of the unreachable segment recursively
|
|
166
|
-
* if the unreachable segment was generated by a return statement. Otherwise,
|
|
167
|
-
* this ignores the unreachable segment.
|
|
168
|
-
*
|
|
169
|
-
* This behavior would simulate code paths for the case that the return
|
|
170
|
-
* statement does not exist.
|
|
171
|
-
* @param {CodePathSegment} segment The segment to get return statements.
|
|
172
|
-
* @param {Set<CodePathSegment>} usedUnreachableSegments A set of segments that have already been traversed in this call.
|
|
173
|
-
* @returns {void}
|
|
174
|
-
*/
|
|
175
|
-
function markReturnStatementsOnSegmentAsUsed(segment, usedUnreachableSegments) {
|
|
176
|
-
if (!segment.reachable) {
|
|
177
|
-
usedUnreachableSegments.add(segment);
|
|
178
|
-
segment.allPrevSegments
|
|
179
|
-
.filter(isReturned)
|
|
180
|
-
.filter(prevSegment => !usedUnreachableSegments.has(prevSegment))
|
|
181
|
-
.forEach(prevSegment => markReturnStatementsOnSegmentAsUsed(prevSegment, usedUnreachableSegments));
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
const info = segmentInfoMap.get(segment);
|
|
186
|
-
|
|
187
|
-
if (!info) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
info.uselessReturns = info.uselessReturns.filter(node => {
|
|
192
|
-
if (scopeInfo.traversedTryBlockStatements && scopeInfo.traversedTryBlockStatements.length > 0) {
|
|
193
|
-
const returnInitialRange = node.range[0];
|
|
194
|
-
const returnFinalRange = node.range[1];
|
|
195
|
-
|
|
196
|
-
const areBlocksInRange = scopeInfo.traversedTryBlockStatements.some(tryBlockStatement => {
|
|
197
|
-
const blockInitialRange = tryBlockStatement.range[0];
|
|
198
|
-
const blockFinalRange = tryBlockStatement.range[1];
|
|
199
|
-
|
|
200
|
-
return (
|
|
201
|
-
returnInitialRange >= blockInitialRange &&
|
|
202
|
-
returnFinalRange <= blockFinalRange
|
|
203
|
-
);
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
if (areBlocksInRange) {
|
|
207
|
-
return true;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
remove(scopeInfo.uselessReturns, node);
|
|
212
|
-
return false;
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Removes the return statements on the current segments from the useless
|
|
218
|
-
* return statement list.
|
|
219
|
-
*
|
|
220
|
-
* This function will be called at every statement except FunctionDeclaration,
|
|
221
|
-
* BlockStatement, and BreakStatement.
|
|
222
|
-
*
|
|
223
|
-
* - FunctionDeclarations are always executed whether it's returned or not.
|
|
224
|
-
* - BlockStatements do nothing.
|
|
225
|
-
* - BreakStatements go the next merely.
|
|
226
|
-
* @returns {void}
|
|
227
|
-
*/
|
|
228
|
-
function markReturnStatementsOnCurrentSegmentsAsUsed() {
|
|
229
|
-
scopeInfo
|
|
230
|
-
.currentSegments
|
|
231
|
-
.forEach(segment => markReturnStatementsOnSegmentAsUsed(segment, new Set()));
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
//----------------------------------------------------------------------
|
|
235
|
-
// Public
|
|
236
|
-
//----------------------------------------------------------------------
|
|
237
|
-
|
|
238
|
-
return {
|
|
239
|
-
|
|
240
|
-
// Makes and pushes a new scope information.
|
|
241
|
-
onCodePathStart(codePath) {
|
|
242
|
-
scopeInfo = {
|
|
243
|
-
upper: scopeInfo,
|
|
244
|
-
uselessReturns: [],
|
|
245
|
-
traversedTryBlockStatements: [],
|
|
246
|
-
codePath,
|
|
247
|
-
currentSegments: new Set()
|
|
248
|
-
};
|
|
249
|
-
},
|
|
250
|
-
|
|
251
|
-
// Reports useless return statements if exist.
|
|
252
|
-
onCodePathEnd() {
|
|
253
|
-
for (const node of scopeInfo.uselessReturns) {
|
|
254
|
-
context.report({
|
|
255
|
-
node,
|
|
256
|
-
loc: node.loc,
|
|
257
|
-
messageId: "unnecessaryReturn",
|
|
258
|
-
fix(fixer) {
|
|
259
|
-
if (isRemovable(node) && !sourceCode.getCommentsInside(node).length) {
|
|
260
|
-
|
|
261
|
-
/*
|
|
262
|
-
* Extend the replacement range to include the
|
|
263
|
-
* entire function to avoid conflicting with
|
|
264
|
-
* no-else-return.
|
|
265
|
-
* https://github.com/eslint/eslint/issues/8026
|
|
266
|
-
*/
|
|
267
|
-
return new FixTracker(fixer, sourceCode)
|
|
268
|
-
.retainEnclosingFunction(node)
|
|
269
|
-
.remove(node);
|
|
270
|
-
}
|
|
271
|
-
return null;
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
scopeInfo = scopeInfo.upper;
|
|
277
|
-
},
|
|
278
|
-
|
|
279
|
-
/*
|
|
280
|
-
* Initializes segments.
|
|
281
|
-
* NOTE: This event is notified for only reachable segments.
|
|
282
|
-
*/
|
|
283
|
-
onCodePathSegmentStart(segment) {
|
|
284
|
-
scopeInfo.currentSegments.add(segment);
|
|
285
|
-
|
|
286
|
-
const info = {
|
|
287
|
-
uselessReturns: getUselessReturns([], segment.allPrevSegments),
|
|
288
|
-
returned: false
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
// Stores the info.
|
|
292
|
-
segmentInfoMap.set(segment, info);
|
|
293
|
-
},
|
|
294
|
-
|
|
295
|
-
onUnreachableCodePathSegmentStart(segment) {
|
|
296
|
-
scopeInfo.currentSegments.add(segment);
|
|
297
|
-
},
|
|
298
|
-
|
|
299
|
-
onUnreachableCodePathSegmentEnd(segment) {
|
|
300
|
-
scopeInfo.currentSegments.delete(segment);
|
|
301
|
-
},
|
|
302
|
-
|
|
303
|
-
onCodePathSegmentEnd(segment) {
|
|
304
|
-
scopeInfo.currentSegments.delete(segment);
|
|
305
|
-
},
|
|
306
|
-
|
|
307
|
-
// Adds ReturnStatement node to check whether it's useless or not.
|
|
308
|
-
ReturnStatement(node) {
|
|
309
|
-
if (node.argument) {
|
|
310
|
-
markReturnStatementsOnCurrentSegmentsAsUsed();
|
|
311
|
-
}
|
|
312
|
-
if (
|
|
313
|
-
node.argument ||
|
|
314
|
-
astUtils.isInLoop(node) ||
|
|
315
|
-
isInFinally(node) ||
|
|
316
|
-
|
|
317
|
-
// Ignore `return` statements in unreachable places (https://github.com/eslint/eslint/issues/11647).
|
|
318
|
-
!isAnySegmentReachable(scopeInfo.currentSegments)
|
|
319
|
-
) {
|
|
320
|
-
return;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
for (const segment of scopeInfo.currentSegments) {
|
|
324
|
-
const info = segmentInfoMap.get(segment);
|
|
325
|
-
|
|
326
|
-
if (info) {
|
|
327
|
-
info.uselessReturns.push(node);
|
|
328
|
-
info.returned = true;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
scopeInfo.uselessReturns.push(node);
|
|
332
|
-
},
|
|
333
|
-
|
|
334
|
-
"TryStatement > BlockStatement.block:exit"(node) {
|
|
335
|
-
scopeInfo.traversedTryBlockStatements.push(node);
|
|
336
|
-
},
|
|
337
|
-
|
|
338
|
-
"TryStatement:exit"() {
|
|
339
|
-
scopeInfo.traversedTryBlockStatements.pop();
|
|
340
|
-
},
|
|
341
|
-
|
|
342
|
-
/*
|
|
343
|
-
* Registers for all statement nodes except FunctionDeclaration, BlockStatement, BreakStatement.
|
|
344
|
-
* Removes return statements of the current segments from the useless return statement list.
|
|
345
|
-
*/
|
|
346
|
-
ClassDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
347
|
-
ContinueStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
348
|
-
DebuggerStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
349
|
-
DoWhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
350
|
-
EmptyStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
351
|
-
ExpressionStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
352
|
-
ForInStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
353
|
-
ForOfStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
354
|
-
ForStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
355
|
-
IfStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
356
|
-
ImportDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
357
|
-
LabeledStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
358
|
-
SwitchStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
359
|
-
ThrowStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
360
|
-
TryStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
361
|
-
VariableDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
362
|
-
WhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
363
|
-
WithStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
364
|
-
ExportNamedDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
365
|
-
ExportDefaultDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
366
|
-
ExportAllDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed
|
|
367
|
-
};
|
|
368
|
-
}
|
|
369
|
-
};
|
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Rule to check for the usage of var.
|
|
3
|
-
* @author Jamund Ferguson
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
"use strict";
|
|
7
|
-
|
|
8
|
-
//------------------------------------------------------------------------------
|
|
9
|
-
// Requirements
|
|
10
|
-
//------------------------------------------------------------------------------
|
|
11
|
-
|
|
12
|
-
const astUtils = require("./utils/ast-utils");
|
|
13
|
-
|
|
14
|
-
//------------------------------------------------------------------------------
|
|
15
|
-
// Helpers
|
|
16
|
-
//------------------------------------------------------------------------------
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Check whether a given variable is a global variable or not.
|
|
20
|
-
* @param {eslint-scope.Variable} variable The variable to check.
|
|
21
|
-
* @returns {boolean} `true` if the variable is a global variable.
|
|
22
|
-
*/
|
|
23
|
-
function isGlobal(variable) {
|
|
24
|
-
return Boolean(variable.scope) && variable.scope.type === "global";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Finds the nearest function scope or global scope walking up the scope
|
|
29
|
-
* hierarchy.
|
|
30
|
-
* @param {eslint-scope.Scope} scope The scope to traverse.
|
|
31
|
-
* @returns {eslint-scope.Scope} a function scope or global scope containing the given
|
|
32
|
-
* scope.
|
|
33
|
-
*/
|
|
34
|
-
function getEnclosingFunctionScope(scope) {
|
|
35
|
-
let currentScope = scope;
|
|
36
|
-
|
|
37
|
-
while (currentScope.type !== "function" && currentScope.type !== "global") {
|
|
38
|
-
currentScope = currentScope.upper;
|
|
39
|
-
}
|
|
40
|
-
return currentScope;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Checks whether the given variable has any references from a more specific
|
|
45
|
-
* function expression (i.e. a closure).
|
|
46
|
-
* @param {eslint-scope.Variable} variable A variable to check.
|
|
47
|
-
* @returns {boolean} `true` if the variable is used from a closure.
|
|
48
|
-
*/
|
|
49
|
-
function isReferencedInClosure(variable) {
|
|
50
|
-
const enclosingFunctionScope = getEnclosingFunctionScope(variable.scope);
|
|
51
|
-
|
|
52
|
-
return variable.references.some(reference =>
|
|
53
|
-
getEnclosingFunctionScope(reference.from) !== enclosingFunctionScope);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Checks whether the given node is the assignee of a loop.
|
|
58
|
-
* @param {ASTNode} node A VariableDeclaration node to check.
|
|
59
|
-
* @returns {boolean} `true` if the declaration is assigned as part of loop
|
|
60
|
-
* iteration.
|
|
61
|
-
*/
|
|
62
|
-
function isLoopAssignee(node) {
|
|
63
|
-
return (node.parent.type === "ForOfStatement" || node.parent.type === "ForInStatement") &&
|
|
64
|
-
node === node.parent.left;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Checks whether the given variable declaration is immediately initialized.
|
|
69
|
-
* @param {ASTNode} node A VariableDeclaration node to check.
|
|
70
|
-
* @returns {boolean} `true` if the declaration has an initializer.
|
|
71
|
-
*/
|
|
72
|
-
function isDeclarationInitialized(node) {
|
|
73
|
-
return node.declarations.every(declarator => declarator.init !== null);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const SCOPE_NODE_TYPE = /^(?:Program|BlockStatement|SwitchStatement|ForStatement|ForInStatement|ForOfStatement)$/u;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Gets the scope node which directly contains a given node.
|
|
80
|
-
* @param {ASTNode} node A node to get. This is a `VariableDeclaration` or
|
|
81
|
-
* an `Identifier`.
|
|
82
|
-
* @returns {ASTNode} A scope node. This is one of `Program`, `BlockStatement`,
|
|
83
|
-
* `SwitchStatement`, `ForStatement`, `ForInStatement`, and
|
|
84
|
-
* `ForOfStatement`.
|
|
85
|
-
*/
|
|
86
|
-
function getScopeNode(node) {
|
|
87
|
-
for (let currentNode = node; currentNode; currentNode = currentNode.parent) {
|
|
88
|
-
if (SCOPE_NODE_TYPE.test(currentNode.type)) {
|
|
89
|
-
return currentNode;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/* c8 ignore next */
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Checks whether a given variable is redeclared or not.
|
|
99
|
-
* @param {eslint-scope.Variable} variable A variable to check.
|
|
100
|
-
* @returns {boolean} `true` if the variable is redeclared.
|
|
101
|
-
*/
|
|
102
|
-
function isRedeclared(variable) {
|
|
103
|
-
return variable.defs.length >= 2;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Checks whether a given variable is used from outside of the specified scope.
|
|
108
|
-
* @param {ASTNode} scopeNode A scope node to check.
|
|
109
|
-
* @returns {Function} The predicate function which checks whether a given
|
|
110
|
-
* variable is used from outside of the specified scope.
|
|
111
|
-
*/
|
|
112
|
-
function isUsedFromOutsideOf(scopeNode) {
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Checks whether a given reference is inside of the specified scope or not.
|
|
116
|
-
* @param {eslint-scope.Reference} reference A reference to check.
|
|
117
|
-
* @returns {boolean} `true` if the reference is inside of the specified
|
|
118
|
-
* scope.
|
|
119
|
-
*/
|
|
120
|
-
function isOutsideOfScope(reference) {
|
|
121
|
-
const scope = scopeNode.range;
|
|
122
|
-
const id = reference.identifier.range;
|
|
123
|
-
|
|
124
|
-
return id[0] < scope[0] || id[1] > scope[1];
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return function(variable) {
|
|
128
|
-
return variable.references.some(isOutsideOfScope);
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Creates the predicate function which checks whether a variable has their references in TDZ.
|
|
134
|
-
*
|
|
135
|
-
* The predicate function would return `true`:
|
|
136
|
-
*
|
|
137
|
-
* - if a reference is before the declarator. E.g. (var a = b, b = 1;)(var {a = b, b} = {};)
|
|
138
|
-
* - if a reference is in the expression of their default value. E.g. (var {a = a} = {};)
|
|
139
|
-
* - if a reference is in the expression of their initializer. E.g. (var a = a;)
|
|
140
|
-
* @param {ASTNode} node The initializer node of VariableDeclarator.
|
|
141
|
-
* @returns {Function} The predicate function.
|
|
142
|
-
* @private
|
|
143
|
-
*/
|
|
144
|
-
function hasReferenceInTDZ(node) {
|
|
145
|
-
const initStart = node.range[0];
|
|
146
|
-
const initEnd = node.range[1];
|
|
147
|
-
|
|
148
|
-
return variable => {
|
|
149
|
-
const id = variable.defs[0].name;
|
|
150
|
-
const idStart = id.range[0];
|
|
151
|
-
const defaultValue = (id.parent.type === "AssignmentPattern" ? id.parent.right : null);
|
|
152
|
-
const defaultStart = defaultValue && defaultValue.range[0];
|
|
153
|
-
const defaultEnd = defaultValue && defaultValue.range[1];
|
|
154
|
-
|
|
155
|
-
return variable.references.some(reference => {
|
|
156
|
-
const start = reference.identifier.range[0];
|
|
157
|
-
const end = reference.identifier.range[1];
|
|
158
|
-
|
|
159
|
-
return !reference.init && (
|
|
160
|
-
start < idStart ||
|
|
161
|
-
(defaultValue !== null && start >= defaultStart && end <= defaultEnd) ||
|
|
162
|
-
(!astUtils.isFunction(node) && start >= initStart && end <= initEnd)
|
|
163
|
-
);
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Checks whether a given variable has name that is allowed for 'var' declarations,
|
|
170
|
-
* but disallowed for `let` declarations.
|
|
171
|
-
* @param {eslint-scope.Variable} variable The variable to check.
|
|
172
|
-
* @returns {boolean} `true` if the variable has a disallowed name.
|
|
173
|
-
*/
|
|
174
|
-
function hasNameDisallowedForLetDeclarations(variable) {
|
|
175
|
-
return variable.name === "let";
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
//------------------------------------------------------------------------------
|
|
179
|
-
// Rule Definition
|
|
180
|
-
//------------------------------------------------------------------------------
|
|
181
|
-
|
|
182
|
-
/** @type {import('../shared/types').Rule} */
|
|
183
|
-
module.exports = {
|
|
184
|
-
meta: {
|
|
185
|
-
type: "suggestion",
|
|
186
|
-
|
|
187
|
-
docs: {
|
|
188
|
-
description: "Require `let` or `const` instead of `var`",
|
|
189
|
-
recommended: false,
|
|
190
|
-
url: "https://eslint.org/docs/latest/rules/no-var"
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
-
schema: [],
|
|
194
|
-
fixable: "code",
|
|
195
|
-
|
|
196
|
-
messages: {
|
|
197
|
-
unexpectedVar: "Unexpected var, use let or const instead."
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
|
|
201
|
-
create(context) {
|
|
202
|
-
const sourceCode = context.sourceCode;
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Checks whether the variables which are defined by the given declarator node have their references in TDZ.
|
|
206
|
-
* @param {ASTNode} declarator The VariableDeclarator node to check.
|
|
207
|
-
* @returns {boolean} `true` if one of the variables which are defined by the given declarator node have their references in TDZ.
|
|
208
|
-
*/
|
|
209
|
-
function hasSelfReferenceInTDZ(declarator) {
|
|
210
|
-
if (!declarator.init) {
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
const variables = sourceCode.getDeclaredVariables(declarator);
|
|
214
|
-
|
|
215
|
-
return variables.some(hasReferenceInTDZ(declarator.init));
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Checks whether it can fix a given variable declaration or not.
|
|
220
|
-
* It cannot fix if the following cases:
|
|
221
|
-
*
|
|
222
|
-
* - A variable is a global variable.
|
|
223
|
-
* - A variable is declared on a SwitchCase node.
|
|
224
|
-
* - A variable is redeclared.
|
|
225
|
-
* - A variable is used from outside the scope.
|
|
226
|
-
* - A variable is used from a closure within a loop.
|
|
227
|
-
* - A variable might be used before it is assigned within a loop.
|
|
228
|
-
* - A variable might be used in TDZ.
|
|
229
|
-
* - A variable is declared in statement position (e.g. a single-line `IfStatement`)
|
|
230
|
-
* - A variable has name that is disallowed for `let` declarations.
|
|
231
|
-
*
|
|
232
|
-
* ## A variable is declared on a SwitchCase node.
|
|
233
|
-
*
|
|
234
|
-
* If this rule modifies 'var' declarations on a SwitchCase node, it
|
|
235
|
-
* would generate the warnings of 'no-case-declarations' rule. And the
|
|
236
|
-
* 'eslint:recommended' preset includes 'no-case-declarations' rule, so
|
|
237
|
-
* this rule doesn't modify those declarations.
|
|
238
|
-
*
|
|
239
|
-
* ## A variable is redeclared.
|
|
240
|
-
*
|
|
241
|
-
* The language spec disallows redeclarations of `let` declarations.
|
|
242
|
-
* Those variables would cause syntax errors.
|
|
243
|
-
*
|
|
244
|
-
* ## A variable is used from outside the scope.
|
|
245
|
-
*
|
|
246
|
-
* The language spec disallows accesses from outside of the scope for
|
|
247
|
-
* `let` declarations. Those variables would cause reference errors.
|
|
248
|
-
*
|
|
249
|
-
* ## A variable is used from a closure within a loop.
|
|
250
|
-
*
|
|
251
|
-
* A `var` declaration within a loop shares the same variable instance
|
|
252
|
-
* across all loop iterations, while a `let` declaration creates a new
|
|
253
|
-
* instance for each iteration. This means if a variable in a loop is
|
|
254
|
-
* referenced by any closure, changing it from `var` to `let` would
|
|
255
|
-
* change the behavior in a way that is generally unsafe.
|
|
256
|
-
*
|
|
257
|
-
* ## A variable might be used before it is assigned within a loop.
|
|
258
|
-
*
|
|
259
|
-
* Within a loop, a `let` declaration without an initializer will be
|
|
260
|
-
* initialized to null, while a `var` declaration will retain its value
|
|
261
|
-
* from the previous iteration, so it is only safe to change `var` to
|
|
262
|
-
* `let` if we can statically determine that the variable is always
|
|
263
|
-
* assigned a value before its first access in the loop body. To keep
|
|
264
|
-
* the implementation simple, we only convert `var` to `let` within
|
|
265
|
-
* loops when the variable is a loop assignee or the declaration has an
|
|
266
|
-
* initializer.
|
|
267
|
-
* @param {ASTNode} node A variable declaration node to check.
|
|
268
|
-
* @returns {boolean} `true` if it can fix the node.
|
|
269
|
-
*/
|
|
270
|
-
function canFix(node) {
|
|
271
|
-
const variables = sourceCode.getDeclaredVariables(node);
|
|
272
|
-
const scopeNode = getScopeNode(node);
|
|
273
|
-
|
|
274
|
-
if (node.parent.type === "SwitchCase" ||
|
|
275
|
-
node.declarations.some(hasSelfReferenceInTDZ) ||
|
|
276
|
-
variables.some(isGlobal) ||
|
|
277
|
-
variables.some(isRedeclared) ||
|
|
278
|
-
variables.some(isUsedFromOutsideOf(scopeNode)) ||
|
|
279
|
-
variables.some(hasNameDisallowedForLetDeclarations)
|
|
280
|
-
) {
|
|
281
|
-
return false;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
if (astUtils.isInLoop(node)) {
|
|
285
|
-
if (variables.some(isReferencedInClosure)) {
|
|
286
|
-
return false;
|
|
287
|
-
}
|
|
288
|
-
if (!isLoopAssignee(node) && !isDeclarationInitialized(node)) {
|
|
289
|
-
return false;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
if (
|
|
294
|
-
!isLoopAssignee(node) &&
|
|
295
|
-
!(node.parent.type === "ForStatement" && node.parent.init === node) &&
|
|
296
|
-
!astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type)
|
|
297
|
-
) {
|
|
298
|
-
|
|
299
|
-
// If the declaration is not in a block, e.g. `if (foo) var bar = 1;`, then it can't be fixed.
|
|
300
|
-
return false;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
return true;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
* Reports a given variable declaration node.
|
|
308
|
-
* @param {ASTNode} node A variable declaration node to report.
|
|
309
|
-
* @returns {void}
|
|
310
|
-
*/
|
|
311
|
-
function report(node) {
|
|
312
|
-
context.report({
|
|
313
|
-
node,
|
|
314
|
-
messageId: "unexpectedVar",
|
|
315
|
-
|
|
316
|
-
fix(fixer) {
|
|
317
|
-
const varToken = sourceCode.getFirstToken(node, { filter: t => t.value === "var" });
|
|
318
|
-
|
|
319
|
-
return canFix(node)
|
|
320
|
-
? fixer.replaceText(varToken, "let")
|
|
321
|
-
: null;
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
return {
|
|
327
|
-
"VariableDeclaration:exit"(node) {
|
|
328
|
-
if (node.kind === "var") {
|
|
329
|
-
report(node);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
};
|