eslint 5.2.0 → 5.3.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/conf/eslint-recommended.js +4 -0
  3. package/lib/cli-engine.js +12 -12
  4. package/lib/code-path-analysis/code-path-analyzer.js +1 -1
  5. package/lib/config/config-initializer.js +7 -7
  6. package/lib/config.js +1 -1
  7. package/lib/ignored-paths.js +125 -37
  8. package/lib/linter.js +1 -1
  9. package/lib/rules/array-bracket-newline.js +1 -1
  10. package/lib/rules/array-bracket-spacing.js +1 -1
  11. package/lib/rules/array-callback-return.js +1 -1
  12. package/lib/rules/array-element-newline.js +1 -1
  13. package/lib/rules/arrow-body-style.js +1 -1
  14. package/lib/rules/arrow-parens.js +1 -1
  15. package/lib/rules/arrow-spacing.js +1 -1
  16. package/lib/rules/block-spacing.js +1 -1
  17. package/lib/rules/brace-style.js +1 -1
  18. package/lib/rules/capitalized-comments.js +1 -1
  19. package/lib/rules/comma-dangle.js +1 -1
  20. package/lib/rules/comma-spacing.js +1 -1
  21. package/lib/rules/comma-style.js +1 -1
  22. package/lib/rules/complexity.js +1 -1
  23. package/lib/rules/computed-property-spacing.js +1 -1
  24. package/lib/rules/consistent-return.js +1 -1
  25. package/lib/rules/curly.js +1 -1
  26. package/lib/rules/dot-location.js +1 -1
  27. package/lib/rules/dot-notation.js +1 -1
  28. package/lib/rules/eqeqeq.js +1 -1
  29. package/lib/rules/func-call-spacing.js +1 -1
  30. package/lib/rules/func-name-matching.js +1 -1
  31. package/lib/rules/func-names.js +1 -1
  32. package/lib/rules/function-paren-newline.js +1 -1
  33. package/lib/rules/getter-return.js +1 -1
  34. package/lib/rules/indent-legacy.js +1 -1
  35. package/lib/rules/indent.js +37 -5
  36. package/lib/rules/jsx-quotes.js +1 -1
  37. package/lib/rules/key-spacing.js +2 -2
  38. package/lib/rules/keyword-spacing.js +1 -1
  39. package/lib/rules/line-comment-position.js +2 -2
  40. package/lib/rules/linebreak-style.js +1 -1
  41. package/lib/rules/lines-around-comment.js +1 -1
  42. package/lib/rules/lines-around-directive.js +1 -1
  43. package/lib/rules/lines-between-class-members.js +1 -1
  44. package/lib/rules/max-len.js +1 -1
  45. package/lib/rules/max-lines-per-function.js +1 -1
  46. package/lib/rules/max-lines.js +1 -1
  47. package/lib/rules/max-params.js +1 -1
  48. package/lib/rules/max-statements-per-line.js +1 -1
  49. package/lib/rules/max-statements.js +1 -1
  50. package/lib/rules/multiline-comment-style.js +1 -1
  51. package/lib/rules/multiline-ternary.js +1 -1
  52. package/lib/rules/new-parens.js +1 -1
  53. package/lib/rules/newline-after-var.js +1 -1
  54. package/lib/rules/newline-per-chained-call.js +1 -1
  55. package/lib/rules/no-alert.js +1 -1
  56. package/lib/rules/no-async-promise-executor.js +33 -0
  57. package/lib/rules/no-catch-shadow.js +1 -1
  58. package/lib/rules/no-class-assign.js +1 -1
  59. package/lib/rules/no-cond-assign.js +1 -1
  60. package/lib/rules/no-confusing-arrow.js +1 -1
  61. package/lib/rules/no-console.js +1 -1
  62. package/lib/rules/no-const-assign.js +1 -1
  63. package/lib/rules/no-dupe-keys.js +1 -1
  64. package/lib/rules/no-else-return.js +1 -1
  65. package/lib/rules/no-empty-function.js +1 -1
  66. package/lib/rules/no-empty.js +1 -1
  67. package/lib/rules/no-eval.js +1 -1
  68. package/lib/rules/no-ex-assign.js +1 -1
  69. package/lib/rules/no-extend-native.js +1 -1
  70. package/lib/rules/no-extra-bind.js +1 -1
  71. package/lib/rules/no-extra-boolean-cast.js +1 -1
  72. package/lib/rules/no-extra-label.js +1 -1
  73. package/lib/rules/no-extra-parens.js +1 -1
  74. package/lib/rules/no-extra-semi.js +1 -1
  75. package/lib/rules/no-floating-decimal.js +1 -1
  76. package/lib/rules/no-func-assign.js +1 -1
  77. package/lib/rules/no-implicit-coercion.js +1 -1
  78. package/lib/rules/no-inline-comments.js +1 -1
  79. package/lib/rules/no-invalid-this.js +1 -1
  80. package/lib/rules/no-irregular-whitespace.js +1 -1
  81. package/lib/rules/no-label-var.js +1 -1
  82. package/lib/rules/no-labels.js +1 -1
  83. package/lib/rules/no-misleading-character-class.js +189 -0
  84. package/lib/rules/no-mixed-operators.js +1 -1
  85. package/lib/rules/no-multi-spaces.js +1 -1
  86. package/lib/rules/no-multi-str.js +1 -1
  87. package/lib/rules/no-regex-spaces.js +1 -1
  88. package/lib/rules/no-restricted-properties.js +1 -1
  89. package/lib/rules/no-return-assign.js +1 -1
  90. package/lib/rules/no-return-await.js +1 -1
  91. package/lib/rules/no-self-assign.js +1 -1
  92. package/lib/rules/no-sequences.js +1 -1
  93. package/lib/rules/no-shadow.js +1 -1
  94. package/lib/rules/no-this-before-super.js +1 -1
  95. package/lib/rules/no-throw-literal.js +1 -1
  96. package/lib/rules/no-trailing-spaces.js +1 -1
  97. package/lib/rules/no-undef-init.js +1 -1
  98. package/lib/rules/no-unexpected-multiline.js +1 -1
  99. package/lib/rules/no-unmodified-loop-condition.js +2 -3
  100. package/lib/rules/no-unneeded-ternary.js +1 -1
  101. package/lib/rules/no-unsafe-negation.js +1 -1
  102. package/lib/rules/no-unused-vars.js +1 -1
  103. package/lib/rules/no-useless-call.js +1 -1
  104. package/lib/rules/no-useless-computed-key.js +1 -1
  105. package/lib/rules/no-useless-concat.js +1 -1
  106. package/lib/rules/no-useless-escape.js +1 -1
  107. package/lib/rules/no-useless-return.js +2 -11
  108. package/lib/rules/no-var.js +1 -1
  109. package/lib/rules/no-warning-comments.js +1 -1
  110. package/lib/rules/no-whitespace-before-property.js +1 -1
  111. package/lib/rules/object-curly-newline.js +1 -1
  112. package/lib/rules/object-curly-spacing.js +1 -1
  113. package/lib/rules/object-shorthand.js +1 -1
  114. package/lib/rules/operator-assignment.js +1 -1
  115. package/lib/rules/operator-linebreak.js +1 -1
  116. package/lib/rules/padding-line-between-statements.js +2 -2
  117. package/lib/rules/prefer-const.js +2 -11
  118. package/lib/rules/prefer-object-spread.js +9 -3
  119. package/lib/rules/prefer-promise-reject-errors.js +1 -1
  120. package/lib/rules/prefer-spread.js +1 -1
  121. package/lib/rules/prefer-template.js +1 -1
  122. package/lib/rules/quotes.js +1 -1
  123. package/lib/rules/radix.js +1 -1
  124. package/lib/rules/require-atomic-updates.js +239 -0
  125. package/lib/rules/require-await.js +1 -1
  126. package/lib/rules/require-unicode-regexp.js +65 -0
  127. package/lib/rules/semi-spacing.js +1 -1
  128. package/lib/rules/semi-style.js +1 -1
  129. package/lib/rules/semi.js +1 -1
  130. package/lib/rules/sort-keys.js +1 -1
  131. package/lib/rules/space-before-blocks.js +1 -1
  132. package/lib/rules/space-before-function-paren.js +1 -1
  133. package/lib/rules/space-in-parens.js +1 -1
  134. package/lib/rules/space-unary-ops.js +1 -1
  135. package/lib/rules/spaced-comment.js +1 -1
  136. package/lib/rules/strict.js +1 -1
  137. package/lib/rules/switch-colon-spacing.js +1 -1
  138. package/lib/rules/symbol-description.js +1 -1
  139. package/lib/rules/template-curly-spacing.js +1 -1
  140. package/lib/rules/wrap-iife.js +1 -1
  141. package/lib/rules/yoda.js +1 -1
  142. package/lib/testers/rule-tester.js +2 -2
  143. package/lib/token-store/index.js +1 -1
  144. package/lib/{ast-utils.js → util/ast-utils.js} +0 -0
  145. package/lib/{file-finder.js → util/file-finder.js} +0 -0
  146. package/lib/util/fix-tracker.js +1 -1
  147. package/lib/util/{glob-util.js → glob-utils.js} +4 -4
  148. package/lib/util/naming.js +2 -2
  149. package/lib/util/node-event-generator.js +3 -3
  150. package/lib/util/{npm-util.js → npm-utils.js} +0 -0
  151. package/lib/util/{path-util.js → path-utils.js} +1 -1
  152. package/lib/util/{source-code-util.js → source-code-utils.js} +3 -3
  153. package/lib/util/source-code.js +1 -1
  154. package/lib/util/unicode/index.js +11 -0
  155. package/lib/util/unicode/is-combining-character.js +13 -0
  156. package/lib/util/unicode/is-emoji-modifier.js +13 -0
  157. package/lib/util/unicode/is-regional-indicator-symbol.js +13 -0
  158. package/lib/util/unicode/is-surrogate-pair.js +14 -0
  159. package/package.json +2 -2
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Rule Definition
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //--------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
  const esutils = require("esutils");
