diff options
author | cjihrig <cjihrig@gmail.com> | 2019-03-30 00:21:00 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2019-04-01 09:11:00 -0400 |
commit | bf347f537a853d201b531fc0ac35db626495180a (patch) | |
tree | f439c01c44aa57e972ddb8b7767ca64b94eea191 /tools/node_modules/eslint/lib | |
parent | 518d2b6e5aac6ca4e90c2fd8b133c42db5bc1e45 (diff) | |
download | android-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')
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 + }); +}; |