@alexlit/lint-kit 126.6.0 → 127.0.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/eslint.config.js +16 -0
- package/package.json +5 -5
- package/packages/config-eslint/node_modules/ajv/.tonic_example.js +20 -0
- package/packages/config-eslint/node_modules/ajv/LICENSE +22 -0
- package/packages/config-eslint/node_modules/ajv/README.md +1497 -0
- package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +7189 -0
- package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +3 -0
- package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +1 -0
- package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +397 -0
- package/packages/config-eslint/node_modules/ajv/lib/ajv.js +506 -0
- package/packages/config-eslint/node_modules/ajv/lib/cache.js +26 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +90 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +5 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +34 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +142 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +387 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +270 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +66 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +9 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +20 -0
- package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +239 -0
- package/packages/config-eslint/node_modules/ajv/lib/data.js +49 -0
- package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +37 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +113 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +12 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +12 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +12 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +32 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +46 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +51 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +9 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +11 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +55 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +191 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +47 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +203 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +79 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +30 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +194 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +106 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +73 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +98 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +39 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +22 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +43 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +54 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +14 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +245 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +52 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +85 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +108 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +62 -0
- package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +276 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +3 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +163 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +80 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +85 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +80 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +42 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +73 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +14 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +56 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +81 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +228 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +168 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +66 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +150 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +103 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +33 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +140 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +80 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +84 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +73 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +75 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +335 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +81 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +124 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +270 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +86 -0
- package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +482 -0
- package/packages/config-eslint/node_modules/ajv/lib/keyword.js +146 -0
- package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +17 -0
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +149 -0
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +154 -0
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +168 -0
- package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +94 -0
- package/packages/config-eslint/node_modules/ajv/package.json +106 -0
- package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +3 -0
- package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +61 -0
- package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +73 -0
- package/packages/config-eslint/node_modules/ajv/scripts/info +10 -0
- package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +12 -0
- package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +32 -0
- package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +23 -0
- package/packages/config-eslint/node_modules/ansi-styles/index.d.ts +345 -0
- package/packages/config-eslint/node_modules/ansi-styles/index.js +163 -0
- package/packages/config-eslint/node_modules/ansi-styles/license +9 -0
- package/packages/config-eslint/node_modules/ansi-styles/package.json +56 -0
- package/packages/config-eslint/node_modules/ansi-styles/readme.md +152 -0
- package/packages/config-eslint/node_modules/chalk/index.d.ts +415 -0
- package/packages/config-eslint/node_modules/chalk/license +9 -0
- package/packages/config-eslint/node_modules/chalk/package.json +68 -0
- package/packages/config-eslint/node_modules/chalk/readme.md +341 -0
- package/packages/config-eslint/node_modules/chalk/source/index.js +229 -0
- package/packages/config-eslint/node_modules/chalk/source/templates.js +134 -0
- package/packages/config-eslint/node_modules/chalk/source/util.js +39 -0
- package/packages/config-eslint/node_modules/color-convert/CHANGELOG.md +54 -0
- package/packages/config-eslint/node_modules/color-convert/LICENSE +21 -0
- package/packages/config-eslint/node_modules/color-convert/README.md +68 -0
- package/packages/config-eslint/node_modules/color-convert/conversions.js +839 -0
- package/packages/config-eslint/node_modules/color-convert/index.js +81 -0
- package/packages/config-eslint/node_modules/color-convert/package.json +48 -0
- package/packages/config-eslint/node_modules/color-convert/route.js +97 -0
- package/packages/config-eslint/node_modules/color-name/LICENSE +8 -0
- package/packages/config-eslint/node_modules/color-name/README.md +11 -0
- package/packages/config-eslint/node_modules/color-name/index.js +152 -0
- package/packages/config-eslint/node_modules/color-name/package.json +28 -0
- package/packages/config-eslint/node_modules/eslint/LICENSE +19 -0
- package/packages/config-eslint/node_modules/eslint/README.md +306 -0
- package/packages/config-eslint/node_modules/eslint/bin/eslint.js +174 -0
- package/packages/config-eslint/node_modules/eslint/conf/default-cli-options.js +32 -0
- package/packages/config-eslint/node_modules/eslint/conf/ecma-version.js +16 -0
- package/packages/config-eslint/node_modules/eslint/conf/globals.js +160 -0
- package/packages/config-eslint/node_modules/eslint/conf/replacements.json +22 -0
- package/packages/config-eslint/node_modules/eslint/conf/rule-type-list.json +30 -0
- package/packages/config-eslint/node_modules/eslint/lib/api.js +50 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/cli-engine.js +1089 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/file-enumerator.js +547 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +18 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/html.js +351 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +16 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json.js +13 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/stylish.js +101 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/hash.js +35 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/index.js +7 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/lint-result-cache.js +203 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli-engine/load-rules.js +46 -0
- package/packages/config-eslint/node_modules/eslint/lib/cli.js +552 -0
- package/packages/config-eslint/node_modules/eslint/lib/config/default-config.js +75 -0
- package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-array.js +423 -0
- package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-helpers.js +132 -0
- package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-schema.js +576 -0
- package/packages/config-eslint/node_modules/eslint/lib/config/rule-validator.js +194 -0
- package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint-helpers.js +975 -0
- package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint.js +1307 -0
- package/packages/config-eslint/node_modules/eslint/lib/eslint/index.js +9 -0
- package/packages/config-eslint/node_modules/eslint/lib/eslint/legacy-eslint.js +742 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/index.js +252 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/index.js +7 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +1318 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +57 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +58 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +76 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +92 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +39 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +43 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +57 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +63 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +627 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +40 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +38 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +42 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +107 -0
- package/packages/config-eslint/node_modules/eslint/lib/languages/js/validate-language-options.js +181 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +513 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +851 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +263 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +2348 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +344 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +203 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +349 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +45 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/config-comment-parser.js +169 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/index.js +11 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/interpolate.js +50 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/linter.js +2410 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/node-event-generator.js +352 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/report-translator.js +376 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/rule-fixer.js +163 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/rules.js +71 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/safe-emitter.js +52 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-fixer.js +152 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/timing.js +169 -0
- package/packages/config-eslint/node_modules/eslint/lib/linter/vfile.js +111 -0
- package/packages/config-eslint/node_modules/eslint/lib/options.js +442 -0
- package/packages/config-eslint/node_modules/eslint/lib/rule-tester/index.js +7 -0
- package/packages/config-eslint/node_modules/eslint/lib/rule-tester/rule-tester.js +1286 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/accessor-pairs.js +346 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-newline.js +261 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-spacing.js +244 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-callback-return.js +446 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/array-element-newline.js +311 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-body-style.js +296 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-parens.js +186 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-spacing.js +164 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/block-scoped-var.js +135 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/block-spacing.js +174 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/brace-style.js +197 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/callback-return.js +187 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/camelcase.js +397 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/capitalized-comments.js +303 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/class-methods-use-this.js +187 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/comma-dangle.js +373 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/comma-spacing.js +192 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/comma-style.js +314 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/complexity.js +178 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/computed-property-spacing.js +208 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-return.js +210 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-this.js +153 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/constructor-super.js +445 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/curly.js +486 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/default-case-last.js +44 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/default-case.js +97 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/default-param-last.js +62 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/dot-location.js +108 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/dot-notation.js +176 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/eol-last.js +115 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/eqeqeq.js +174 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/for-direction.js +140 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-call-spacing.js +233 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-name-matching.js +253 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-names.js +191 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/func-style.js +136 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/function-call-argument-newline.js +125 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/function-paren-newline.js +292 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/generator-star-spacing.js +209 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/getter-return.js +204 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/global-require.js +90 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +215 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/guard-for-in.js +76 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/handle-callback-err.js +101 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-blacklist.js +246 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-denylist.js +228 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-length.js +177 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/id-match.js +299 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +84 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/indent-legacy.js +1126 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/indent.js +1803 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/index.js +305 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/init-declarations.js +139 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/jsx-quotes.js +98 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/key-spacing.js +687 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/keyword-spacing.js +640 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/line-comment-position.js +125 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/linebreak-style.js +108 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-comment.js +471 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-directive.js +201 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/lines-between-class-members.js +269 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/logical-assignment-operators.js +504 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-classes-per-file.js +89 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-depth.js +156 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-len.js +440 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines-per-function.js +213 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines.js +193 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-nested-callbacks.js +117 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-params.js +102 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements-per-line.js +199 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements.js +184 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-comment-style.js +476 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-ternary.js +174 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/new-cap.js +276 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/new-parens.js +93 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/newline-after-var.js +253 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/newline-before-return.js +217 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/newline-per-chained-call.js +126 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-alert.js +138 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-array-constructor.js +133 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-async-promise-executor.js +39 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-await-in-loop.js +106 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-bitwise.js +119 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-buffer-constructor.js +50 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-caller.js +46 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-case-declarations.js +76 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-catch-shadow.js +82 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-class-assign.js +63 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-compare-neg-zero.js +60 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-cond-assign.js +159 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-confusing-arrow.js +92 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-console.js +207 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-const-assign.js +56 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-binary-expression.js +508 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-condition.js +161 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-constructor-return.js +62 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-continue.js +39 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-control-regex.js +138 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-debugger.js +43 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-delete-var.js +42 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-div-regex.js +53 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-args.js +82 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-class-members.js +104 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-else-if.js +122 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-keys.js +142 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-case.js +71 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-imports.js +290 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-else-return.js +405 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-character-class.js +76 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-function.js +167 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-pattern.js +78 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-static-block.js +47 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty.js +103 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-eq-null.js +46 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-eval.js +286 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-ex-assign.js +54 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extend-native.js +178 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-bind.js +213 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +369 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-label.js +149 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-parens.js +1322 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-semi.js +147 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-fallthrough.js +221 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-floating-decimal.js +73 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-func-assign.js +78 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-global-assign.js +95 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-coercion.js +422 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-globals.js +146 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-implied-eval.js +132 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-import-assign.js +241 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-inline-comments.js +110 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-inner-declarations.js +131 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-regexp.js +194 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-this.js +150 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-irregular-whitespace.js +276 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-iterator.js +52 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-label-var.js +80 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-labels.js +149 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-lone-blocks.js +136 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-lonely-if.js +88 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-loop-func.js +238 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-loss-of-precision.js +214 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-magic-numbers.js +243 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-misleading-character-class.js +537 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-operators.js +229 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-requires.js +238 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +116 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-assign.js +67 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js +141 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-str.js +65 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +154 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-native-reassign.js +98 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-condition.js +95 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-in-lhs.js +46 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-nested-ternary.js +44 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-func.js +87 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +66 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-object.js +67 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-require.js +50 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-symbol.js +63 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-wrappers.js +60 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-new.js +43 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +148 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-obj-calls.js +86 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-object-constructor.js +117 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal-escape.js +56 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal.js +45 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-param-reassign.js +230 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-path-concat.js +64 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-plusplus.js +105 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-env.js +51 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-exit.js +47 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-promise-executor-return.js +263 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-proto.js +48 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-prototype-builtins.js +159 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-redeclare.js +174 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-regex-spaces.js +197 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-exports.js +204 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-globals.js +124 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-imports.js +563 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-modules.js +213 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-properties.js +168 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-syntax.js +70 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-assign.js +80 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-await.js +135 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-script-url.js +61 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-assign.js +183 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-compare.js +60 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-sequences.js +139 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-setter-return.js +226 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +65 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow.js +336 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-spaced-func.js +83 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-sparse-arrays.js +73 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-sync.js +64 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-tabs.js +81 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-template-curly-in-string.js +44 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-ternary.js +41 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-this-before-super.js +363 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-throw-literal.js +51 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-trailing-spaces.js +192 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef-init.js +75 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef.js +79 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-undefined.js +86 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-underscore-dangle.js +335 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unexpected-multiline.js +120 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +360 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unneeded-ternary.js +166 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable-loop.js +185 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable.js +293 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-finally.js +111 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-negation.js +128 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +205 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-expressions.js +186 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-labels.js +143 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-private-class-members.js +195 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-vars.js +881 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-use-before-define.js +348 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-assignment.js +566 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-backreference.js +244 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-call.js +90 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-catch.js +57 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-computed-key.js +168 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-concat.js +115 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-constructor.js +189 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-escape.js +333 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-rename.js +172 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-return.js +369 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-var.js +334 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-void.js +64 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-warning-comments.js +201 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-whitespace-before-property.js +116 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/no-with.js +39 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +127 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-newline.js +324 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-spacing.js +311 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-property-newline.js +102 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/object-shorthand.js +521 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +95 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/one-var.js +567 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/operator-assignment.js +209 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/operator-linebreak.js +253 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/padded-blocks.js +310 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/padding-line-between-statements.js +590 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-arrow-callback.js +381 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-const.js +501 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-destructuring.js +301 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +191 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-named-capture-group.js +178 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-numeric-literals.js +148 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-has-own.js +114 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-spread.js +298 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +132 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-reflect.js +127 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-regex-literals.js +507 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-rest-params.js +118 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-spread.js +87 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-template.js +275 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/quote-props.js +310 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/quotes.js +350 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/radix.js +198 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-atomic-updates.js +331 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-await.js +147 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-unicode-regexp.js +129 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/require-yield.js +77 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/rest-spread-spacing.js +123 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/semi-spacing.js +248 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/semi-style.js +158 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/semi.js +438 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/sort-imports.js +241 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/sort-keys.js +230 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/sort-vars.js +104 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-blocks.js +204 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-function-paren.js +167 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-in-parens.js +285 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-infix-ops.js +198 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/space-unary-ops.js +324 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/spaced-comment.js +385 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/strict.js +277 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/switch-colon-spacing.js +132 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/symbol-description.js +73 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/template-curly-spacing.js +144 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/template-tag-spacing.js +93 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/unicode-bom.js +73 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/use-isnan.js +235 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/ast-utils.js +2292 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/char-source.js +240 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/fix-tracker.js +114 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/keywords.js +67 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +115 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/regular-expressions.js +42 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/index.js +16 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +13 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +13 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +13 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +14 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/valid-typeof.js +127 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/vars-on-top.js +157 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-iife.js +207 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-regex.js +61 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/yield-star-spacing.js +130 -0
- package/packages/config-eslint/node_modules/eslint/lib/rules/yoda.js +353 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/ajv.js +34 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/ast-utils.js +29 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/directives.js +15 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/flags.js +27 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/logging.js +39 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/runtime-info.js +168 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/serialization.js +55 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/severity.js +49 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/stats.js +30 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/string-utils.js +58 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/traverser.js +195 -0
- package/packages/config-eslint/node_modules/eslint/lib/shared/types.js +250 -0
- package/packages/config-eslint/node_modules/eslint/lib/unsupported-api.js +28 -0
- package/packages/config-eslint/node_modules/eslint/messages/all-files-ignored.js +16 -0
- package/packages/config-eslint/node_modules/eslint/messages/all-matched-files-ignored.js +21 -0
- package/packages/config-eslint/node_modules/eslint/messages/config-file-missing.js +16 -0
- package/packages/config-eslint/node_modules/eslint/messages/eslintrc-incompat.js +119 -0
- package/packages/config-eslint/node_modules/eslint/messages/eslintrc-plugins.js +24 -0
- package/packages/config-eslint/node_modules/eslint/messages/extend-config-missing.js +13 -0
- package/packages/config-eslint/node_modules/eslint/messages/failed-to-read-json.js +11 -0
- package/packages/config-eslint/node_modules/eslint/messages/file-not-found.js +10 -0
- package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-options.js +17 -0
- package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-severity.js +13 -0
- package/packages/config-eslint/node_modules/eslint/messages/no-config-found.js +15 -0
- package/packages/config-eslint/node_modules/eslint/messages/plugin-conflict.js +22 -0
- package/packages/config-eslint/node_modules/eslint/messages/plugin-invalid.js +16 -0
- package/packages/config-eslint/node_modules/eslint/messages/plugin-missing.js +19 -0
- package/packages/config-eslint/node_modules/eslint/messages/print-config-with-directory-path.js +8 -0
- package/packages/config-eslint/node_modules/eslint/messages/shared.js +18 -0
- package/packages/config-eslint/node_modules/eslint/messages/whitespace-found.js +11 -0
- package/packages/config-eslint/node_modules/eslint/package.json +188 -0
- package/packages/config-eslint/node_modules/eslint-scope/LICENSE +22 -0
- package/packages/config-eslint/node_modules/eslint-scope/README.md +91 -0
- package/packages/config-eslint/node_modules/eslint-scope/dist/eslint-scope.cjs +2266 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/definition.js +85 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/index.js +169 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/pattern-visitor.js +154 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/reference.js +166 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/referencer.js +656 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/scope-manager.js +249 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/scope.js +793 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/variable.js +87 -0
- package/packages/config-eslint/node_modules/eslint-scope/lib/version.js +3 -0
- package/packages/config-eslint/node_modules/eslint-scope/package.json +65 -0
- package/packages/config-eslint/node_modules/file-entry-cache/LICENSE +22 -0
- package/packages/config-eslint/node_modules/file-entry-cache/README.md +115 -0
- package/packages/config-eslint/node_modules/file-entry-cache/cache.js +291 -0
- package/packages/config-eslint/node_modules/file-entry-cache/package.json +56 -0
- package/packages/config-eslint/node_modules/find-up/index.d.ts +138 -0
- package/packages/config-eslint/node_modules/find-up/index.js +89 -0
- package/packages/config-eslint/node_modules/find-up/license +9 -0
- package/packages/config-eslint/node_modules/find-up/package.json +54 -0
- package/packages/config-eslint/node_modules/find-up/readme.md +151 -0
- package/packages/config-eslint/node_modules/flat-cache/LICENSE +22 -0
- package/packages/config-eslint/node_modules/flat-cache/README.md +77 -0
- package/packages/config-eslint/node_modules/flat-cache/changelog.md +278 -0
- package/packages/config-eslint/node_modules/flat-cache/package.json +63 -0
- package/packages/config-eslint/node_modules/flat-cache/src/cache.js +214 -0
- package/packages/config-eslint/node_modules/flat-cache/src/del.js +30 -0
- package/packages/config-eslint/node_modules/flat-cache/src/utils.js +42 -0
- package/packages/config-eslint/node_modules/glob-parent/LICENSE +15 -0
- package/packages/config-eslint/node_modules/glob-parent/README.md +134 -0
- package/packages/config-eslint/node_modules/glob-parent/index.js +75 -0
- package/packages/config-eslint/node_modules/glob-parent/package.json +54 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +8 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +21 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/README.md +83 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/index.js +89 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/package.json +43 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/packages/config-eslint/node_modules/locate-path/index.d.ts +83 -0
- package/packages/config-eslint/node_modules/locate-path/index.js +68 -0
- package/packages/config-eslint/node_modules/locate-path/license +9 -0
- package/packages/config-eslint/node_modules/locate-path/package.json +46 -0
- package/packages/config-eslint/node_modules/locate-path/readme.md +125 -0
- package/packages/config-eslint/node_modules/p-limit/index.d.ts +42 -0
- package/packages/config-eslint/node_modules/p-limit/index.js +71 -0
- package/packages/config-eslint/node_modules/p-limit/license +9 -0
- package/packages/config-eslint/node_modules/p-limit/package.json +52 -0
- package/packages/config-eslint/node_modules/p-limit/readme.md +101 -0
- package/packages/config-eslint/node_modules/p-locate/index.d.ts +53 -0
- package/packages/config-eslint/node_modules/p-locate/index.js +50 -0
- package/packages/config-eslint/node_modules/p-locate/license +9 -0
- package/packages/config-eslint/node_modules/p-locate/package.json +54 -0
- package/packages/config-eslint/node_modules/p-locate/readme.md +93 -0
- package/packages/config-eslint/node_modules/path-exists/index.d.ts +28 -0
- package/packages/config-eslint/node_modules/path-exists/index.js +23 -0
- package/packages/config-eslint/node_modules/path-exists/license +9 -0
- package/packages/config-eslint/node_modules/path-exists/package.json +39 -0
- package/packages/config-eslint/node_modules/path-exists/readme.md +52 -0
- package/packages/config-eslint/node_modules/yocto-queue/index.d.ts +56 -0
- package/packages/config-eslint/node_modules/yocto-queue/index.js +68 -0
- package/packages/config-eslint/node_modules/yocto-queue/license +9 -0
- package/packages/config-eslint/node_modules/yocto-queue/package.json +43 -0
- package/packages/config-eslint/node_modules/yocto-queue/readme.md +64 -0
- package/packages/config-eslint/package.json +3 -3
- package/packages/config-hooks/package.json +2 -2
- package/packages/config-stylelint/package.json +2 -2
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview A helper that translates context.report() calls from the rule API into generic problem objects
|
|
3
|
+
* @author Teddy Katz
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
//------------------------------------------------------------------------------
|
|
9
|
+
// Requirements
|
|
10
|
+
//------------------------------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
const assert = require("node:assert");
|
|
13
|
+
const { RuleFixer } = require("./rule-fixer");
|
|
14
|
+
const { interpolate } = require("./interpolate");
|
|
15
|
+
|
|
16
|
+
//------------------------------------------------------------------------------
|
|
17
|
+
// Typedefs
|
|
18
|
+
//------------------------------------------------------------------------------
|
|
19
|
+
|
|
20
|
+
/** @typedef {import("../shared/types").LintMessage} LintMessage */
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* An error message description
|
|
24
|
+
* @typedef {Object} MessageDescriptor
|
|
25
|
+
* @property {ASTNode} [node] The reported node
|
|
26
|
+
* @property {Location} loc The location of the problem.
|
|
27
|
+
* @property {string} message The problem message.
|
|
28
|
+
* @property {Object} [data] Optional data to use to fill in placeholders in the
|
|
29
|
+
* message.
|
|
30
|
+
* @property {Function} [fix] The function to call that creates a fix command.
|
|
31
|
+
* @property {Array<{desc?: string, messageId?: string, fix: Function}>} suggest Suggestion descriptions and functions to create a the associated fixes.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
//------------------------------------------------------------------------------
|
|
35
|
+
// Module Definition
|
|
36
|
+
//------------------------------------------------------------------------------
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Translates a multi-argument context.report() call into a single object argument call
|
|
41
|
+
* @param {...*} args A list of arguments passed to `context.report`
|
|
42
|
+
* @returns {MessageDescriptor} A normalized object containing report information
|
|
43
|
+
*/
|
|
44
|
+
function normalizeMultiArgReportCall(...args) {
|
|
45
|
+
|
|
46
|
+
// If there is one argument, it is considered to be a new-style call already.
|
|
47
|
+
if (args.length === 1) {
|
|
48
|
+
|
|
49
|
+
// Shallow clone the object to avoid surprises if reusing the descriptor
|
|
50
|
+
return Object.assign({}, args[0]);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// If the second argument is a string, the arguments are interpreted as [node, message, data, fix].
|
|
54
|
+
if (typeof args[1] === "string") {
|
|
55
|
+
return {
|
|
56
|
+
node: args[0],
|
|
57
|
+
message: args[1],
|
|
58
|
+
data: args[2],
|
|
59
|
+
fix: args[3]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Otherwise, the arguments are interpreted as [node, loc, message, data, fix].
|
|
64
|
+
return {
|
|
65
|
+
node: args[0],
|
|
66
|
+
loc: args[1],
|
|
67
|
+
message: args[2],
|
|
68
|
+
data: args[3],
|
|
69
|
+
fix: args[4]
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Asserts that either a loc or a node was provided, and the node is valid if it was provided.
|
|
75
|
+
* @param {MessageDescriptor} descriptor A descriptor to validate
|
|
76
|
+
* @returns {void}
|
|
77
|
+
* @throws AssertionError if neither a node nor a loc was provided, or if the node is not an object
|
|
78
|
+
*/
|
|
79
|
+
function assertValidNodeInfo(descriptor) {
|
|
80
|
+
if (descriptor.node) {
|
|
81
|
+
assert(typeof descriptor.node === "object", "Node must be an object");
|
|
82
|
+
} else {
|
|
83
|
+
assert(descriptor.loc, "Node must be provided when reporting error if location is not provided");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Normalizes a MessageDescriptor to always have a `loc` with `start` and `end` properties
|
|
89
|
+
* @param {MessageDescriptor} descriptor A descriptor for the report from a rule.
|
|
90
|
+
* @returns {{start: Location, end: (Location|null)}} An updated location that infers the `start` and `end` properties
|
|
91
|
+
* from the `node` of the original descriptor, or infers the `start` from the `loc` of the original descriptor.
|
|
92
|
+
*/
|
|
93
|
+
function normalizeReportLoc(descriptor) {
|
|
94
|
+
if (descriptor.loc.start) {
|
|
95
|
+
return descriptor.loc;
|
|
96
|
+
}
|
|
97
|
+
return { start: descriptor.loc, end: null };
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Clones the given fix object.
|
|
102
|
+
* @param {Fix|null} fix The fix to clone.
|
|
103
|
+
* @returns {Fix|null} Deep cloned fix object or `null` if `null` or `undefined` was passed in.
|
|
104
|
+
*/
|
|
105
|
+
function cloneFix(fix) {
|
|
106
|
+
if (!fix) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return {
|
|
111
|
+
range: [fix.range[0], fix.range[1]],
|
|
112
|
+
text: fix.text
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Check that a fix has a valid range.
|
|
118
|
+
* @param {Fix|null} fix The fix to validate.
|
|
119
|
+
* @returns {void}
|
|
120
|
+
*/
|
|
121
|
+
function assertValidFix(fix) {
|
|
122
|
+
if (fix) {
|
|
123
|
+
assert(fix.range && typeof fix.range[0] === "number" && typeof fix.range[1] === "number", `Fix has invalid range: ${JSON.stringify(fix, null, 2)}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Compares items in a fixes array by range.
|
|
129
|
+
* @param {Fix} a The first message.
|
|
130
|
+
* @param {Fix} b The second message.
|
|
131
|
+
* @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal.
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
function compareFixesByRange(a, b) {
|
|
135
|
+
return a.range[0] - b.range[0] || a.range[1] - b.range[1];
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Merges the given fixes array into one.
|
|
140
|
+
* @param {Fix[]} fixes The fixes to merge.
|
|
141
|
+
* @param {SourceCode} sourceCode The source code object to get the text between fixes.
|
|
142
|
+
* @returns {{text: string, range: number[]}} The merged fixes
|
|
143
|
+
*/
|
|
144
|
+
function mergeFixes(fixes, sourceCode) {
|
|
145
|
+
for (const fix of fixes) {
|
|
146
|
+
assertValidFix(fix);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (fixes.length === 0) {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
if (fixes.length === 1) {
|
|
153
|
+
return cloneFix(fixes[0]);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
fixes.sort(compareFixesByRange);
|
|
157
|
+
|
|
158
|
+
const originalText = sourceCode.text;
|
|
159
|
+
const start = fixes[0].range[0];
|
|
160
|
+
const end = fixes.at(-1).range[1];
|
|
161
|
+
let text = "";
|
|
162
|
+
let lastPos = Number.MIN_SAFE_INTEGER;
|
|
163
|
+
|
|
164
|
+
for (const fix of fixes) {
|
|
165
|
+
assert(fix.range[0] >= lastPos, "Fix objects must not be overlapped in a report.");
|
|
166
|
+
|
|
167
|
+
if (fix.range[0] >= 0) {
|
|
168
|
+
text += originalText.slice(Math.max(0, start, lastPos), fix.range[0]);
|
|
169
|
+
}
|
|
170
|
+
text += fix.text;
|
|
171
|
+
lastPos = fix.range[1];
|
|
172
|
+
}
|
|
173
|
+
text += originalText.slice(Math.max(0, start, lastPos), end);
|
|
174
|
+
|
|
175
|
+
return { range: [start, end], text };
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Gets one fix object from the given descriptor.
|
|
180
|
+
* If the descriptor retrieves multiple fixes, this merges those to one.
|
|
181
|
+
* @param {MessageDescriptor} descriptor The report descriptor.
|
|
182
|
+
* @param {SourceCode} sourceCode The source code object to get text between fixes.
|
|
183
|
+
* @returns {({text: string, range: number[]}|null)} The fix for the descriptor
|
|
184
|
+
*/
|
|
185
|
+
function normalizeFixes(descriptor, sourceCode) {
|
|
186
|
+
if (typeof descriptor.fix !== "function") {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const ruleFixer = new RuleFixer({ sourceCode });
|
|
191
|
+
|
|
192
|
+
// @type {null | Fix | Fix[] | IterableIterator<Fix>}
|
|
193
|
+
const fix = descriptor.fix(ruleFixer);
|
|
194
|
+
|
|
195
|
+
// Merge to one.
|
|
196
|
+
if (fix && Symbol.iterator in fix) {
|
|
197
|
+
return mergeFixes(Array.from(fix), sourceCode);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
assertValidFix(fix);
|
|
201
|
+
return cloneFix(fix);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Gets an array of suggestion objects from the given descriptor.
|
|
206
|
+
* @param {MessageDescriptor} descriptor The report descriptor.
|
|
207
|
+
* @param {SourceCode} sourceCode The source code object to get text between fixes.
|
|
208
|
+
* @param {Object} messages Object of meta messages for the rule.
|
|
209
|
+
* @returns {Array<SuggestionResult>} The suggestions for the descriptor
|
|
210
|
+
*/
|
|
211
|
+
function mapSuggestions(descriptor, sourceCode, messages) {
|
|
212
|
+
if (!descriptor.suggest || !Array.isArray(descriptor.suggest)) {
|
|
213
|
+
return [];
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return descriptor.suggest
|
|
217
|
+
.map(suggestInfo => {
|
|
218
|
+
const computedDesc = suggestInfo.desc || messages[suggestInfo.messageId];
|
|
219
|
+
|
|
220
|
+
return {
|
|
221
|
+
...suggestInfo,
|
|
222
|
+
desc: interpolate(computedDesc, suggestInfo.data),
|
|
223
|
+
fix: normalizeFixes(suggestInfo, sourceCode)
|
|
224
|
+
};
|
|
225
|
+
})
|
|
226
|
+
|
|
227
|
+
// Remove suggestions that didn't provide a fix
|
|
228
|
+
.filter(({ fix }) => fix);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Creates information about the report from a descriptor
|
|
233
|
+
* @param {Object} options Information about the problem
|
|
234
|
+
* @param {string} options.ruleId Rule ID
|
|
235
|
+
* @param {(0|1|2)} options.severity Rule severity
|
|
236
|
+
* @param {(ASTNode|null)} options.node Node
|
|
237
|
+
* @param {string} options.message Error message
|
|
238
|
+
* @param {string} [options.messageId] The error message ID.
|
|
239
|
+
* @param {{start: SourceLocation, end: (SourceLocation|null)}} options.loc Start and end location
|
|
240
|
+
* @param {{text: string, range: (number[]|null)}} options.fix The fix object
|
|
241
|
+
* @param {Array<{text: string, range: (number[]|null)}>} options.suggestions The array of suggestions objects
|
|
242
|
+
* @param {Language} [options.language] The language to use to adjust line and column offsets.
|
|
243
|
+
* @returns {LintMessage} Information about the report
|
|
244
|
+
*/
|
|
245
|
+
function createProblem(options) {
|
|
246
|
+
const { language } = options;
|
|
247
|
+
|
|
248
|
+
// calculate offsets based on the language in use
|
|
249
|
+
const columnOffset = language.columnStart === 1 ? 0 : 1;
|
|
250
|
+
const lineOffset = language.lineStart === 1 ? 0 : 1;
|
|
251
|
+
|
|
252
|
+
const problem = {
|
|
253
|
+
ruleId: options.ruleId,
|
|
254
|
+
severity: options.severity,
|
|
255
|
+
message: options.message,
|
|
256
|
+
line: options.loc.start.line + lineOffset,
|
|
257
|
+
column: options.loc.start.column + columnOffset,
|
|
258
|
+
nodeType: options.node && options.node.type || null
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
/*
|
|
262
|
+
* If this isn’t in the conditional, some of the tests fail
|
|
263
|
+
* because `messageId` is present in the problem object
|
|
264
|
+
*/
|
|
265
|
+
if (options.messageId) {
|
|
266
|
+
problem.messageId = options.messageId;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (options.loc.end) {
|
|
270
|
+
problem.endLine = options.loc.end.line + lineOffset;
|
|
271
|
+
problem.endColumn = options.loc.end.column + columnOffset;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (options.fix) {
|
|
275
|
+
problem.fix = options.fix;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
if (options.suggestions && options.suggestions.length > 0) {
|
|
279
|
+
problem.suggestions = options.suggestions;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
return problem;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Validates that suggestions are properly defined. Throws if an error is detected.
|
|
287
|
+
* @param {Array<{ desc?: string, messageId?: string }>} suggest The incoming suggest data.
|
|
288
|
+
* @param {Object} messages Object of meta messages for the rule.
|
|
289
|
+
* @returns {void}
|
|
290
|
+
*/
|
|
291
|
+
function validateSuggestions(suggest, messages) {
|
|
292
|
+
if (suggest && Array.isArray(suggest)) {
|
|
293
|
+
suggest.forEach(suggestion => {
|
|
294
|
+
if (suggestion.messageId) {
|
|
295
|
+
const { messageId } = suggestion;
|
|
296
|
+
|
|
297
|
+
if (!messages) {
|
|
298
|
+
throw new TypeError(`context.report() called with a suggest option with a messageId '${messageId}', but no messages were present in the rule metadata.`);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
if (!messages[messageId]) {
|
|
302
|
+
throw new TypeError(`context.report() called with a suggest option with a messageId '${messageId}' which is not present in the 'messages' config: ${JSON.stringify(messages, null, 2)}`);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
if (suggestion.desc) {
|
|
306
|
+
throw new TypeError("context.report() called with a suggest option that defines both a 'messageId' and an 'desc'. Please only pass one.");
|
|
307
|
+
}
|
|
308
|
+
} else if (!suggestion.desc) {
|
|
309
|
+
throw new TypeError("context.report() called with a suggest option that doesn't have either a `desc` or `messageId`");
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
if (typeof suggestion.fix !== "function") {
|
|
313
|
+
throw new TypeError(`context.report() called with a suggest option without a fix function. See: ${suggestion}`);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Returns a function that converts the arguments of a `context.report` call from a rule into a reported
|
|
321
|
+
* problem for the Node.js API.
|
|
322
|
+
* @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object, disableFixes: boolean, language:Language}} metadata Metadata for the reported problem
|
|
323
|
+
* @returns {function(...args): LintMessage} Function that returns information about the report
|
|
324
|
+
*/
|
|
325
|
+
|
|
326
|
+
module.exports = function createReportTranslator(metadata) {
|
|
327
|
+
|
|
328
|
+
/*
|
|
329
|
+
* `createReportTranslator` gets called once per enabled rule per file. It needs to be very performant.
|
|
330
|
+
* The report translator itself (i.e. the function that `createReportTranslator` returns) gets
|
|
331
|
+
* called every time a rule reports a problem, which happens much less frequently (usually, the vast
|
|
332
|
+
* majority of rules don't report any problems for a given file).
|
|
333
|
+
*/
|
|
334
|
+
return (...args) => {
|
|
335
|
+
const descriptor = normalizeMultiArgReportCall(...args);
|
|
336
|
+
const messages = metadata.messageIds;
|
|
337
|
+
const { sourceCode } = metadata;
|
|
338
|
+
|
|
339
|
+
assertValidNodeInfo(descriptor);
|
|
340
|
+
|
|
341
|
+
let computedMessage;
|
|
342
|
+
|
|
343
|
+
if (descriptor.messageId) {
|
|
344
|
+
if (!messages) {
|
|
345
|
+
throw new TypeError("context.report() called with a messageId, but no messages were present in the rule metadata.");
|
|
346
|
+
}
|
|
347
|
+
const id = descriptor.messageId;
|
|
348
|
+
|
|
349
|
+
if (descriptor.message) {
|
|
350
|
+
throw new TypeError("context.report() called with a message and a messageId. Please only pass one.");
|
|
351
|
+
}
|
|
352
|
+
if (!messages || !Object.hasOwn(messages, id)) {
|
|
353
|
+
throw new TypeError(`context.report() called with a messageId of '${id}' which is not present in the 'messages' config: ${JSON.stringify(messages, null, 2)}`);
|
|
354
|
+
}
|
|
355
|
+
computedMessage = messages[id];
|
|
356
|
+
} else if (descriptor.message) {
|
|
357
|
+
computedMessage = descriptor.message;
|
|
358
|
+
} else {
|
|
359
|
+
throw new TypeError("Missing `message` property in report() call; add a message that describes the linting problem.");
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
validateSuggestions(descriptor.suggest, messages);
|
|
363
|
+
|
|
364
|
+
return createProblem({
|
|
365
|
+
ruleId: metadata.ruleId,
|
|
366
|
+
severity: metadata.severity,
|
|
367
|
+
node: descriptor.node,
|
|
368
|
+
message: interpolate(computedMessage, descriptor.data),
|
|
369
|
+
messageId: descriptor.messageId,
|
|
370
|
+
loc: descriptor.loc ? normalizeReportLoc(descriptor) : sourceCode.getLoc(descriptor.node),
|
|
371
|
+
fix: metadata.disableFixes ? null : normalizeFixes(descriptor, sourceCode),
|
|
372
|
+
suggestions: metadata.disableFixes ? [] : mapSuggestions(descriptor, sourceCode, messages),
|
|
373
|
+
language: metadata.language
|
|
374
|
+
});
|
|
375
|
+
};
|
|
376
|
+
};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview An object that creates fix commands for rules.
|
|
3
|
+
* @author Nicholas C. Zakas
|
|
4
|
+
*/
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
/* eslint class-methods-use-this: off -- Methods desired on instance */
|
|
8
|
+
|
|
9
|
+
//------------------------------------------------------------------------------
|
|
10
|
+
// Requirements
|
|
11
|
+
//------------------------------------------------------------------------------
|
|
12
|
+
|
|
13
|
+
// none!
|
|
14
|
+
|
|
15
|
+
//------------------------------------------------------------------------------
|
|
16
|
+
// Helpers
|
|
17
|
+
//------------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Creates a fix command that inserts text at the specified index in the source text.
|
|
21
|
+
* @param {int} index The 0-based index at which to insert the new text.
|
|
22
|
+
* @param {string} text The text to insert.
|
|
23
|
+
* @returns {Object} The fix command.
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
function insertTextAt(index, text) {
|
|
27
|
+
return {
|
|
28
|
+
range: [index, index],
|
|
29
|
+
text
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//------------------------------------------------------------------------------
|
|
34
|
+
// Public Interface
|
|
35
|
+
//------------------------------------------------------------------------------
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Creates code fixing commands for rules.
|
|
39
|
+
*/
|
|
40
|
+
class RuleFixer {
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The source code object representing the text to be fixed.
|
|
44
|
+
* @type {SourceCode}
|
|
45
|
+
*/
|
|
46
|
+
#sourceCode;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new instance.
|
|
50
|
+
* @param {Object} options The options for the fixer.
|
|
51
|
+
* @param {SourceCode} options.sourceCode The source code object representing the text to be fixed.
|
|
52
|
+
*/
|
|
53
|
+
constructor({ sourceCode }) {
|
|
54
|
+
this.#sourceCode = sourceCode;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Creates a fix command that inserts text after the given node or token.
|
|
59
|
+
* The fix is not applied until applyFixes() is called.
|
|
60
|
+
* @param {ASTNode|Token} nodeOrToken The node or token to insert after.
|
|
61
|
+
* @param {string} text The text to insert.
|
|
62
|
+
* @returns {Object} The fix command.
|
|
63
|
+
*/
|
|
64
|
+
insertTextAfter(nodeOrToken, text) {
|
|
65
|
+
const range = this.#sourceCode.getRange(nodeOrToken);
|
|
66
|
+
|
|
67
|
+
return this.insertTextAfterRange(range, text);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Creates a fix command that inserts text after the specified range in the source text.
|
|
72
|
+
* The fix is not applied until applyFixes() is called.
|
|
73
|
+
* @param {int[]} range The range to replace, first item is start of range, second
|
|
74
|
+
* is end of range.
|
|
75
|
+
* @param {string} text The text to insert.
|
|
76
|
+
* @returns {Object} The fix command.
|
|
77
|
+
*/
|
|
78
|
+
insertTextAfterRange(range, text) {
|
|
79
|
+
return insertTextAt(range[1], text);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Creates a fix command that inserts text before the given node or token.
|
|
84
|
+
* The fix is not applied until applyFixes() is called.
|
|
85
|
+
* @param {ASTNode|Token} nodeOrToken The node or token to insert before.
|
|
86
|
+
* @param {string} text The text to insert.
|
|
87
|
+
* @returns {Object} The fix command.
|
|
88
|
+
*/
|
|
89
|
+
insertTextBefore(nodeOrToken, text) {
|
|
90
|
+
const range = this.#sourceCode.getRange(nodeOrToken);
|
|
91
|
+
|
|
92
|
+
return this.insertTextBeforeRange(range, text);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Creates a fix command that inserts text before the specified range in the source text.
|
|
97
|
+
* The fix is not applied until applyFixes() is called.
|
|
98
|
+
* @param {int[]} range The range to replace, first item is start of range, second
|
|
99
|
+
* is end of range.
|
|
100
|
+
* @param {string} text The text to insert.
|
|
101
|
+
* @returns {Object} The fix command.
|
|
102
|
+
*/
|
|
103
|
+
insertTextBeforeRange(range, text) {
|
|
104
|
+
return insertTextAt(range[0], text);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Creates a fix command that replaces text at the node or token.
|
|
109
|
+
* The fix is not applied until applyFixes() is called.
|
|
110
|
+
* @param {ASTNode|Token} nodeOrToken The node or token to remove.
|
|
111
|
+
* @param {string} text The text to insert.
|
|
112
|
+
* @returns {Object} The fix command.
|
|
113
|
+
*/
|
|
114
|
+
replaceText(nodeOrToken, text) {
|
|
115
|
+
const range = this.#sourceCode.getRange(nodeOrToken);
|
|
116
|
+
|
|
117
|
+
return this.replaceTextRange(range, text);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Creates a fix command that replaces text at the specified range in the source text.
|
|
122
|
+
* The fix is not applied until applyFixes() is called.
|
|
123
|
+
* @param {int[]} range The range to replace, first item is start of range, second
|
|
124
|
+
* is end of range.
|
|
125
|
+
* @param {string} text The text to insert.
|
|
126
|
+
* @returns {Object} The fix command.
|
|
127
|
+
*/
|
|
128
|
+
replaceTextRange(range, text) {
|
|
129
|
+
return {
|
|
130
|
+
range,
|
|
131
|
+
text
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Creates a fix command that removes the node or token from the source.
|
|
137
|
+
* The fix is not applied until applyFixes() is called.
|
|
138
|
+
* @param {ASTNode|Token} nodeOrToken The node or token to remove.
|
|
139
|
+
* @returns {Object} The fix command.
|
|
140
|
+
*/
|
|
141
|
+
remove(nodeOrToken) {
|
|
142
|
+
const range = this.#sourceCode.getRange(nodeOrToken);
|
|
143
|
+
|
|
144
|
+
return this.removeRange(range);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Creates a fix command that removes the specified range of text from the source.
|
|
149
|
+
* The fix is not applied until applyFixes() is called.
|
|
150
|
+
* @param {int[]} range The range to remove, first item is start of range, second
|
|
151
|
+
* is end of range.
|
|
152
|
+
* @returns {Object} The fix command.
|
|
153
|
+
*/
|
|
154
|
+
removeRange(range) {
|
|
155
|
+
return {
|
|
156
|
+
range,
|
|
157
|
+
text: ""
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
module.exports = { RuleFixer };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines a storage for rules.
|
|
3
|
+
* @author Nicholas C. Zakas
|
|
4
|
+
* @author aladdin-add
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
|
|
9
|
+
//------------------------------------------------------------------------------
|
|
10
|
+
// Requirements
|
|
11
|
+
//------------------------------------------------------------------------------
|
|
12
|
+
|
|
13
|
+
const builtInRules = require("../rules");
|
|
14
|
+
|
|
15
|
+
//------------------------------------------------------------------------------
|
|
16
|
+
// Typedefs
|
|
17
|
+
//------------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
/** @typedef {import("../shared/types").Rule} Rule */
|
|
20
|
+
|
|
21
|
+
//------------------------------------------------------------------------------
|
|
22
|
+
// Public Interface
|
|
23
|
+
//------------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* A storage for rules.
|
|
27
|
+
*/
|
|
28
|
+
class Rules {
|
|
29
|
+
constructor() {
|
|
30
|
+
this._rules = Object.create(null);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Registers a rule module for rule id in storage.
|
|
35
|
+
* @param {string} ruleId Rule id (file name).
|
|
36
|
+
* @param {Rule} rule Rule object.
|
|
37
|
+
* @returns {void}
|
|
38
|
+
*/
|
|
39
|
+
define(ruleId, rule) {
|
|
40
|
+
this._rules[ruleId] = rule;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Access rule handler by id (file name).
|
|
45
|
+
* @param {string} ruleId Rule id (file name).
|
|
46
|
+
* @returns {Rule} Rule object.
|
|
47
|
+
*/
|
|
48
|
+
get(ruleId) {
|
|
49
|
+
if (typeof this._rules[ruleId] === "string") {
|
|
50
|
+
this.define(ruleId, require(this._rules[ruleId]));
|
|
51
|
+
}
|
|
52
|
+
if (this._rules[ruleId]) {
|
|
53
|
+
return this._rules[ruleId];
|
|
54
|
+
}
|
|
55
|
+
if (builtInRules.has(ruleId)) {
|
|
56
|
+
return builtInRules.get(ruleId);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
*[Symbol.iterator]() {
|
|
63
|
+
yield* builtInRules;
|
|
64
|
+
|
|
65
|
+
for (const ruleId of Object.keys(this._rules)) {
|
|
66
|
+
yield [ruleId, this.get(ruleId)];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
module.exports = Rules;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview A variant of EventEmitter which does not give listeners information about each other
|
|
3
|
+
* @author Teddy Katz
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
//------------------------------------------------------------------------------
|
|
9
|
+
// Typedefs
|
|
10
|
+
//------------------------------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* An event emitter
|
|
14
|
+
* @typedef {Object} SafeEmitter
|
|
15
|
+
* @property {(eventName: string, listenerFunc: Function) => void} on Adds a listener for a given event name
|
|
16
|
+
* @property {(eventName: string, arg1?: any, arg2?: any, arg3?: any) => void} emit Emits an event with a given name.
|
|
17
|
+
* This calls all the listeners that were listening for that name, with `arg1`, `arg2`, and `arg3` as arguments.
|
|
18
|
+
* @property {function(): string[]} eventNames Gets the list of event names that have registered listeners.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Creates an object which can listen for and emit events.
|
|
23
|
+
* This is similar to the EventEmitter API in Node's standard library, but it has a few differences.
|
|
24
|
+
* The goal is to allow multiple modules to attach arbitrary listeners to the same emitter, without
|
|
25
|
+
* letting the modules know about each other at all.
|
|
26
|
+
* 1. It has no special keys like `error` and `newListener`, which would allow modules to detect when
|
|
27
|
+
* another module throws an error or registers a listener.
|
|
28
|
+
* 2. It calls listener functions without any `this` value. (`EventEmitter` calls listeners with a
|
|
29
|
+
* `this` value of the emitter instance, which would give listeners access to other listeners.)
|
|
30
|
+
* @returns {SafeEmitter} An emitter
|
|
31
|
+
*/
|
|
32
|
+
module.exports = () => {
|
|
33
|
+
const listeners = Object.create(null);
|
|
34
|
+
|
|
35
|
+
return Object.freeze({
|
|
36
|
+
on(eventName, listener) {
|
|
37
|
+
if (eventName in listeners) {
|
|
38
|
+
listeners[eventName].push(listener);
|
|
39
|
+
} else {
|
|
40
|
+
listeners[eventName] = [listener];
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
emit(eventName, ...args) {
|
|
44
|
+
if (eventName in listeners) {
|
|
45
|
+
listeners[eventName].forEach(listener => listener(...args));
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
eventNames() {
|
|
49
|
+
return Object.keys(listeners);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
};
|