14
14
 
15
15
  //--------------------------------------------------------------------------
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  /**
15
15
  * Checks whether or not a given variable is a function name.
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Helpers
@@ -12,7 +12,7 @@
12
12
  // Requirements
13
13
  //------------------------------------------------------------------------------
14
14
 
15
- const astUtils = require("../ast-utils");
15
+ const astUtils = require("../util/ast-utils");
16
16
 
17
17
  //------------------------------------------------------------------------------
18
18
  // Rule Definition
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @fileoverview This option sets a specific tab width for your code
2
+ * @fileoverview This rule sets a specific indentation style and width for your code
3
3
  *
4
4
  * @author Teddy Katz
5
5
  * @author Vitaly Puzrin
@@ -13,7 +13,7 @@
13
13
  //------------------------------------------------------------------------------
14
14
 
15
15
  const lodash = require("lodash");
16
- const astUtils = require("../ast-utils");
16
+ const astUtils = require("../util/ast-utils");
17
17
  const createTree = require("functional-red-black-tree");
18
18
 
19
19
  //------------------------------------------------------------------------------
@@ -855,7 +855,11 @@ module.exports = {
855
855
  previousElement &&
856
856
  previousElementLastToken.loc.end.line - countTrailingLinebreaks(previousElementLastToken.value) > startToken.loc.end.line
857
857
  ) {
858
- offsets.setDesiredOffsets(element.range, firstTokenOfPreviousElement, 0);
858
+ offsets.setDesiredOffsets(
859
+ [previousElement.range[1], element.range[1]],
860
+ firstTokenOfPreviousElement,
861
+ 0
862
+ );
859
863
  }
860
864
  }
861
865
  });
@@ -997,6 +1001,31 @@ module.exports = {
997
1001
  return !node || node.loc.start.line === token.loc.start.line;
998
1002
  }
999
1003
 
1004
+ /**
1005
+ * Check whether there are any blank (whitespace-only) lines between
1006
+ * two tokens on separate lines.
1007
+ * @param {Token} firstToken The first token.
1008
+ * @param {Token} secondToken The second token.
1009
+ * @returns {boolean} `true` if the tokens are on separate lines and
1010
+ * there exists a blank line between them, `false` otherwise.
1011
+ */
1012
+ function hasBlankLinesBetween(firstToken, secondToken) {
1013
+ const firstTokenLine = firstToken.loc.end.line;
1014
+ const secondTokenLine = secondToken.loc.start.line;
1015
+
1016
+ if (firstTokenLine === secondTokenLine || firstTokenLine === secondTokenLine - 1) {
1017
+ return false;
1018
+ }
1019
+
1020
+ for (let line = firstTokenLine + 1; line < secondTokenLine; ++line) {
1021
+ if (!tokenInfo.firstTokensByLineNumber.has(line)) {
1022
+ return true;
1023
+ }
1024
+ }
1025
+
1026
+ return false;
1027
+ }
1028
+
1000
1029
  const ignoredNodeFirstTokens = new Set();
