summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-03-18 12:05:59 -0400
committercjihrig <cjihrig@gmail.com>2019-03-23 12:02:40 -0400
commit2b89ac6818615820ed7d4d6944106c0b590c21d2 (patch)
tree718909c776456531503d3a4ed5db78ae5c6e18fc /tools
parentcd3a9eebca8d4914d1599855d813ea68ed3135cc (diff)
downloadandroid-node-v8-2b89ac6818615820ed7d4d6944106c0b590c21d2.tar.gz
android-node-v8-2b89ac6818615820ed7d4d6944106c0b590c21d2.tar.bz2
android-node-v8-2b89ac6818615820ed7d4d6944106c0b590c21d2.zip
tools: update ESLint to 5.15.3
Update ESLint to 5.15.3 PR-URL: https://github.com/nodejs/node/pull/26746 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js177
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js5
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json14
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md4
-rw-r--r--tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/index.js5
-rw-r--r--tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/package.json14
-rw-r--r--tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/readme.md4
-rw-r--r--tools/node_modules/eslint/package.json2
8 files changed, 46 insertions, 179 deletions
diff --git a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
index 50f6456184..6fc1268e75 100644
--- a/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
+++ b/tools/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js
@@ -4,10 +4,7 @@
*/
"use strict";
-const {
- isArrowToken,
- isParenthesised
-} = require("../util/ast-utils");
+const { isCommentToken, isNotOpeningParenToken } = require("../util/ast-utils");
//------------------------------------------------------------------------------
// Rule Definition
@@ -38,142 +35,7 @@ module.exports = {
create(context) {
const sourceCode = context.getSourceCode();
-
- //----------------------------------------------------------------------
- // Helpers
- //----------------------------------------------------------------------
- /**
- * Gets the applicable preference for a particular keyword
- * @returns {string} The applicable option for the keyword, e.g. 'beside'
- */
- function getOption() {
- return context.options[0] || "beside";
- }
-
- /**
- * Formats the comments depending on whether it's a line or block comment.
- * @param {Comment[]} comments The array of comments between the arrow and body
- * @param {Integer} column The column number of the first token
- * @returns {string} A string of comment text joined by line breaks
- */
- function formatComments(comments) {
-
- return `${comments.map(comment => {
-
- if (comment.type === "Line") {
- return `//${comment.value}`;
- }
-
- return `/*${comment.value}*/`;
- }).join("\n")}\n`;
- }
-
- /**
- * Finds the first token to prepend comments to depending on the parent type
- * @param {ASTNode} node The validated node
- * @returns {Token|Node} The node to prepend comments to
- */
- function findFirstToken(node) {
- switch (node.parent.type) {
- case "VariableDeclarator":
-
- // If the parent is first or only declarator, return the declaration, else, declarator
- return sourceCode.getFirstToken(
- node.parent.parent.declarations.length === 1 ||
- node.parent.parent.declarations[0].id.name === node.parent.id.name
- ? node.parent.parent : node.parent
- );
- case "CallExpression":
- case "Property":
-
- // find the object key
- return sourceCode.getFirstToken(node.parent);
- default:
- return node;
- }
- }
-
- /**
- * Helper function for adding parentheses fixes for nodes containing nested arrow functions
- * @param {Fixer} fixer Fixer
- * @param {Token} arrow - The arrow token
- * @param {ASTNode} arrowBody - The arrow function body
- * @returns {Function[]} autofixer -- wraps function bodies with parentheses
- */
- function addParentheses(fixer, arrow, arrowBody) {
- const parenthesesFixes = [];
- let closingParentheses = "";
-
- let followingBody = arrowBody;
- let currentArrow = arrow;
-
- while (currentArrow && followingBody.type !== "BlockStatement") {
- if (!isParenthesised(sourceCode, followingBody)) {
- parenthesesFixes.push(
- fixer.insertTextAfter(currentArrow, " (")
- );
-
- closingParentheses = `\n)${closingParentheses}`;
- }
-
- currentArrow = sourceCode.getTokenAfter(currentArrow, isArrowToken);
-
- if (currentArrow) {
- followingBody = followingBody.body;
- }
- }
-
- return [...parenthesesFixes,
- fixer.insertTextAfter(arrowBody, closingParentheses)
- ];
- }
-
- /**
- * Autofixes the function body to collapse onto the same line as the arrow.
- * If comments exist, checks if the function body contains arrow functions, and appends the body with parentheses.
- * Otherwise, prepends the comments before the arrow function.
- * @param {Token} arrowToken The arrow token.
- * @param {ASTNode|Token} arrowBody the function body
- * @param {ASTNode} node The evaluated node
- * @returns {Function} autofixer -- validates the node to adhere to besides
- */
- function autoFixBesides(arrowToken, arrowBody, node) {
- return fixer => {
- const placeBesides = fixer.replaceTextRange([arrowToken.range[1], arrowBody.range[0]], " ");
-
- const comments = sourceCode.getCommentsInside(node).filter(comment =>
- comment.loc.start.line < arrowBody.loc.start.line);
-
- if (comments.length) {
-
- // If the grandparent is not a variable declarator
- if (
- arrowBody.parent &&
- arrowBody.parent.parent &&
- arrowBody.parent.parent.type !== "VariableDeclarator"
- ) {
-
- // If any arrow functions follow, return the necessary parens fixes.
- if (node.body.type === "ArrowFunctionExpression" &&
- arrowBody.parent.parent.type !== "VariableDeclarator"
- ) {
- return addParentheses(fixer, arrowToken, arrowBody);
- }
- }
-
- const firstToken = findFirstToken(node);
-
- const commentBeforeExpression = fixer.insertTextBeforeRange(
- firstToken.range,
- formatComments(comments)
- );
-
- return [placeBesides, commentBeforeExpression];
- }
-
- return placeBesides;
- };
- }
+ const option = context.options[0] || "beside";
/**
* Validates the location of an arrow function body
@@ -181,35 +43,30 @@ module.exports = {
* @returns {void}
*/
function validateExpression(node) {
- const option = getOption();
-
- let tokenBefore = sourceCode.getTokenBefore(node.body);
- const hasParens = tokenBefore.value === "(";
-
- if (node.type === "BlockStatement") {
+ if (node.body.type === "BlockStatement") {
return;
}
- let fixerTarget = node.body;
+ const arrowToken = sourceCode.getTokenBefore(node.body, isNotOpeningParenToken);
+ const firstTokenOfBody = sourceCode.getTokenAfter(arrowToken);
- if (hasParens) {
-
- // Gets the first token before the function body that is not an open paren
- tokenBefore = sourceCode.getTokenBefore(node.body, token => token.value !== "(");
- fixerTarget = sourceCode.getTokenAfter(tokenBefore);
- }
-
- if (tokenBefore.loc.end.line === fixerTarget.loc.start.line && option === "below") {
+ if (arrowToken.loc.end.line === firstTokenOfBody.loc.start.line && option === "below") {
context.report({
- node: fixerTarget,
+ node: firstTokenOfBody,
messageId: "expected",
- fix: fixer => fixer.insertTextBefore(fixerTarget, "\n")
+ fix: fixer => fixer.insertTextBefore(firstTokenOfBody, "\n")
});
- } else if (tokenBefore.loc.end.line !== fixerTarget.loc.start.line && option === "beside") {
+ } else if (arrowToken.loc.end.line !== firstTokenOfBody.loc.start.line && option === "beside") {
context.report({
- node: fixerTarget,
+ node: firstTokenOfBody,
messageId: "unexpected",
- fix: autoFixBesides(tokenBefore, fixerTarget, node)
+ fix(fixer) {
+ if (sourceCode.getFirstTokenBetween(arrowToken, firstTokenOfBody, { includeComments: true, filter: isCommentToken })) {
+ return null;
+ }
+
+ return fixer.replaceTextRange([arrowToken.range[1], firstTokenOfBody.range[0]], " ");
+ }
});
}
}
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
index 96e0292c8e..9788c96dfa 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
@@ -1,4 +1,7 @@
'use strict';
const ansiRegex = require('ansi-regex');
-module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;
+const stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
+
+module.exports = stripAnsi;
+module.exports.default = stripAnsi;
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
index 6715407030..0c379e41c1 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
@@ -12,16 +12,18 @@
"ansi-regex": "^4.1.0"
},
"deprecated": false,
- "description": "Strip ANSI escape codes",
+ "description": "Strip ANSI escape codes from a string",
"devDependencies": {
- "ava": "^0.25.0",
- "xo": "^0.23.0"
+ "ava": "^1.3.1",
+ "tsd-check": "^0.5.0",
+ "xo": "^0.24.0"
},
"engines": {
"node": ">=6"
},
"files": [
- "index.js"
+ "index.js",
+ "index.d.ts"
],
"homepage": "https://github.com/chalk/strip-ansi#readme",
"keywords": [
@@ -55,7 +57,7 @@
"url": "git+https://github.com/chalk/strip-ansi.git"
},
"scripts": {
- "test": "xo && ava"
+ "test": "xo && ava && tsd-check"
},
- "version": "5.1.0"
+ "version": "5.2.0"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
index 2f47184208..8681fe8af4 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
@@ -1,6 +1,6 @@
# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
-> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string
---
@@ -31,7 +31,7 @@ const stripAnsi = require('strip-ansi');
stripAnsi('\u001B[4mUnicorn\u001B[0m');
//=> 'Unicorn'
-stripAnsi('\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007');
+stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
//=> 'Click'
```
diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/index.js b/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/index.js
index 96e0292c8e..9788c96dfa 100644
--- a/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/index.js
+++ b/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/index.js
@@ -1,4 +1,7 @@
'use strict';
const ansiRegex = require('ansi-regex');
-module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;
+const stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
+
+module.exports = stripAnsi;
+module.exports.default = stripAnsi;
diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/package.json
index 6715407030..0c379e41c1 100644
--- a/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/package.json
@@ -12,16 +12,18 @@
"ansi-regex": "^4.1.0"
},
"deprecated": false,
- "description": "Strip ANSI escape codes",
+ "description": "Strip ANSI escape codes from a string",
"devDependencies": {
- "ava": "^0.25.0",
- "xo": "^0.23.0"
+ "ava": "^1.3.1",
+ "tsd-check": "^0.5.0",
+ "xo": "^0.24.0"
},
"engines": {
"node": ">=6"
},
"files": [
- "index.js"
+ "index.js",
+ "index.d.ts"
],
"homepage": "https://github.com/chalk/strip-ansi#readme",
"keywords": [
@@ -55,7 +57,7 @@
"url": "git+https://github.com/chalk/strip-ansi.git"
},
"scripts": {
- "test": "xo && ava"
+ "test": "xo && ava && tsd-check"
},
- "version": "5.1.0"
+ "version": "5.2.0"
} \ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/readme.md b/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/readme.md
index 2f47184208..8681fe8af4 100644
--- a/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/readme.md
+++ b/tools/node_modules/eslint/node_modules/table/node_modules/strip-ansi/readme.md
@@ -1,6 +1,6 @@
# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
-> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string
---
@@ -31,7 +31,7 @@ const stripAnsi = require('strip-ansi');
stripAnsi('\u001B[4mUnicorn\u001B[0m');
//=> 'Unicorn'
-stripAnsi('\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007');
+stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
//=> 'Click'
```
diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json
index 885af12a72..21b7223286 100644
--- a/tools/node_modules/eslint/package.json
+++ b/tools/node_modules/eslint/package.json
@@ -135,5 +135,5 @@
"test": "node Makefile.js test",
"webpack": "node Makefile.js webpack"
},
- "version": "5.15.2"
+ "version": "5.15.3"
} \ No newline at end of file