diff --git a/lib/cli-engine/formatters/html-template-message.js b/lib/cli-engine/formatters/html-template-message.js deleted file mode 100644 index c259618bf28..00000000000 --- a/lib/cli-engine/formatters/html-template-message.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; - -module.exports = function(it, encodeHTML) { - const { - parentIndex, - lineNumber, - columnNumber, - severityNumber, - severityName, - message, - ruleUrl, - ruleId - } = it; - - return ` - - ${lineNumber}:${columnNumber} - ${severityName} - ${encodeHTML(message)} - - ${ruleId ? ruleId : ""} - - -`.trimLeft(); -}; diff --git a/lib/cli-engine/formatters/html-template-page.js b/lib/cli-engine/formatters/html-template-page.js deleted file mode 100644 index e37a71e2d95..00000000000 --- a/lib/cli-engine/formatters/html-template-page.js +++ /dev/null @@ -1,123 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { reportColor, reportSummary, date, results } = it; - - return ` - - - - - ESLint Report - - - -
-

ESLint Report

-
- ${reportSummary} - Generated on ${date} -
-
- - - ${results} - -
- - - -`.trimLeft(); -}; diff --git a/lib/cli-engine/formatters/html-template-result.js b/lib/cli-engine/formatters/html-template-result.js deleted file mode 100644 index 5048f72e928..00000000000 --- a/lib/cli-engine/formatters/html-template-result.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; - -module.exports = function(it, encodeHTML) { - const { color, index, filePath, summary } = it; - - return ` - - - [+] ${encodeHTML(filePath)} - ${encodeHTML(summary)} - - -`.trimLeft(); -}; diff --git a/lib/cli-engine/formatters/html.js b/lib/cli-engine/formatters/html.js index b9739f05e2d..baddb63079d 100644 --- a/lib/cli-engine/formatters/html.js +++ b/lib/cli-engine/formatters/html.js @@ -25,9 +25,132 @@ const encodeHTML = (function() { }; }()); -const pageTemplate = require("./html-template-page.js"); -const messageTemplate = require("./html-template-message.js"); -const resultTemplate = require("./html-template-result.js"); +/** + * Get the final HTML document. + * @param {Object} it data for the document. + * @returns {string} HTML document. + */ +function pageTemplate(it) { + const { reportColor, reportSummary, date, results } = it; + + return ` + + + + + ESLint Report + + + +
+

ESLint Report

+
+ ${reportSummary} - Generated on ${date} +
+
+ + + ${results} + +
+ + + +`.trimLeft(); +} /** * Given a word and a count, append an s if count is not one. @@ -71,6 +194,35 @@ function renderColor(totalErrors, totalWarnings) { return 0; } +/** + * Get HTML (table row) describing a single message. + * @param {Object} it data for the message. + * @returns {string} HTML (table row) describing the message. + */ +function messageTemplate(it) { + const { + parentIndex, + lineNumber, + columnNumber, + severityNumber, + severityName, + message, + ruleUrl, + ruleId + } = it; + + return ` + + ${lineNumber}:${columnNumber} + ${severityName} + ${encodeHTML(message)} + + ${ruleId ? ruleId : ""} + + +`.trimLeft(); +} + /** * Get HTML (table rows) describing the messages. * @param {Array} messages Messages. @@ -107,10 +259,28 @@ function renderMessages(messages, parentIndex, rulesMeta) { message: message.message, ruleId: message.ruleId, ruleUrl - }, encodeHTML); + }); }).join("\n"); } +/** + * Get HTML (table row) describing the result for a single file. + * @param {Object} it data for the file. + * @returns {string} HTML (table row) describing the result for the file. + */ +function resultTemplate(it) { + const { color, index, filePath, summary } = it; + + return ` + + + [+] ${encodeHTML(filePath)} + ${encodeHTML(summary)} + + +`.trimLeft(); +} + // eslint-disable-next-line jsdoc/require-description /** * @param {Array} results Test results. @@ -123,7 +293,7 @@ function renderResults(results, rulesMeta) { color: renderColor(result.errorCount, result.warningCount), filePath: result.filePath, summary: renderSummary(result.errorCount, result.warningCount) - }, encodeHTML) + renderMessages(result.messages, index, rulesMeta)).join("\n"); + }) + renderMessages(result.messages, index, rulesMeta)).join("\n"); } //------------------------------------------------------------------------------