summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/lib
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-03-30 00:21:00 -0400
committercjihrig <cjihrig@gmail.com>2019-04-01 09:11:00 -0400
commitbf347f537a853d201b531fc0ac35db626495180a (patch)
treef439c01c44aa57e972ddb8b7767ca64b94eea191 /tools/node_modules/eslint/lib
parent518d2b6e5aac6ca4e90c2fd8b133c42db5bc1e45 (diff)
downloadandroid-node-v8-bf347f537a853d201b531fc0ac35db626495180a.tar.gz
android-node-v8-bf347f537a853d201b531fc0ac35db626495180a.tar.bz2
android-node-v8-bf347f537a853d201b531fc0ac35db626495180a.zip
tools: update ESLint to 5.16.0
Update ESLint to 5.16.0 PR-URL: https://github.com/nodejs/node/pull/27005 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'tools/node_modules/eslint/lib')
-rw-r--r--tools/node_modules/eslint/lib/cli.js10
-rw-r--r--tools/node_modules/eslint/lib/formatters/html-template-message.html2
-rw-r--r--tools/node_modules/eslint/lib/formatters/html.js24
-rw-r--r--tools/node_modules/eslint/lib/formatters/json-with-metadata.js16
4 files changed, 44 insertions, 8 deletions
diff --git a/tools/node_modules/eslint/lib/cli.js b/tools/node_modules/eslint/lib/cli.js
index f67eb7274f..9ce81e5542 100644
--- a/tools/node_modules/eslint/lib/cli.js
+++ b/tools/node_modules/eslint/lib/cli.js
@@ -81,15 +81,23 @@ function translateOptions(cliOptions) {
*/
function printResults(engine, results, format, outputFile) {
let formatter;
+ let rules;
try {
formatter = engine.getFormatter(format);
+ rules = engine.getRules();
} catch (e) {
log.error(e.message);
return false;
}
- const output = formatter(results);
+ const rulesMeta = {};
+
+ rules.forEach((rule, ruleId) => {
+ rulesMeta[ruleId] = rule.meta;
+ });
+
+ const output = formatter(results, { rulesMeta });
if (output) {
if (outputFile) {
diff --git a/tools/node_modules/eslint/lib/formatters/html-template-message.html b/tools/node_modules/eslint/lib/formatters/html-template-message.html
index bc35350205..93795a1bdc 100644
--- a/tools/node_modules/eslint/lib/formatters/html-template-message.html
+++ b/tools/node_modules/eslint/lib/formatters/html-template-message.html
@@ -3,6 +3,6 @@
<td class="clr-<%= severityNumber %>"><%= severityName %></td>
<td><%- message %></td>
<td>
- <a href="https://eslint.org/docs/rules/<%= ruleId %>" target="_blank" rel="noopener noreferrer"><%= ruleId %></a>
+ <a href="<%= ruleUrl %>" target="_blank" rel="noopener noreferrer"><%= ruleId %></a>
</td>
</tr>
diff --git a/tools/node_modules/eslint/lib/formatters/html.js b/tools/node_modules/eslint/lib/formatters/html.js
index d450f9dee2..091eab1c4a 100644
--- a/tools/node_modules/eslint/lib/formatters/html.js
+++ b/tools/node_modules/eslint/lib/formatters/html.js
@@ -62,9 +62,10 @@ function renderColor(totalErrors, totalWarnings) {
* Get HTML (table rows) describing the messages.
* @param {Array} messages Messages.
* @param {int} parentIndex Index of the parent HTML row.
+ * @param {Object} rulesMeta Dictionary containing metadata for each rule executed by the analysis.
* @returns {string} HTML (table rows) describing the messages.
*/
-function renderMessages(messages, parentIndex) {
+function renderMessages(messages, parentIndex, rulesMeta) {
/**
* Get HTML (table row) describing a message.
@@ -74,6 +75,13 @@ function renderMessages(messages, parentIndex) {
return lodash.map(messages, message => {
const lineNumber = message.line || 0;
const columnNumber = message.column || 0;
+ let ruleUrl;
+
+ if (rulesMeta) {
+ const meta = rulesMeta[message.ruleId];
+
+ ruleUrl = lodash.get(meta, "docs.url", null);
+ }
return messageTemplate({
parentIndex,
@@ -82,33 +90,37 @@ function renderMessages(messages, parentIndex) {
severityNumber: message.severity,
severityName: message.severity === 1 ? "Warning" : "Error",
message: message.message,
- ruleId: message.ruleId
+ ruleId: message.ruleId,
+ ruleUrl
});
}).join("\n");
}
/**
* @param {Array} results Test results.
+ * @param {Object} rulesMeta Dictionary containing metadata for each rule executed by the analysis.
* @returns {string} HTML string describing the results.
*/
-function renderResults(results) {
+function renderResults(results, rulesMeta) {
return lodash.map(results, (result, index) => resultTemplate({
index,
color: renderColor(result.errorCount, result.warningCount),
filePath: result.filePath,
summary: renderSummary(result.errorCount, result.warningCount)
- }) + renderMessages(result.messages, index)).join("\n");
+ }) + renderMessages(result.messages, index, rulesMeta)).join("\n");
}
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
-module.exports = function(results) {
+module.exports = function(results, data) {
let totalErrors,
totalWarnings;
+ const metaData = data ? data.rulesMeta : {};
+
totalErrors = 0;
totalWarnings = 0;
@@ -122,6 +134,6 @@ module.exports = function(results) {
date: new Date(),
reportColor: renderColor(totalErrors, totalWarnings),
reportSummary: renderSummary(totalErrors, totalWarnings),
- results: renderResults(results)
+ results: renderResults(results, metaData)
});
};
diff --git a/tools/node_modules/eslint/lib/formatters/json-with-metadata.js b/tools/node_modules/eslint/lib/formatters/json-with-metadata.js
new file mode 100644
index 0000000000..6899471547
--- /dev/null
+++ b/tools/node_modules/eslint/lib/formatters/json-with-metadata.js
@@ -0,0 +1,16 @@
+/**
+ * @fileoverview JSON reporter, including rules metadata
+ * @author Chris Meyer
+ */
+"use strict";
+
+//------------------------------------------------------------------------------
+// Public Interface
+//------------------------------------------------------------------------------
+
+module.exports = function(results, data) {
+ return JSON.stringify({
+ results,
+ metadata: data
+ });
+};