eslint 6.0.0-alpha.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -0
- package/README.md +28 -21
- package/bin/eslint.js +2 -2
- package/conf/config-schema.js +38 -31
- package/conf/environments.js +1 -1
- package/conf/eslint-all.js +2 -2
- package/conf/eslint-recommended.js +1 -1
- package/lib/api.js +7 -3
- package/lib/cli-engine/cascading-config-array-factory.js +20 -8
- package/lib/{cli-engine.js → cli-engine/cli-engine.js} +44 -21
- package/lib/cli-engine/config-array/config-array.js +7 -8
- package/lib/cli-engine/config-array/config-dependency.js +2 -2
- package/lib/cli-engine/config-array/extracted-config.js +3 -3
- package/lib/cli-engine/config-array/override-tester.js +11 -1
- package/lib/cli-engine/config-array-factory.js +75 -65
- package/lib/cli-engine/file-enumerator.js +14 -6
- package/lib/{formatters → cli-engine/formatters}/checkstyle.js +1 -1
- package/lib/{formatters → cli-engine/formatters}/codeframe.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/compact.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/html-template-message.html +0 -0
- package/lib/{formatters → cli-engine/formatters}/html-template-page.html +0 -0
- package/lib/{formatters → cli-engine/formatters}/html-template-result.html +0 -0
- package/lib/{formatters → cli-engine/formatters}/html.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/jslint-xml.js +1 -1
- package/lib/{formatters → cli-engine/formatters}/json-with-metadata.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/json.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/junit.js +15 -3
- package/lib/{formatters → cli-engine/formatters}/stylish.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/table.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/tap.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/unix.js +0 -0
- package/lib/{formatters → cli-engine/formatters}/visualstudio.js +0 -0
- package/lib/{util → cli-engine}/hash.js +0 -0
- package/lib/{util → cli-engine}/ignored-paths.js +6 -1
- package/lib/cli-engine/index.js +7 -0
- package/lib/{util → cli-engine}/lint-result-cache.js +0 -0
- package/lib/{load-rules.js → cli-engine/load-rules.js} +0 -0
- package/lib/{util → cli-engine}/naming.js +0 -0
- package/lib/{util → cli-engine}/xml-escape.js +0 -0
- package/lib/cli.js +3 -3
- package/lib/{config → init}/autoconfig.js +3 -3
- package/lib/{config → init}/config-file.js +0 -0
- package/lib/{config → init}/config-initializer.js +6 -6
- package/lib/{config → init}/config-rule.js +8 -2
- package/lib/{util → init}/npm-utils.js +1 -1
- package/lib/{util → init}/source-code-utils.js +16 -1
- package/lib/{util → linter}/apply-disable-directives.js +0 -0
- package/lib/{code-path-analysis → linter/code-path-analysis}/code-path-analyzer.js +19 -6
- package/lib/{code-path-analysis → linter/code-path-analysis}/code-path-segment.js +0 -0
- package/lib/{code-path-analysis → linter/code-path-analysis}/code-path-state.js +0 -0
- package/lib/{code-path-analysis → linter/code-path-analysis}/code-path.js +0 -0
- package/lib/{code-path-analysis → linter/code-path-analysis}/debug-helpers.js +0 -0
- package/lib/{code-path-analysis → linter/code-path-analysis}/fork-context.js +0 -0
- package/lib/{code-path-analysis → linter/code-path-analysis}/id-generator.js +0 -0
- package/lib/{util → linter}/config-comment-parser.js +1 -1
- package/lib/linter/index.js +13 -0
- package/lib/{util → linter}/interpolate.js +0 -0
- package/lib/{linter.js → linter/linter.js} +298 -152
- package/lib/{util → linter}/node-event-generator.js +7 -5
- package/lib/{util → linter}/report-translator.js +0 -0
- package/lib/{util → linter}/rule-fixer.js +0 -0
- package/lib/{rules.js → linter/rules.js} +3 -29
- package/lib/{util → linter}/safe-emitter.js +0 -0
- package/lib/{util → linter}/source-code-fixer.js +0 -0
- package/lib/{util → linter}/timing.js +1 -1
- package/lib/rule-tester/index.js +5 -0
- package/lib/{testers → rule-tester}/rule-tester.js +43 -15
- package/lib/rules/array-bracket-newline.js +1 -1
- package/lib/rules/array-bracket-spacing.js +1 -1
- package/lib/rules/array-callback-return.js +1 -1
- package/lib/rules/array-element-newline.js +1 -1
- package/lib/rules/arrow-body-style.js +1 -1
- package/lib/rules/arrow-parens.js +22 -1
- package/lib/rules/arrow-spacing.js +1 -1
- package/lib/rules/block-spacing.js +1 -1
- package/lib/rules/brace-style.js +1 -1
- package/lib/rules/capitalized-comments.js +2 -2
- package/lib/rules/comma-dangle.js +1 -1
- package/lib/rules/comma-spacing.js +1 -1
- package/lib/rules/comma-style.js +1 -1
- package/lib/rules/complexity.js +3 -3
- package/lib/rules/computed-property-spacing.js +1 -1
- package/lib/rules/consistent-return.js +1 -1
- package/lib/rules/curly.js +1 -1
- package/lib/rules/dot-location.js +1 -1
- package/lib/rules/dot-notation.js +2 -2
- package/lib/rules/eqeqeq.js +1 -1
- package/lib/rules/func-call-spacing.js +1 -1
- package/lib/rules/func-name-matching.js +1 -1
- package/lib/rules/func-names.js +1 -1
- package/lib/rules/function-paren-newline.js +1 -1
- package/lib/rules/getter-return.js +1 -1
- package/lib/rules/implicit-arrow-linebreak.js +1 -1
- package/lib/rules/indent-legacy.js +1 -1
- package/lib/rules/indent.js +1 -1
- package/lib/rules/index.js +281 -0
- package/lib/rules/jsx-quotes.js +1 -1
- package/lib/rules/key-spacing.js +1 -1
- package/lib/rules/keyword-spacing.js +2 -2
- package/lib/rules/line-comment-position.js +1 -1
- package/lib/rules/linebreak-style.js +1 -1
- package/lib/rules/lines-around-comment.js +1 -1
- package/lib/rules/lines-around-directive.js +1 -1
- package/lib/rules/lines-between-class-members.js +1 -1
- package/lib/rules/max-classes-per-file.js +2 -1
- package/lib/rules/max-depth.js +2 -2
- package/lib/rules/max-len.js +11 -4
- package/lib/rules/max-lines-per-function.js +4 -2
- package/lib/rules/max-lines.js +2 -2
- package/lib/rules/max-params.js +1 -1
- package/lib/rules/max-statements-per-line.js +1 -1
- package/lib/rules/max-statements.js +1 -1
- package/lib/rules/multiline-comment-style.js +3 -2
- package/lib/rules/multiline-ternary.js +1 -1
- package/lib/rules/new-parens.js +43 -11
- package/lib/rules/newline-after-var.js +1 -1
- package/lib/rules/newline-per-chained-call.js +1 -1
- package/lib/rules/no-alert.js +1 -1
- package/lib/rules/no-catch-shadow.js +1 -1
- package/lib/rules/no-class-assign.js +1 -1
- package/lib/rules/no-cond-assign.js +1 -1
- package/lib/rules/no-confusing-arrow.js +1 -1
- package/lib/rules/no-console.js +1 -1
- package/lib/rules/no-const-assign.js +1 -1
- package/lib/rules/no-div-regex.js +9 -1
- package/lib/rules/no-dupe-keys.js +1 -1
- package/lib/rules/no-else-return.js +129 -2
- package/lib/rules/no-empty-function.js +1 -1
- package/lib/rules/no-empty.js +1 -1
- package/lib/rules/no-eval.js +1 -1
- package/lib/rules/no-ex-assign.js +1 -1
- package/lib/rules/no-extend-native.js +1 -1
- package/lib/rules/no-extra-bind.js +1 -1
- package/lib/rules/no-extra-boolean-cast.js +1 -1
- package/lib/rules/no-extra-label.js +1 -1
- package/lib/rules/no-extra-parens.js +1 -1
- package/lib/rules/no-extra-semi.js +2 -2
- package/lib/rules/no-floating-decimal.js +1 -1
- package/lib/rules/no-func-assign.js +1 -1
- package/lib/rules/no-implicit-coercion.js +1 -1
- package/lib/rules/no-inline-comments.js +1 -1
- package/lib/rules/no-invalid-this.js +1 -1
- package/lib/rules/no-irregular-whitespace.js +1 -1
- package/lib/rules/no-label-var.js +1 -1
- package/lib/rules/no-labels.js +1 -1
- package/lib/rules/no-misleading-character-class.js +1 -1
- package/lib/rules/no-mixed-operators.js +1 -1
- package/lib/rules/no-multi-spaces.js +1 -1
- package/lib/rules/no-multi-str.js +1 -1
- package/lib/rules/no-octal.js +1 -1
- package/lib/rules/no-redeclare.js +1 -1
- package/lib/rules/no-regex-spaces.js +1 -1
- package/lib/rules/no-restricted-imports.js +18 -14
- package/lib/rules/no-restricted-properties.js +1 -1
- package/lib/rules/no-return-assign.js +1 -1
- package/lib/rules/no-return-await.js +1 -1
- package/lib/rules/no-self-assign.js +1 -1
- package/lib/rules/no-sequences.js +1 -1
- package/lib/rules/no-shadow.js +1 -1
- package/lib/rules/no-this-before-super.js +1 -1
- package/lib/rules/no-throw-literal.js +1 -1
- package/lib/rules/no-trailing-spaces.js +1 -1
- package/lib/rules/no-undef-init.js +1 -1
- package/lib/rules/no-unexpected-multiline.js +1 -1
- package/lib/rules/no-unmodified-loop-condition.js +2 -2
- package/lib/rules/no-unneeded-ternary.js +1 -1
- package/lib/rules/no-unsafe-negation.js +1 -1
- package/lib/rules/no-unused-vars.js +1 -1
- package/lib/rules/no-useless-call.js +1 -1
- package/lib/rules/no-useless-computed-key.js +1 -1
- package/lib/rules/no-useless-concat.js +1 -1
- package/lib/rules/no-useless-escape.js +7 -2
- package/lib/rules/no-useless-return.js +2 -2
- package/lib/rules/no-var.js +15 -2
- package/lib/rules/no-warning-comments.js +1 -1
- package/lib/rules/no-whitespace-before-property.js +1 -1
- package/lib/rules/object-curly-newline.js +1 -1
- package/lib/rules/object-curly-spacing.js +1 -1
- package/lib/rules/object-shorthand.js +1 -1
- package/lib/rules/operator-assignment.js +1 -1
- package/lib/rules/operator-linebreak.js +1 -1
- package/lib/rules/padded-blocks.js +1 -1
- package/lib/rules/padding-line-between-statements.js +1 -1
- package/lib/rules/prefer-const.js +1 -1
- package/lib/rules/prefer-object-spread.js +1 -1
- package/lib/rules/prefer-promise-reject-errors.js +1 -1
- package/lib/rules/prefer-spread.js +1 -1
- package/lib/rules/prefer-template.js +1 -1
- package/lib/rules/quote-props.js +1 -1
- package/lib/rules/quotes.js +1 -1
- package/lib/rules/radix.js +1 -1
- package/lib/rules/require-atomic-updates.js +63 -84
- package/lib/rules/require-await.js +1 -1
- package/lib/rules/semi-spacing.js +1 -1
- package/lib/rules/semi-style.js +1 -1
- package/lib/rules/semi.js +2 -2
- package/lib/rules/sort-keys.js +12 -4
- package/lib/rules/space-before-blocks.js +1 -1
- package/lib/rules/space-before-function-paren.js +1 -1
- package/lib/rules/space-in-parens.js +1 -1
- package/lib/rules/space-unary-ops.js +1 -1
- package/lib/rules/spaced-comment.js +1 -1
- package/lib/rules/strict.js +1 -1
- package/lib/rules/switch-colon-spacing.js +1 -1
- package/lib/rules/symbol-description.js +1 -1
- package/lib/rules/template-curly-spacing.js +1 -1
- package/lib/{util → rules/utils}/ast-utils.js +8 -27
- package/lib/{util → rules/utils}/fix-tracker.js +1 -1
- package/lib/{util → rules/utils}/keywords.js +0 -0
- package/lib/{util → rules/utils}/lazy-loading-rule-map.js +0 -0
- package/lib/{util → rules/utils}/patterns/letters.js +0 -0
- package/lib/{util → rules/utils}/unicode/index.js +0 -0
- package/lib/{util → rules/utils}/unicode/is-combining-character.js +0 -0
- package/lib/{util → rules/utils}/unicode/is-emoji-modifier.js +0 -0
- package/lib/{util → rules/utils}/unicode/is-regional-indicator-symbol.js +0 -0
- package/lib/{util → rules/utils}/unicode/is-surrogate-pair.js +0 -0
- package/lib/rules/valid-typeof.js +1 -1
- package/lib/rules/wrap-iife.js +1 -1
- package/lib/rules/yoda.js +1 -1
- package/lib/{util → shared}/ajv.js +0 -0
- package/lib/shared/ast-utils.js +29 -0
- package/lib/{config → shared}/config-ops.js +0 -0
- package/lib/{config → shared}/config-validator.js +22 -7
- package/lib/{util → shared}/logging.js +0 -0
- package/lib/{util → shared}/relative-module-resolver.js +10 -3
- package/lib/{util → shared}/traverser.js +0 -0
- package/lib/{util → shared}/types.js +4 -0
- package/lib/source-code/index.js +5 -0
- package/lib/{util → source-code}/source-code.js +10 -8
- package/lib/{token-store → source-code/token-store}/backward-token-comment-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/backward-token-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/cursors.js +0 -0
- package/lib/{token-store → source-code/token-store}/decorative-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/filter-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/forward-token-comment-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/forward-token-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/index.js +3 -3
- package/lib/{token-store → source-code/token-store}/limit-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/padded-token-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/skip-cursor.js +0 -0
- package/lib/{token-store → source-code/token-store}/utils.js +0 -0
- package/messages/extend-config-missing.txt +2 -0
- package/messages/print-config-with-directory-path.txt +2 -0
- package/package.json +8 -11
- package/lib/built-in-rules-index.js +0 -281
@@ -0,0 +1,281 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview Collects the built-in rules into a map structure so that they can be imported all at once and without
|
3
|
+
* using the file-system directly.
|
4
|
+
* @author Peter (Somogyvari) Metz
|
5
|
+
*/
|
6
|
+
|
7
|
+
"use strict";
|
8
|
+
|
9
|
+
/* eslint sort-keys: ["error", "asc"] */
|
10
|
+
|
11
|
+
const { LazyLoadingRuleMap } = require("./utils/lazy-loading-rule-map");
|
12
|
+
|
13
|
+
/** @type {Map<string, import("../shared/types").Rule>} */
|
14
|
+
module.exports = new LazyLoadingRuleMap(Object.entries({
|
15
|
+
"accessor-pairs": () => require("./accessor-pairs"),
|
16
|
+
"array-bracket-newline": () => require("./array-bracket-newline"),
|
17
|
+
"array-bracket-spacing": () => require("./array-bracket-spacing"),
|
18
|
+
"array-callback-return": () => require("./array-callback-return"),
|
19
|
+
"array-element-newline": () => require("./array-element-newline"),
|
20
|
+
"arrow-body-style": () => require("./arrow-body-style"),
|
21
|
+
"arrow-parens": () => require("./arrow-parens"),
|
22
|
+
"arrow-spacing": () => require("./arrow-spacing"),
|
23
|
+
"block-scoped-var": () => require("./block-scoped-var"),
|
24
|
+
"block-spacing": () => require("./block-spacing"),
|
25
|
+
"brace-style": () => require("./brace-style"),
|
26
|
+
"callback-return": () => require("./callback-return"),
|
27
|
+
camelcase: () => require("./camelcase"),
|
28
|
+
"capitalized-comments": () => require("./capitalized-comments"),
|
29
|
+
"class-methods-use-this": () => require("./class-methods-use-this"),
|
30
|
+
"comma-dangle": () => require("./comma-dangle"),
|
31
|
+
"comma-spacing": () => require("./comma-spacing"),
|
32
|
+
"comma-style": () => require("./comma-style"),
|
33
|
+
complexity: () => require("./complexity"),
|
34
|
+
"computed-property-spacing": () => require("./computed-property-spacing"),
|
35
|
+
"consistent-return": () => require("./consistent-return"),
|
36
|
+
"consistent-this": () => require("./consistent-this"),
|
37
|
+
"constructor-super": () => require("./constructor-super"),
|
38
|
+
curly: () => require("./curly"),
|
39
|
+
"default-case": () => require("./default-case"),
|
40
|
+
"dot-location": () => require("./dot-location"),
|
41
|
+
"dot-notation": () => require("./dot-notation"),
|
42
|
+
"eol-last": () => require("./eol-last"),
|
43
|
+
eqeqeq: () => require("./eqeqeq"),
|
44
|
+
"for-direction": () => require("./for-direction"),
|
45
|
+
"func-call-spacing": () => require("./func-call-spacing"),
|
46
|
+
"func-name-matching": () => require("./func-name-matching"),
|
47
|
+
"func-names": () => require("./func-names"),
|
48
|
+
"func-style": () => require("./func-style"),
|
49
|
+
"function-paren-newline": () => require("./function-paren-newline"),
|
50
|
+
"generator-star-spacing": () => require("./generator-star-spacing"),
|
51
|
+
"getter-return": () => require("./getter-return"),
|
52
|
+
"global-require": () => require("./global-require"),
|
53
|
+
"guard-for-in": () => require("./guard-for-in"),
|
54
|
+
"handle-callback-err": () => require("./handle-callback-err"),
|
55
|
+
"id-blacklist": () => require("./id-blacklist"),
|
56
|
+
"id-length": () => require("./id-length"),
|
57
|
+
"id-match": () => require("./id-match"),
|
58
|
+
"implicit-arrow-linebreak": () => require("./implicit-arrow-linebreak"),
|
59
|
+
indent: () => require("./indent"),
|
60
|
+
"indent-legacy": () => require("./indent-legacy"),
|
61
|
+
"init-declarations": () => require("./init-declarations"),
|
62
|
+
"jsx-quotes": () => require("./jsx-quotes"),
|
63
|
+
"key-spacing": () => require("./key-spacing"),
|
64
|
+
"keyword-spacing": () => require("./keyword-spacing"),
|
65
|
+
"line-comment-position": () => require("./line-comment-position"),
|
66
|
+
"linebreak-style": () => require("./linebreak-style"),
|
67
|
+
"lines-around-comment": () => require("./lines-around-comment"),
|
68
|
+
"lines-around-directive": () => require("./lines-around-directive"),
|
69
|
+
"lines-between-class-members": () => require("./lines-between-class-members"),
|
70
|
+
"max-classes-per-file": () => require("./max-classes-per-file"),
|
71
|
+
"max-depth": () => require("./max-depth"),
|
72
|
+
"max-len": () => require("./max-len"),
|
73
|
+
"max-lines": () => require("./max-lines"),
|
74
|
+
"max-lines-per-function": () => require("./max-lines-per-function"),
|
75
|
+
"max-nested-callbacks": () => require("./max-nested-callbacks"),
|
76
|
+
"max-params": () => require("./max-params"),
|
77
|
+
"max-statements": () => require("./max-statements"),
|
78
|
+
"max-statements-per-line": () => require("./max-statements-per-line"),
|
79
|
+
"multiline-comment-style": () => require("./multiline-comment-style"),
|
80
|
+
"multiline-ternary": () => require("./multiline-ternary"),
|
81
|
+
"new-cap": () => require("./new-cap"),
|
82
|
+
"new-parens": () => require("./new-parens"),
|
83
|
+
"newline-after-var": () => require("./newline-after-var"),
|
84
|
+
"newline-before-return": () => require("./newline-before-return"),
|
85
|
+
"newline-per-chained-call": () => require("./newline-per-chained-call"),
|
86
|
+
"no-alert": () => require("./no-alert"),
|
87
|
+
"no-array-constructor": () => require("./no-array-constructor"),
|
88
|
+
"no-async-promise-executor": () => require("./no-async-promise-executor"),
|
89
|
+
"no-await-in-loop": () => require("./no-await-in-loop"),
|
90
|
+
"no-bitwise": () => require("./no-bitwise"),
|
91
|
+
"no-buffer-constructor": () => require("./no-buffer-constructor"),
|
92
|
+
"no-caller": () => require("./no-caller"),
|
93
|
+
"no-case-declarations": () => require("./no-case-declarations"),
|
94
|
+
"no-catch-shadow": () => require("./no-catch-shadow"),
|
95
|
+
"no-class-assign": () => require("./no-class-assign"),
|
96
|
+
"no-compare-neg-zero": () => require("./no-compare-neg-zero"),
|
97
|
+
"no-cond-assign": () => require("./no-cond-assign"),
|
98
|
+
"no-confusing-arrow": () => require("./no-confusing-arrow"),
|
99
|
+
"no-console": () => require("./no-console"),
|
100
|
+
"no-const-assign": () => require("./no-const-assign"),
|
101
|
+
"no-constant-condition": () => require("./no-constant-condition"),
|
102
|
+
"no-continue": () => require("./no-continue"),
|
103
|
+
"no-control-regex": () => require("./no-control-regex"),
|
104
|
+
"no-debugger": () => require("./no-debugger"),
|
105
|
+
"no-delete-var": () => require("./no-delete-var"),
|
106
|
+
"no-div-regex": () => require("./no-div-regex"),
|
107
|
+
"no-dupe-args": () => require("./no-dupe-args"),
|
108
|
+
"no-dupe-class-members": () => require("./no-dupe-class-members"),
|
109
|
+
"no-dupe-keys": () => require("./no-dupe-keys"),
|
110
|
+
"no-duplicate-case": () => require("./no-duplicate-case"),
|
111
|
+
"no-duplicate-imports": () => require("./no-duplicate-imports"),
|
112
|
+
"no-else-return": () => require("./no-else-return"),
|
113
|
+
"no-empty": () => require("./no-empty"),
|
114
|
+
"no-empty-character-class": () => require("./no-empty-character-class"),
|
115
|
+
"no-empty-function": () => require("./no-empty-function"),
|
116
|
+
"no-empty-pattern": () => require("./no-empty-pattern"),
|
117
|
+
"no-eq-null": () => require("./no-eq-null"),
|
118
|
+
"no-eval": () => require("./no-eval"),
|
119
|
+
"no-ex-assign": () => require("./no-ex-assign"),
|
120
|
+
"no-extend-native": () => require("./no-extend-native"),
|
121
|
+
"no-extra-bind": () => require("./no-extra-bind"),
|
122
|
+
"no-extra-boolean-cast": () => require("./no-extra-boolean-cast"),
|
123
|
+
"no-extra-label": () => require("./no-extra-label"),
|
124
|
+
"no-extra-parens": () => require("./no-extra-parens"),
|
125
|
+
"no-extra-semi": () => require("./no-extra-semi"),
|
126
|
+
"no-fallthrough": () => require("./no-fallthrough"),
|
127
|
+
"no-floating-decimal": () => require("./no-floating-decimal"),
|
128
|
+
"no-func-assign": () => require("./no-func-assign"),
|
129
|
+
"no-global-assign": () => require("./no-global-assign"),
|
130
|
+
"no-implicit-coercion": () => require("./no-implicit-coercion"),
|
131
|
+
"no-implicit-globals": () => require("./no-implicit-globals"),
|
132
|
+
"no-implied-eval": () => require("./no-implied-eval"),
|
133
|
+
"no-inline-comments": () => require("./no-inline-comments"),
|
134
|
+
"no-inner-declarations": () => require("./no-inner-declarations"),
|
135
|
+
"no-invalid-regexp": () => require("./no-invalid-regexp"),
|
136
|
+
"no-invalid-this": () => require("./no-invalid-this"),
|
137
|
+
"no-irregular-whitespace": () => require("./no-irregular-whitespace"),
|
138
|
+
"no-iterator": () => require("./no-iterator"),
|
139
|
+
"no-label-var": () => require("./no-label-var"),
|
140
|
+
"no-labels": () => require("./no-labels"),
|
141
|
+
"no-lone-blocks": () => require("./no-lone-blocks"),
|
142
|
+
"no-lonely-if": () => require("./no-lonely-if"),
|
143
|
+
"no-loop-func": () => require("./no-loop-func"),
|
144
|
+
"no-magic-numbers": () => require("./no-magic-numbers"),
|
145
|
+
"no-misleading-character-class": () => require("./no-misleading-character-class"),
|
146
|
+
"no-mixed-operators": () => require("./no-mixed-operators"),
|
147
|
+
"no-mixed-requires": () => require("./no-mixed-requires"),
|
148
|
+
"no-mixed-spaces-and-tabs": () => require("./no-mixed-spaces-and-tabs"),
|
149
|
+
"no-multi-assign": () => require("./no-multi-assign"),
|
150
|
+
"no-multi-spaces": () => require("./no-multi-spaces"),
|
151
|
+
"no-multi-str": () => require("./no-multi-str"),
|
152
|
+
"no-multiple-empty-lines": () => require("./no-multiple-empty-lines"),
|
153
|
+
"no-native-reassign": () => require("./no-native-reassign"),
|
154
|
+
"no-negated-condition": () => require("./no-negated-condition"),
|
155
|
+
"no-negated-in-lhs": () => require("./no-negated-in-lhs"),
|
156
|
+
"no-nested-ternary": () => require("./no-nested-ternary"),
|
157
|
+
"no-new": () => require("./no-new"),
|
158
|
+
"no-new-func": () => require("./no-new-func"),
|
159
|
+
"no-new-object": () => require("./no-new-object"),
|
160
|
+
"no-new-require": () => require("./no-new-require"),
|
161
|
+
"no-new-symbol": () => require("./no-new-symbol"),
|
162
|
+
"no-new-wrappers": () => require("./no-new-wrappers"),
|
163
|
+
"no-obj-calls": () => require("./no-obj-calls"),
|
164
|
+
"no-octal": () => require("./no-octal"),
|
165
|
+
"no-octal-escape": () => require("./no-octal-escape"),
|
166
|
+
"no-param-reassign": () => require("./no-param-reassign"),
|
167
|
+
"no-path-concat": () => require("./no-path-concat"),
|
168
|
+
"no-plusplus": () => require("./no-plusplus"),
|
169
|
+
"no-process-env": () => require("./no-process-env"),
|
170
|
+
"no-process-exit": () => require("./no-process-exit"),
|
171
|
+
"no-proto": () => require("./no-proto"),
|
172
|
+
"no-prototype-builtins": () => require("./no-prototype-builtins"),
|
173
|
+
"no-redeclare": () => require("./no-redeclare"),
|
174
|
+
"no-regex-spaces": () => require("./no-regex-spaces"),
|
175
|
+
"no-restricted-globals": () => require("./no-restricted-globals"),
|
176
|
+
"no-restricted-imports": () => require("./no-restricted-imports"),
|
177
|
+
"no-restricted-modules": () => require("./no-restricted-modules"),
|
178
|
+
"no-restricted-properties": () => require("./no-restricted-properties"),
|
179
|
+
"no-restricted-syntax": () => require("./no-restricted-syntax"),
|
180
|
+
"no-return-assign": () => require("./no-return-assign"),
|
181
|
+
"no-return-await": () => require("./no-return-await"),
|
182
|
+
"no-script-url": () => require("./no-script-url"),
|
183
|
+
"no-self-assign": () => require("./no-self-assign"),
|
184
|
+
"no-self-compare": () => require("./no-self-compare"),
|
185
|
+
"no-sequences": () => require("./no-sequences"),
|
186
|
+
"no-shadow": () => require("./no-shadow"),
|
187
|
+
"no-shadow-restricted-names": () => require("./no-shadow-restricted-names"),
|
188
|
+
"no-spaced-func": () => require("./no-spaced-func"),
|
189
|
+
"no-sparse-arrays": () => require("./no-sparse-arrays"),
|
190
|
+
"no-sync": () => require("./no-sync"),
|
191
|
+
"no-tabs": () => require("./no-tabs"),
|
192
|
+
"no-template-curly-in-string": () => require("./no-template-curly-in-string"),
|
193
|
+
"no-ternary": () => require("./no-ternary"),
|
194
|
+
"no-this-before-super": () => require("./no-this-before-super"),
|
195
|
+
"no-throw-literal": () => require("./no-throw-literal"),
|
196
|
+
"no-trailing-spaces": () => require("./no-trailing-spaces"),
|
197
|
+
"no-undef": () => require("./no-undef"),
|
198
|
+
"no-undef-init": () => require("./no-undef-init"),
|
199
|
+
"no-undefined": () => require("./no-undefined"),
|
200
|
+
"no-underscore-dangle": () => require("./no-underscore-dangle"),
|
201
|
+
"no-unexpected-multiline": () => require("./no-unexpected-multiline"),
|
202
|
+
"no-unmodified-loop-condition": () => require("./no-unmodified-loop-condition"),
|
203
|
+
"no-unneeded-ternary": () => require("./no-unneeded-ternary"),
|
204
|
+
"no-unreachable": () => require("./no-unreachable"),
|
205
|
+
"no-unsafe-finally": () => require("./no-unsafe-finally"),
|
206
|
+
"no-unsafe-negation": () => require("./no-unsafe-negation"),
|
207
|
+
"no-unused-expressions": () => require("./no-unused-expressions"),
|
208
|
+
"no-unused-labels": () => require("./no-unused-labels"),
|
209
|
+
"no-unused-vars": () => require("./no-unused-vars"),
|
210
|
+
"no-use-before-define": () => require("./no-use-before-define"),
|
211
|
+
"no-useless-call": () => require("./no-useless-call"),
|
212
|
+
"no-useless-catch": () => require("./no-useless-catch"),
|
213
|
+
"no-useless-computed-key": () => require("./no-useless-computed-key"),
|
214
|
+
"no-useless-concat": () => require("./no-useless-concat"),
|
215
|
+
"no-useless-constructor": () => require("./no-useless-constructor"),
|
216
|
+
"no-useless-escape": () => require("./no-useless-escape"),
|
217
|
+
"no-useless-rename": () => require("./no-useless-rename"),
|
218
|
+
"no-useless-return": () => require("./no-useless-return"),
|
219
|
+
"no-var": () => require("./no-var"),
|
220
|
+
"no-void": () => require("./no-void"),
|
221
|
+
"no-warning-comments": () => require("./no-warning-comments"),
|
222
|
+
"no-whitespace-before-property": () => require("./no-whitespace-before-property"),
|
223
|
+
"no-with": () => require("./no-with"),
|
224
|
+
"nonblock-statement-body-position": () => require("./nonblock-statement-body-position"),
|
225
|
+
"object-curly-newline": () => require("./object-curly-newline"),
|
226
|
+
"object-curly-spacing": () => require("./object-curly-spacing"),
|
227
|
+
"object-property-newline": () => require("./object-property-newline"),
|
228
|
+
"object-shorthand": () => require("./object-shorthand"),
|
229
|
+
"one-var": () => require("./one-var"),
|
230
|
+
"one-var-declaration-per-line": () => require("./one-var-declaration-per-line"),
|
231
|
+
"operator-assignment": () => require("./operator-assignment"),
|
232
|
+
"operator-linebreak": () => require("./operator-linebreak"),
|
233
|
+
"padded-blocks": () => require("./padded-blocks"),
|
234
|
+
"padding-line-between-statements": () => require("./padding-line-between-statements"),
|
235
|
+
"prefer-arrow-callback": () => require("./prefer-arrow-callback"),
|
236
|
+
"prefer-const": () => require("./prefer-const"),
|
237
|
+
"prefer-destructuring": () => require("./prefer-destructuring"),
|
238
|
+
"prefer-named-capture-group": () => require("./prefer-named-capture-group"),
|
239
|
+
"prefer-numeric-literals": () => require("./prefer-numeric-literals"),
|
240
|
+
"prefer-object-spread": () => require("./prefer-object-spread"),
|
241
|
+
"prefer-promise-reject-errors": () => require("./prefer-promise-reject-errors"),
|
242
|
+
"prefer-reflect": () => require("./prefer-reflect"),
|
243
|
+
"prefer-rest-params": () => require("./prefer-rest-params"),
|
244
|
+
"prefer-spread": () => require("./prefer-spread"),
|
245
|
+
"prefer-template": () => require("./prefer-template"),
|
246
|
+
"quote-props": () => require("./quote-props"),
|
247
|
+
quotes: () => require("./quotes"),
|
248
|
+
radix: () => require("./radix"),
|
249
|
+
"require-atomic-updates": () => require("./require-atomic-updates"),
|
250
|
+
"require-await": () => require("./require-await"),
|
251
|
+
"require-jsdoc": () => require("./require-jsdoc"),
|
252
|
+
"require-unicode-regexp": () => require("./require-unicode-regexp"),
|
253
|
+
"require-yield": () => require("./require-yield"),
|
254
|
+
"rest-spread-spacing": () => require("./rest-spread-spacing"),
|
255
|
+
semi: () => require("./semi"),
|
256
|
+
"semi-spacing": () => require("./semi-spacing"),
|
257
|
+
"semi-style": () => require("./semi-style"),
|
258
|
+
"sort-imports": () => require("./sort-imports"),
|
259
|
+
"sort-keys": () => require("./sort-keys"),
|
260
|
+
"sort-vars": () => require("./sort-vars"),
|
261
|
+
"space-before-blocks": () => require("./space-before-blocks"),
|
262
|
+
"space-before-function-paren": () => require("./space-before-function-paren"),
|
263
|
+
"space-in-parens": () => require("./space-in-parens"),
|
264
|
+
"space-infix-ops": () => require("./space-infix-ops"),
|
265
|
+
"space-unary-ops": () => require("./space-unary-ops"),
|
266
|
+
"spaced-comment": () => require("./spaced-comment"),
|
267
|
+
strict: () => require("./strict"),
|
268
|
+
"switch-colon-spacing": () => require("./switch-colon-spacing"),
|
269
|
+
"symbol-description": () => require("./symbol-description"),
|
270
|
+
"template-curly-spacing": () => require("./template-curly-spacing"),
|
271
|
+
"template-tag-spacing": () => require("./template-tag-spacing"),
|
272
|
+
"unicode-bom": () => require("./unicode-bom"),
|
273
|
+
"use-isnan": () => require("./use-isnan"),
|
274
|
+
"valid-jsdoc": () => require("./valid-jsdoc"),
|
275
|
+
"valid-typeof": () => require("./valid-typeof"),
|
276
|
+
"vars-on-top": () => require("./vars-on-top"),
|
277
|
+
"wrap-iife": () => require("./wrap-iife"),
|
278
|
+
"wrap-regex": () => require("./wrap-regex"),
|
279
|
+
"yield-star-spacing": () => require("./yield-star-spacing"),
|
280
|
+
yoda: () => require("./yoda")
|
281
|
+
}));
|
package/lib/rules/jsx-quotes.js
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
// Requirements
|
10
10
|
//------------------------------------------------------------------------------
|
11
11
|
|
12
|
-
const astUtils = require("
|
12
|
+
const astUtils = require("./utils/ast-utils");
|
13
13
|
|
14
14
|
//------------------------------------------------------------------------------
|
15
15
|
// Constants
|
package/lib/rules/key-spacing.js
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
// Requirements
|
9
9
|
//------------------------------------------------------------------------------
|
10
10
|
|
11
|
-
const astUtils = require("
|
11
|
+
const astUtils = require("./utils/ast-utils");
|
12
12
|
|
13
13
|
//------------------------------------------------------------------------------
|
14
14
|
// Helpers
|
@@ -9,8 +9,8 @@
|
|
9
9
|
// Requirements
|
10
10
|
//------------------------------------------------------------------------------
|
11
11
|
|
12
|
-
const astUtils = require("
|
13
|
-
keywords = require("
|
12
|
+
const astUtils = require("./utils/ast-utils"),
|
13
|
+
keywords = require("./utils/keywords");
|
14
14
|
|
15
15
|
//------------------------------------------------------------------------------
|
16
16
|
// Constants
|
@@ -9,7 +9,7 @@
|
|
9
9
|
// Requirements
|
10
10
|
//------------------------------------------------------------------------------
|
11
11
|
|
12
|
-
const astUtils = require("
|
12
|
+
const astUtils = require("./utils/ast-utils");
|
13
13
|
|
14
14
|
//------------------------------------------------------------------------------
|
15
15
|
// Rule Definition
|
@@ -9,7 +9,7 @@
|
|
9
9
|
//------------------------------------------------------------------------------
|
10
10
|
|
11
11
|
const lodash = require("lodash"),
|
12
|
-
astUtils = require("
|
12
|
+
astUtils = require("./utils/ast-utils");
|
13
13
|
|
14
14
|
//------------------------------------------------------------------------------
|
15
15
|
// Helpers
|
@@ -32,7 +32,7 @@ module.exports = {
|
|
32
32
|
],
|
33
33
|
|
34
34
|
messages: {
|
35
|
-
maximumExceeded: "
|
35
|
+
maximumExceeded: "File has too many classes ({{ classCount }}). Maximum allowed is {{ max }}."
|
36
36
|
}
|
37
37
|
},
|
38
38
|
create(context) {
|
@@ -51,6 +51,7 @@ module.exports = {
|
|
51
51
|
node,
|
52
52
|
messageId: "maximumExceeded",
|
53
53
|
data: {
|
54
|
+
classCount,
|
54
55
|
max: maxClasses
|
55
56
|
}
|
56
57
|
});
|
package/lib/rules/max-depth.js
CHANGED
@@ -45,7 +45,7 @@ module.exports = {
|
|
45
45
|
}
|
46
46
|
],
|
47
47
|
messages: {
|
48
|
-
tooDeeply: "Blocks are nested too deeply ({{depth}})."
|
48
|
+
tooDeeply: "Blocks are nested too deeply ({{depth}}). Maximum allowed is {{maxDepth}}."
|
49
49
|
}
|
50
50
|
},
|
51
51
|
|
@@ -97,7 +97,7 @@ module.exports = {
|
|
97
97
|
const len = ++functionStack[functionStack.length - 1];
|
98
98
|
|
99
99
|
if (len > maxDepth) {
|
100
|
-
context.report({ node, messageId: "tooDeeply", data: { depth: len } });
|
100
|
+
context.report({ node, messageId: "tooDeeply", data: { depth: len, maxDepth } });
|
101
101
|
}
|
102
102
|
}
|
103
103
|
|
package/lib/rules/max-len.js
CHANGED
@@ -80,8 +80,8 @@ module.exports = {
|
|
80
80
|
OPTIONS_SCHEMA
|
81
81
|
],
|
82
82
|
messages: {
|
83
|
-
max: "
|
84
|
-
maxComment: "
|
83
|
+
max: "This line has a length of {{lineLength}}. Maximum allowed is {{maxLength}}.",
|
84
|
+
maxComment: "This line has a comment length of {{lineLength}}. Maximum allowed is {{maxCommentLength}}."
|
85
85
|
}
|
86
86
|
},
|
87
87
|
|
@@ -315,6 +315,13 @@ module.exports = {
|
|
315
315
|
textToMeasure = line;
|
316
316
|
} else if (ignoreTrailingComments && isTrailingComment(line, lineNumber, comment)) {
|
317
317
|
textToMeasure = stripTrailingComment(line, comment);
|
318
|
+
|
319
|
+
// ignore multiple trailing comments in the same line
|
320
|
+
let lastIndex = commentsIndex;
|
321
|
+
|
322
|
+
while (isTrailingComment(textToMeasure, lineNumber, comments[--lastIndex])) {
|
323
|
+
textToMeasure = stripTrailingComment(textToMeasure, comments[lastIndex]);
|
324
|
+
}
|
318
325
|
} else {
|
319
326
|
textToMeasure = line;
|
320
327
|
}
|
@@ -346,7 +353,7 @@ module.exports = {
|
|
346
353
|
loc: { line: lineNumber, column: 0 },
|
347
354
|
messageId: "maxComment",
|
348
355
|
data: {
|
349
|
-
|
356
|
+
lineLength,
|
350
357
|
maxCommentLength
|
351
358
|
}
|
352
359
|
});
|
@@ -357,7 +364,7 @@ module.exports = {
|
|
357
364
|
loc: { line: lineNumber, column: 0 },
|
358
365
|
messageId: "max",
|
359
366
|
data: {
|
360
|
-
|
367
|
+
lineLength,
|
361
368
|
maxLength
|
362
369
|
}
|
363
370
|
});
|
@@ -8,7 +8,9 @@
|
|
8
8
|
// Requirements
|
9
9
|
//------------------------------------------------------------------------------
|
10
10
|
|
11
|
-
const astUtils = require("
|
11
|
+
const astUtils = require("./utils/ast-utils");
|
12
|
+
|
13
|
+
const lodash = require("lodash");
|
12
14
|
|
13
15
|
//------------------------------------------------------------------------------
|
14
16
|
// Constants
|
@@ -192,7 +194,7 @@ module.exports = {
|
|
192
194
|
}
|
193
195
|
|
194
196
|
if (lineCount > maxLines) {
|
195
|
-
const name = astUtils.getFunctionNameWithKind(funcNode);
|
197
|
+
const name = lodash.upperFirst(astUtils.getFunctionNameWithKind(funcNode));
|
196
198
|
|
197
199
|
context.report({
|
198
200
|
node,
|
package/lib/rules/max-lines.js
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
//------------------------------------------------------------------------------
|
10
10
|
|
11
11
|
const lodash = require("lodash");
|
12
|
-
const astUtils = require("
|
12
|
+
const astUtils = require("./utils/ast-utils");
|
13
13
|
|
14
14
|
//------------------------------------------------------------------------------
|
15
15
|
// Rule Definition
|
@@ -53,7 +53,7 @@ module.exports = {
|
|
53
53
|
}
|
54
54
|
],
|
55
55
|
messages: {
|
56
|
-
exceed: "File
|
56
|
+
exceed: "File has too many lines ({{actual}}). Maximum allowed is {{max}}."
|
57
57
|
}
|
58
58
|
},
|
59
59
|
|
package/lib/rules/max-params.js
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
// Requirements
|
9
9
|
//------------------------------------------------------------------------------
|
10
10
|
|
11
|
-
const astUtils = require("
|
11
|
+
const astUtils = require("./utils/ast-utils");
|
12
12
|
|
13
13
|
//------------------------------------------------------------------------------
|
14
14
|
// Rule Definition
|
@@ -4,7 +4,7 @@
|
|
4
4
|
*/
|
5
5
|
"use strict";
|
6
6
|
|
7
|
-
const astUtils = require("
|
7
|
+
const astUtils = require("./utils/ast-utils");
|
8
8
|
|
9
9
|
//------------------------------------------------------------------------------
|
10
10
|
// Rule Definition
|
@@ -25,6 +25,7 @@ module.exports = {
|
|
25
25
|
schema: [{ enum: ["starred-block", "separate-lines", "bare-block"] }],
|
26
26
|
messages: {
|
27
27
|
expectedBlock: "Expected a block comment instead of consecutive line comments.",
|
28
|
+
expectedBareBlock: "Expected a block comment without padding stars.",
|
28
29
|
startNewline: "Expected a linebreak after '/*'.",
|
29
30
|
endNewline: "Expected a linebreak before '*/'.",
|
30
31
|
missingStar: "Expected a '*' at the start of this line.",
|
@@ -250,7 +251,7 @@ module.exports = {
|
|
250
251
|
start: block.loc.start,
|
251
252
|
end: { line: block.loc.start.line, column: block.loc.start.column + 2 }
|
252
253
|
},
|
253
|
-
messageId: "
|
254
|
+
messageId: "expectedBareBlock",
|
254
255
|
fix(fixer) {
|
255
256
|
return fixer.replaceText(block, convertToBlock(block, commentLines.filter(line => line)));
|
256
257
|
}
|
package/lib/rules/new-parens.js
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
// Requirements
|
10
10
|
//------------------------------------------------------------------------------
|
11
11
|
|
12
|
-
const astUtils = require("
|
12
|
+
const astUtils = require("./utils/ast-utils");
|
13
13
|
|
14
14
|
//------------------------------------------------------------------------------
|
15
15
|
// Helpers
|
@@ -24,38 +24,70 @@ module.exports = {
|
|
24
24
|
type: "layout",
|
25
25
|
|
26
26
|
docs: {
|
27
|
-
description: "
|
27
|
+
description: "enforce or disallow parentheses when invoking a constructor with no arguments",
|
28
28
|
category: "Stylistic Issues",
|
29
29
|
recommended: false,
|
30
30
|
url: "https://eslint.org/docs/rules/new-parens"
|
31
31
|
},
|
32
32
|
|
33
33
|
fixable: "code",
|
34
|
-
schema:
|
34
|
+
schema: {
|
35
|
+
anyOf: [
|
36
|
+
{
|
37
|
+
type: "array",
|
38
|
+
items: [
|
39
|
+
{
|
40
|
+
enum: ["always", "never"]
|
41
|
+
}
|
42
|
+
],
|
43
|
+
minItems: 0,
|
44
|
+
maxItems: 1
|
45
|
+
}
|
46
|
+
]
|
47
|
+
},
|
35
48
|
messages: {
|
36
|
-
missing: "Missing '()' invoking a constructor."
|
49
|
+
missing: "Missing '()' invoking a constructor.",
|
50
|
+
unnecessary: "Unnecessary '()' invoking a constructor with no arguments."
|
37
51
|
}
|
38
52
|
},
|
39
53
|
|
40
54
|
create(context) {
|
55
|
+
const options = context.options;
|
56
|
+
const always = options[0] !== "never"; // Default is always
|
57
|
+
|
41
58
|
const sourceCode = context.getSourceCode();
|
42
59
|
|
43
60
|
return {
|
44
61
|
NewExpression(node) {
|
45
62
|
if (node.arguments.length !== 0) {
|
46
|
-
return; //
|
63
|
+
return; // if there are arguments, there have to be parens
|
47
64
|
}
|
48
65
|
|
49
66
|
const lastToken = sourceCode.getLastToken(node);
|
50
67
|
const hasLastParen = lastToken && astUtils.isClosingParenToken(lastToken);
|
51
68
|
const hasParens = hasLastParen && astUtils.isOpeningParenToken(sourceCode.getTokenBefore(lastToken));
|
52
69
|
|
53
|
-
if (
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
70
|
+
if (always) {
|
71
|
+
if (!hasParens) {
|
72
|
+
context.report({
|
73
|
+
node,
|
74
|
+
messageId: "missing",
|
75
|
+
fix: fixer => fixer.insertTextAfter(node, "()")
|
76
|
+
});
|
77
|
+
}
|
78
|
+
} else {
|
79
|
+
if (hasParens) {
|
80
|
+
context.report({
|
81
|
+
node,
|
82
|
+
messageId: "unnecessary",
|
83
|
+
fix: fixer => [
|
84
|
+
fixer.remove(sourceCode.getTokenBefore(lastToken)),
|
85
|
+
fixer.remove(lastToken),
|
86
|
+
fixer.insertTextBefore(node, "("),
|
87
|
+
fixer.insertTextAfter(node, ")")
|
88
|
+
]
|
89
|
+
});
|
90
|
+
}
|
59
91
|
}
|
60
92
|
}
|
61
93
|
};
|