From 305251256d890b6be61e18a5ae1c925fdecff3ad Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Sun, 18 Feb 2018 20:19:20 +0100 Subject: [PATCH] tools: fix custom eslint rule errors This fixes a few rules by making sure the input is actually ready to be checked. Otherwise those can throw TypeErrors or result in faulty error messages. PR-URL: https://github.com/nodejs/node/pull/18853 Reviewed-By: Luigi Pinca --- tools/eslint-rules/alphabetize-errors.js | 9 ++------- tools/eslint-rules/rules-utils.js | 8 ++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/eslint-rules/alphabetize-errors.js b/tools/eslint-rules/alphabetize-errors.js index 2f604130e995b4..b2dcacbb866816 100644 --- a/tools/eslint-rules/alphabetize-errors.js +++ b/tools/eslint-rules/alphabetize-errors.js @@ -1,5 +1,7 @@ 'use strict'; +const { isDefiningError } = require('./rules-utils.js'); + const prefix = 'Out of ASCIIbetical order - '; const opStr = ' >= '; @@ -7,13 +9,6 @@ function errorForNode(node) { return node.expression.arguments[0].value; } -function isDefiningError(node) { - return node.expression && - node.expression.type === 'CallExpression' && - node.expression.callee && - node.expression.callee.name === 'E'; -} - module.exports = { create: function(context) { let previousNode; diff --git a/tools/eslint-rules/rules-utils.js b/tools/eslint-rules/rules-utils.js index 88ecf658ce37f0..0e89a715450edb 100644 --- a/tools/eslint-rules/rules-utils.js +++ b/tools/eslint-rules/rules-utils.js @@ -3,6 +3,14 @@ */ 'use strict'; +module.exports.isDefiningError = function(node) { + return node.expression && + node.expression.type === 'CallExpression' && + node.expression.callee && + node.expression.callee.name === 'E' && + node.expression.arguments.length !== 0; +}; + /** * Returns true if any of the passed in modules are used in * require calls.