1001
1030
 
1002
1031
  const baseOffsetListeners = {
@@ -1536,10 +1565,13 @@ module.exports = {
1536
1565
  const tokenBefore = precedingTokens.get(firstTokenOfLine);
1537
1566
  const tokenAfter = tokenBefore ? sourceCode.getTokenAfter(tokenBefore) : sourceCode.ast.tokens[0];
1538
1567
 
1568
+ const mayAlignWithBefore = tokenBefore && !hasBlankLinesBetween(tokenBefore, firstTokenOfLine);
1569
+ const mayAlignWithAfter = tokenAfter && !hasBlankLinesBetween(firstTokenOfLine, tokenAfter);
1570
+
1539
1571
  // If a comment matches the expected indentation of the token immediately before or after, don't report it.
1540
1572
  if (
1541
- tokenBefore && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenBefore)) ||
1542
- tokenAfter && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenAfter))
1573
+ mayAlignWithBefore && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenBefore)) ||
1574
+ mayAlignWithAfter && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenAfter))
1543
1575
  ) {
1544
1576
  return;
1545
1577
  }
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Constants
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Helpers
@@ -540,7 +540,7 @@ module.exports = {
540
540
  const length = properties.length,
541
541
  widths = properties.map(getKeyWidth), // Width of keys, including quotes
542
542
  align = alignmentOptions.on; // "value" or "colon"
543
- let targetWidth = Math.max.apply(null, widths),
543
+ let targetWidth = Math.max(...widths),
544
544
  beforeColon, afterColon, mode;
545
545
 
546
546
  if (alignmentOptions && length > 1) { // When aligning values within a group, use the alignment configuration.
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils"),
12
+ const astUtils = require("../util/ast-utils"),
13
13
  keywords = require("../util/keywords");
14
14
 
15
15
  //------------------------------------------------------------------------------
@@ -4,7 +4,7 @@
4
4
  */
5
5
  "use strict";
6
6
 
7
- const astUtils = require("../ast-utils");
7
+ const astUtils = require("../util/ast-utils");
8
8
 
9
9
  //------------------------------------------------------------------------------
10
10
  // Rule Definition
@@ -59,7 +59,7 @@ module.exports = {
59
59
  above = !options || options === "above";
60
60
 
61
61
  } else {
62
- above = options.position === "above";
62
+ above = !options.position || options.position === "above";
63
63
  ignorePattern = options.ignorePattern;
64
64
 
65
65
  if (options.hasOwnProperty("applyDefaultIgnorePatterns")) {
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/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("../ast-utils");
12
+ astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Helpers
@@ -6,7 +6,7 @@
6
6
 
7
7
  "use strict";
8
8
 
9
- const astUtils = require("../ast-utils");
9
+ const astUtils = require("../util/ast-utils");
10
10
 
11
11
  //------------------------------------------------------------------------------
12
12
  // Rule Definition
@@ -4,7 +4,7 @@
4
4
  */
5
5
  "use strict";
6
6
 
7
- const astUtils = require("../ast-utils");
7
+ const astUtils = require("../util/ast-utils");
8
8
 
9
9
  //------------------------------------------------------------------------------
10
10
  // Rule Definition
@@ -266,7 +266,7 @@ module.exports = {
266
266
  // list of comments to ignore
267
267
  comments = ignoreComments || maxCommentLength || ignoreTrailingComments ? sourceCode.getAllComments() : [];
268
268
 
269
- // we iterate over comments in parallel with the lines
269
+ // we iterate over comments in parallel with the lines
270
270
  let commentsIndex = 0;
271
271
 
272
272
  const strings = getAllStrings();
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Constants
@@ -9,7 +9,7 @@
9
9
  //------------------------------------------------------------------------------
10
10
 
11
11
  const lodash = require("lodash");
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -11,7 +11,7 @@
11
11
 
12
12
  const lodash = require("lodash");
13
13
 
14
- const astUtils = require("../ast-utils");
14
+ const astUtils = require("../util/ast-utils");
15
15
 
16
16
  //------------------------------------------------------------------------------
17
17
  // Rule Definition
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Rule Definition
@@ -11,7 +11,7 @@
11
11
 
12
12
  const lodash = require("lodash");
13
13
 
14
- const astUtils = require("../ast-utils");
14
+ const astUtils = require("../util/ast-utils");
15
15
 
16
16
  //------------------------------------------------------------------------------
17
17
  // Rule Definition
@@ -4,7 +4,7 @@
4
4
  */
5
5
  "use strict";
6
6
 
7
- const astUtils = require("../ast-utils");
7
+ const astUtils = require("../util/ast-utils");
8
8
 
9
9
  //------------------------------------------------------------------------------
10
10
  // Rule Definition
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Helpers
@@ -10,7 +10,7 @@
10
10
  // Requirements
11
11
  //------------------------------------------------------------------------------
12
12
 
13
- const astUtils = require("../ast-utils");
13
+ const astUtils = require("../util/ast-utils");
14
14
 
15
15
  //------------------------------------------------------------------------------
16
16
  // Rule Definition
@@ -6,7 +6,7 @@
6
6
 
7
7
  "use strict";
8
8
 
9
- const astUtils = require("../ast-utils");
9
+ const astUtils = require("../util/ast-utils");
10
10
 
11
11
  //------------------------------------------------------------------------------
12
12
  // Rule Definition
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const getPropertyName = require("../ast-utils").getStaticPropertyName;
11
+ const getPropertyName = require("../util/ast-utils").getStaticPropertyName;
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Helpers
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @fileoverview disallow using an async function as a Promise executor
3
+ * @author Teddy Katz
4
+ */
5
+ "use strict";
6
+
7
+ //------------------------------------------------------------------------------
8
+ // Rule Definition
9
+ //------------------------------------------------------------------------------
10
+
11
+ module.exports = {
12
+ meta: {
13
+ docs: {
14
+ description: "disallow using an async function as a Promise executor",
15
+ category: "Possible Errors",
16
+ recommended: false,
17
+ url: "https://eslint.org/docs/rules/no-async-promise-executor"
18
+ },
19
+ fixable: null,
20
+ schema: []
21
+ },
22
+
23
+ create(context) {
24
+ return {
25
+ "NewExpression[callee.name='Promise'][arguments.0.async=true]"(node) {
26
+ context.report({
27
+ node: context.getSourceCode().getFirstToken(node.arguments[0], token => token.value === "async"),
28
+ message: "Promise executor functions should not be async."
29
+ });
30
+ }
31
+ };
32
+ }
33
+ };
@@ -10,7 +10,7 @@
10
10
  // Requirements
11
11
  //------------------------------------------------------------------------------
12
12
 
13
- const astUtils = require("../ast-utils");
13
+ const astUtils = require("../util/ast-utils");
14
14
 
15
15
  //------------------------------------------------------------------------------
16
16
  // Rule Definition
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Rule Definition
@@ -4,7 +4,7 @@
4
4
  */
5
5
  "use strict";
6
6
 
7
- const astUtils = require("../ast-utils");
7
+ const astUtils = require("../util/ast-utils");
8
8
 
9
9
  const NODE_DESCRIPTIONS = {
10
10
  DoWhileStatement: "a 'do...while' statement",
@@ -6,7 +6,7 @@
6
6
 
7
7
  "use strict";
8
8
 
9
- const astUtils = require("../ast-utils.js");
9
+ const astUtils = require("../util/ast-utils.js");
10
10
 
11
11
  //------------------------------------------------------------------------------
12
12
  // Helpers
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Helpers
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
  const FixTracker = require("../util/fix-tracker");
14
14
 
15
15
  //------------------------------------------------------------------------------
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Helpers
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Helpers
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
  const globals = require("globals");
14
14
 
15
15
  //------------------------------------------------------------------------------
@@ -8,7 +8,7 @@
8
8
  // Requirements
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils");
11
+ const astUtils = require("../util/ast-utils");
12
12
 
13
13
  //------------------------------------------------------------------------------
14
14
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -8,7 +8,7 @@
8
8
  // Rule Definition
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- const astUtils = require("../ast-utils.js");
11
+ const astUtils = require("../util/ast-utils.js");
12
12
 
13
13
  module.exports = {
14
14
  meta: {
@@ -10,7 +10,7 @@
10
10
  //------------------------------------------------------------------------------
11
11
 
12
12
  const FixTracker = require("../util/fix-tracker");
13
- const astUtils = require("../ast-utils");
13
+ const astUtils = require("../util/ast-utils");
14
14
 
15
15
  //------------------------------------------------------------------------------
16
16
  // Rule Definition
@@ -9,7 +9,7 @@
9
9
  // Requirements
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- const astUtils = require("../ast-utils");
12
+ const astUtils = require("../util/ast-utils");
13
13
 
14
14
  //------------------------------------------------------------------------------
15
15
  // Rule Definition
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Rule Definition
@@ -5,7 +5,7 @@
5
5
 
6
6
  "use strict";
7
7
 
8
- const astUtils = require("../ast-utils");
8
+ const astUtils = require("../util/ast-utils");
9
9
 
10
10
  //------------------------------------------------------------------------------
11
11
  // Helpers