summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRich Trott <rtrott@gmail.com>2019-12-02 05:26:39 -0800
committerRich Trott <rtrott@gmail.com>2019-12-04 05:38:46 -0800
commit12254ce242c30d403b523ad9adb60a0280080957 (patch)
tree465cad17be703579ae6504237ba2cb0198461908 /tools
parentb29986040ef38b0d798fa28cf0df228e0dbdabe6 (diff)
downloadandroid-node-v8-12254ce242c30d403b523ad9adb60a0280080957.tar.gz
android-node-v8-12254ce242c30d403b523ad9adb60a0280080957.tar.bz2
android-node-v8-12254ce242c30d403b523ad9adb60a0280080957.zip
tools: update ESLint to 6.7.2
PR-URL: https://github.com/nodejs/node/pull/30762 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/node_modules/eslint/README.md2
-rw-r--r--tools/node_modules/eslint/lib/cli-engine/file-enumerator.js18
-rw-r--r--tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js8
-rw-r--r--tools/node_modules/eslint/lib/source-code/source-code.js82
-rw-r--r--tools/node_modules/eslint/package.json2
5 files changed, 81 insertions, 31 deletions
diff --git a/tools/node_modules/eslint/README.md b/tools/node_modules/eslint/README.md
index b7cc385f0e..0e574e5b2d 100644
--- a/tools/node_modules/eslint/README.md
+++ b/tools/node_modules/eslint/README.md
@@ -265,7 +265,7 @@ The following companies, organizations, and individuals support ESLint's ongoing
<h3>Gold Sponsors</h3>
<p><a href="https://www.shopify.com"><img src="https://images.opencollective.com/shopify/eeb91aa/logo.png" alt="Shopify" height="96"></a> <a href="http://engineering.salesforce.com"><img src="https://images.opencollective.com/salesforce/ca8f997/logo.png" alt="Salesforce" height="96"></a> <a href="https://badoo.com/team?utm_source=eslint"><img src="https://images.opencollective.com/badoo/2826a3b/logo.png" alt="Badoo" height="96"></a> <a href="https://www.airbnb.com/"><img src="https://images.opencollective.com/airbnb/d327d66/logo.png" alt="Airbnb" height="96"></a> <a href="https://opensource.facebook.com"><img src="https://images.opencollective.com/fbopensource/fbb8a5b/logo.png" alt="Facebook Open Source" height="96"></a></p><h3>Silver Sponsors</h3>
<p><a href="https://www.ampproject.org/"><img src="https://images.opencollective.com/amp/c8a3b25/logo.png" alt="AMP Project" height="64"></a></p><h3>Bronze Sponsors</h3>
-<p><a href="https://www.bugsnag.com/platforms?utm_source=Open Collective&utm_medium=Website&utm_content=open-source&utm_campaign=2019-community&utm_term="><img src="https://images.opencollective.com/bugsnag-stability-monitoring/c2cef36/logo.png" alt="Bugsnag Stability Monitoring" height="32"></a> <a href="https://www.crosswordsolver.com"><img src="https://images.opencollective.com/crosswordsolver/d4481d6/logo.png" alt="Crosswordsolver" height="32"></a> <a href="https://www.codacy.com/?utm_source=eslint&utm_medium=cpm&utm_campaign=eslint-sponsorship"><img src="https://images.opencollective.com/codacy/ed22716/logo.png" alt="Codacy" height="32"></a> <a href="https://mixpanel.com"><img src="https://images.opencollective.com/mixpanel/cd682f7/logo.png" alt="Mixpanel" height="32"></a> <a href="https://www.vpsserver.com"><img src="https://images.opencollective.com/vpsservercom/logo.png" alt="VPS Server" height="32"></a> <a href="https://icons8.com"><img src="https://images.opencollective.com/icons8/0b37d14/logo.png" alt="Free Icons by Icons8" height="32"></a> <a href="https://uxplanet.org/top-ui-ux-design-agencies-user-experience-firms-8c54697e290"><img src="https://images.opencollective.com/ui-ux-design-agencies/cae5dfe/logo.png" alt="UI UX Design Agencies" height="32"></a> <a href="https://clay.global"><img src="https://images.opencollective.com/clayglobal/2468f34/logo.png" alt="clay" height="32"></a> <a href="https://discordapp.com"><img src="https://images.opencollective.com/discordapp/7e3d9a9/logo.png" alt="Discord" height="32"></a> <a href="https://themeisle.com"><img src="https://images.opencollective.com/themeisle/logo.png" alt="ThemeIsle" height="32"></a> <a href="https://tekhattan.com"><img src="https://images.opencollective.com/tekhattan/bc73c28/logo.png" alt="TekHattan" height="32"></a> <a href="https://www.marfeel.com/"><img src="https://images.opencollective.com/marfeel/4b88e30/logo.png" alt="Marfeel" height="32"></a> <a href="http://www.firesticktricks.com"><img src="https://images.opencollective.com/fire-stick-tricks/b8fbe2c/logo.png" alt="Fire Stick Tricks" height="32"></a> <a href="https://jsheroes.io/"><img src="https://images.opencollective.com/jsheroes1/9fedf0b/logo.png" alt="JSHeroes " height="32"></a></p>
+<p><a href="https://uxplanet.org/top-ui-ux-design-agencies-user-experience-firms-8c54697e290"><img src="https://images.opencollective.com/ui-ux-design-agencies/cae5dfe/logo.png" alt="UI UX Design Agencies" height="32"></a> <a href="https://edubirdie.com/"><img src="https://images.opencollective.com/edubirdie2/b1d51ab/logo.png" alt="EduBirdie" height="32"></a> <a href="https://www.crosswordsolver.com"><img src="https://images.opencollective.com/crosswordsolver/d4481d6/logo.png" alt="Crosswordsolver" height="32"></a> <a href="https://www.codacy.com/?utm_source=eslint&utm_medium=cpm&utm_campaign=eslint-sponsorship"><img src="https://images.opencollective.com/codacy/ed22716/logo.png" alt="Codacy" height="32"></a> <a href="https://mixpanel.com"><img src="https://images.opencollective.com/mixpanel/cd682f7/logo.png" alt="Mixpanel" height="32"></a> <a href="https://www.vpsserver.com"><img src="https://images.opencollective.com/vpsservercom/logo.png" alt="VPS Server" height="32"></a> <a href="https://icons8.com"><img src="https://images.opencollective.com/icons8/0b37d14/logo.png" alt="Free Icons by Icons8" height="32"></a> <a href="https://www.bugsnag.com/platforms?utm_source=Open Collective&utm_medium=Website&utm_content=open-source&utm_campaign=2019-community&utm_term="><img src="https://images.opencollective.com/bugsnag-stability-monitoring/c2cef36/logo.png" alt="Bugsnag Stability Monitoring" height="32"></a> <a href="https://clay.global"><img src="https://images.opencollective.com/clayglobal/2468f34/logo.png" alt="clay" height="32"></a> <a href="https://discordapp.com"><img src="https://images.opencollective.com/discordapp/7e3d9a9/logo.png" alt="Discord" height="32"></a> <a href="https://themeisle.com"><img src="https://images.opencollective.com/themeisle/d5592fe/logo.png" alt="ThemeIsle" height="32"></a> <a href="https://tekhattan.com"><img src="https://images.opencollective.com/tekhattan/bc73c28/logo.png" alt="TekHattan" height="32"></a> <a href="https://www.marfeel.com/"><img src="https://images.opencollective.com/marfeel/4b88e30/logo.png" alt="Marfeel" height="32"></a> <a href="http://www.firesticktricks.com"><img src="https://images.opencollective.com/fire-stick-tricks/b8fbe2c/logo.png" alt="Fire Stick Tricks" height="32"></a> <a href="https://jsheroes.io/"><img src="https://images.opencollective.com/jsheroes1/9fedf0b/logo.png" alt="JSHeroes " height="32"></a></p>
<!--sponsorsend-->
## <a name="technology-sponsors"></a>Technology Sponsors
diff --git a/tools/node_modules/eslint/lib/cli-engine/file-enumerator.js b/tools/node_modules/eslint/lib/cli-engine/file-enumerator.js
index 700f8009cf..b5a082b71a 100644
--- a/tools/node_modules/eslint/lib/cli-engine/file-enumerator.js
+++ b/tools/node_modules/eslint/lib/cli-engine/file-enumerator.js
@@ -375,9 +375,6 @@ class FileEnumerator {
* @private
*/
*_iterateFilesRecursive(directoryPath, options) {
- if (this._isIgnoredFile(directoryPath + path.sep, options)) {
- return;
- }
debug(`Enter the directory: ${directoryPath}`);
const { configArrayFactory, extensionRegExp } = internalSlotsMap.get(this);
@@ -426,7 +423,20 @@ class FileEnumerator {
// Dive into the sub directory.
} else if (options.recursive && stat && stat.isDirectory()) {
- yield* this._iterateFilesRecursive(filePath, options);
+ if (!config) {
+ config = configArrayFactory.getConfigArrayForFile(
+ filePath,
+ { ignoreNotFoundError: true }
+ );
+ }
+ const ignored = this._isIgnoredFile(
+ filePath + path.sep,
+ { ...options, config }
+ );
+
+ if (!ignored) {
+ yield* this._iterateFilesRecursive(filePath, options);
+ }
}
}
diff --git a/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js b/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js
index 8026e17222..eb72008a29 100644
--- a/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js
+++ b/tools/node_modules/eslint/lib/rules/no-unexpected-multiline.js
@@ -74,6 +74,14 @@ module.exports = {
if (node.tag.loc.end.line === node.quasi.loc.start.line) {
return;
}
+
+ // handle generics type parameters on template tags
+ const tokenBefore = sourceCode.getTokenBefore(node.quasi);
+
+ if (tokenBefore.loc.end.line === node.quasi.loc.start.line) {
+ return;
+ }
+
context.report({ node, loc: node.loc.start, messageId: "taggedTemplate" });
},
diff --git a/tools/node_modules/eslint/lib/source-code/source-code.js b/tools/node_modules/eslint/lib/source-code/source-code.js
index 20b442f236..30b4e9ab5c 100644
--- a/tools/node_modules/eslint/lib/source-code/source-code.js
+++ b/tools/node_modules/eslint/lib/source-code/source-code.js
@@ -90,6 +90,56 @@ function nodesOrTokensOverlap(first, second) {
(second.range[0] <= first.range[0] && second.range[1] >= first.range[0]);
}
+/**
+ * Determines if two nodes or tokens have at least one whitespace character
+ * between them. Order does not matter. Returns false if the given nodes or
+ * tokens overlap.
+ * @param {SourceCode} sourceCode The source code object.
+ * @param {ASTNode|Token} first The first node or token to check between.
+ * @param {ASTNode|Token} second The second node or token to check between.
+ * @param {boolean} checkInsideOfJSXText If `true` is present, check inside of JSXText tokens for backward compatibility.
+ * @returns {boolean} True if there is a whitespace character between
+ * any of the tokens found between the two given nodes or tokens.
+ * @public
+ */
+function isSpaceBetween(sourceCode, first, second, checkInsideOfJSXText) {
+ if (nodesOrTokensOverlap(first, second)) {
+ return false;
+ }
+
+ const [startingNodeOrToken, endingNodeOrToken] = first.range[1] <= second.range[0]
+ ? [first, second]
+ : [second, first];
+ const firstToken = sourceCode.getLastToken(startingNodeOrToken) || startingNodeOrToken;
+ const finalToken = sourceCode.getFirstToken(endingNodeOrToken) || endingNodeOrToken;
+ let currentToken = firstToken;
+
+ while (currentToken !== finalToken) {
+ const nextToken = sourceCode.getTokenAfter(currentToken, { includeComments: true });
+
+ if (
+ currentToken.range[1] !== nextToken.range[0] ||
+
+ /*
+ * For backward compatibility, check speces in JSXText.
+ * https://github.com/eslint/eslint/issues/12614
+ */
+ (
+ checkInsideOfJSXText &&
+ nextToken !== finalToken &&
+ nextToken.type === "JSXText" &&
+ /\s/u.test(nextToken.value)
+ )
+ ) {
+ return true;
+ }
+
+ currentToken = nextToken;
+ }
+
+ return false;
+}
+
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
@@ -433,42 +483,24 @@ class SourceCode extends TokenStore {
* @public
*/
isSpaceBetween(first, second) {
- if (nodesOrTokensOverlap(first, second)) {
- return false;
- }
-
- const [startingNodeOrToken, endingNodeOrToken] = first.range[1] <= second.range[0]
- ? [first, second]
- : [second, first];
- const firstToken = this.getLastToken(startingNodeOrToken) || startingNodeOrToken;
- const finalToken = this.getFirstToken(endingNodeOrToken) || endingNodeOrToken;
- let currentToken = firstToken;
-
- while (currentToken !== finalToken) {
- const nextToken = this.getTokenAfter(currentToken, { includeComments: true });
-
- if (currentToken.range[1] !== nextToken.range[0]) {
- return true;
- }
-
- currentToken = nextToken;
- }
-
- return false;
+ return isSpaceBetween(this, first, second, false);
}
/**
* Determines if two nodes or tokens have at least one whitespace character
* between them. Order does not matter. Returns false if the given nodes or
* tokens overlap.
- * @param {...ASTNode|Token} args The nodes or tokens to check between.
+ * For backward compatibility, this method returns true if there are
+ * `JSXText` tokens that contain whitespaces between the two.
+ * @param {ASTNode|Token} first The first node or token to check between.
+ * @param {ASTNode|Token} second The second node or token to check between.
* @returns {boolean} True if there is a whitespace character between
* any of the tokens found between the two given nodes or tokens.
* @deprecated in favor of isSpaceBetween().
* @public
*/
- isSpaceBetweenTokens(...args) {
- return this.isSpaceBetween(...args);
+ isSpaceBetweenTokens(first, second) {
+ return isSpaceBetween(this, first, second, true);
}
/**
diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json
index 5fbc11817b..0abd303e05 100644
--- a/tools/node_modules/eslint/package.json
+++ b/tools/node_modules/eslint/package.json
@@ -153,5 +153,5 @@
"test:cli": "mocha",
"webpack": "node Makefile.js webpack"
},
- "version": "6.7.1"
+ "version": "6.7.2"
} \ No newline at end of file