Files

Return to Package Diff Home.
Brought to you by Intrinsic.

Package Diff: eslint @ 5.15.3 .. 5.16.0

CHANGELOG.md

@@ -1,3 +1,15 @@
+v5.16.0 - March 29, 2019
+
+* [`dfef227`](https://github.com/eslint/eslint/commit/dfef227091955a2f8f3fa8c76ad79de8a77e7955) Build: gensite passes rulesMeta to formatter rendering (#11567) (Kevin Partington)
+* [`c06d38c`](https://github.com/eslint/eslint/commit/c06d38c81bd9203c904587396a65d3c8cc7f2944) Fix: Allow HTML formatter to handle no meta data (#11566) (Ilya Volodin)
+* [`87a5c03`](https://github.com/eslint/eslint/commit/87a5c034977cf4538ff3539d2f8776a987c5942a) Docs: `func-style`: clarify when `allowArrowFunctions` is used (#11548) (Oliver Joseph Ash)
+* [`bc3e427`](https://github.com/eslint/eslint/commit/bc3e427ee8875c53eac6b6762884b50074f1adfc) Update: pass rule meta to formatters RFC 10 (#11551) (Chris Meyer)
+* [`b452f27`](https://github.com/eslint/eslint/commit/b452f270bc0b523d88d5d827c95be3096f82e99d) Chore: Update README to pull in reviewer data (#11506) (Nicholas C. Zakas)
+* [`afe3d25`](https://github.com/eslint/eslint/commit/afe3d25f8afb88caee43f7202d0eb96f33a92a6b) Upgrade: Bump js-yaml dependency to fix Denial of Service vulnerability (#11550) (Vernon de Goede)
+* [`4fe7eb7`](https://github.com/eslint/eslint/commit/4fe7eb7cecdc2395cf1eeaa20921bda8460b00c2) Chore: use nyc instead of istanbul (#11532) (Toru Nagashima)
+* [`f16af43`](https://github.com/eslint/eslint/commit/f16af439694aab473c647d8fae47c402bd489447) Chore: fix formatters/table test (#11534) (Toru Nagashima)
+* [`78358a8`](https://github.com/eslint/eslint/commit/78358a8f66e95c4fcc921f2497e8a5ec5f1537ec) Docs: fix duplicate punctuation in CLI docs (#11528) (Teddy Katz)
+
v5.15.3 - March 18, 2019
* [`71adc66`](https://github.com/eslint/eslint/commit/71adc665b9649b173adc76f80723b8de20664ae1) Fix: avoid moving comments in implicit-arrow-linebreak (fixes #11521) (#11522) (Teddy Katz)

lib/cli.js

@@ -81,15 +81,23 @@
*/
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) {

lib/formatters/html.js

@@ -62,9 +62,10 @@
* 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 @@
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 @@
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 @@
date: new Date(),
reportColor: renderColor(totalErrors, totalWarnings),
reportSummary: renderSummary(totalErrors, totalWarnings),
- results: renderResults(results)
+ results: renderResults(results, metaData)
});
};

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>

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
+ });
+};

package.json

@@ -1,6 +1,6 @@
{
"name": "eslint",
- "version": "5.15.3",
+ "version": "5.16.0",
"author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>",
"description": "An AST-based pattern checker for JavaScript.",
"bin": {
@@ -55,7 +55,7 @@
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"inquirer": "^6.2.2",
- "js-yaml": "^3.12.0",
+ "js-yaml": "^3.13.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
"lodash": "^4.17.11",
@@ -92,7 +92,6 @@
"eslint-release": "^1.2.0",
"eslump": "^2.0.0",
"esprima": "^4.0.1",
- "istanbul": "^0.4.5",
"jsdoc": "^3.5.5",
"karma": "^3.1.4",
"karma-chrome-launcher": "^2.2.0",
@@ -105,6 +104,7 @@
"mocha": "^5.0.5",
"mock-fs": "^4.8.0",
"npm-license": "^0.3.3",
+ "nyc": "^13.3.0",
"proxyquire": "^2.0.1",
"puppeteer": "^1.12.2",
"shelljs": "^0.8.2",

README.md

@@ -193,12 +193,13 @@
These folks keep the project moving and are resources for help.
+<!-- NOTE: This section is autogenerated. Do not manually edit.-->
+<!--teamstart-->
+
### Technical Steering Committee (TSC)
The people who manage releases, review feature requests, and meet regularly to ensure ESLint is properly maintained.
-<!-- NOTE: This section is autogenerated. Do not manually edit.-->
-<!--tscstart-->
<table><tbody><tr><td align="center" valign="top" width="11%">
<a href="https://github.com/nzakas">
<img src="https://github.com/nzakas.png?s=75" width="75" height="75"><br />
@@ -239,14 +240,15 @@
<img src="https://github.com/not-an-aardvark.png?s=75" width="75" height="75"><br />
Teddy Katz
</a>
-</td></tr></tbody></table><!--tscend-->
+</td></tr></tbody></table>
+
+
+
### Committers
The people who review and fix bugs and help triage issues.
-<!-- NOTE: This section is autogenerated. Do not manually edit.-->
-<!--committersstart-->
<table><tbody><tr><td align="center" valign="top" width="11%">
<a href="https://github.com/aladdin-add">
<img src="https://github.com/aladdin-add.png?s=75" width="75" height="75"><br />
@@ -257,7 +259,10 @@
<img src="https://github.com/g-plane.png?s=75" width="75" height="75"><br />
Pig Fang
</a>
-</td></tr></tbody></table><!--committersend-->
+</td></tr></tbody></table>
+
+
+<!--teamend-->
## Sponsors