summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRefael Ackermann <refack@gmail.com>2017-09-23 17:41:04 -0400
committerRefael Ackermann <refack@gmail.com>2017-09-28 09:16:20 -0400
commit5f469446e1bbff48af029cf4e71de7940fe41b72 (patch)
tree2aa360bc8327f20746681dfe20ddb70a0d3b671c /tools
parent2b196fb14c48d8426338d1eae30e62a2ebcd8a3d (diff)
downloadnode-new-5f469446e1bbff48af029cf4e71de7940fe41b72.tar.gz
errors,tools: ASCIIbetical instead of alphabetical
PR-URL: https://github.com/nodejs/node/pull/15578 Fixes: https://github.com/nodejs/node/issues/15576 Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/eslint-rules/alphabetize-errors.js25
1 files changed, 13 insertions, 12 deletions
diff --git a/tools/eslint-rules/alphabetize-errors.js b/tools/eslint-rules/alphabetize-errors.js
index f4651de9a7..2f604130e9 100644
--- a/tools/eslint-rules/alphabetize-errors.js
+++ b/tools/eslint-rules/alphabetize-errors.js
@@ -1,15 +1,12 @@
'use strict';
-const message = 'Errors in lib/internal/errors.js must be alphabetized';
+const prefix = 'Out of ASCIIbetical order - ';
+const opStr = ' >= ';
function errorForNode(node) {
return node.expression.arguments[0].value;
}
-function isAlphabetized(previousNode, node) {
- return errorForNode(previousNode).localeCompare(errorForNode(node)) < 0;
-}
-
function isDefiningError(node) {
return node.expression &&
node.expression.type === 'CallExpression' &&
@@ -19,16 +16,20 @@ function isDefiningError(node) {
module.exports = {
create: function(context) {
- var previousNode;
-
+ let previousNode;
return {
ExpressionStatement: function(node) {
- if (isDefiningError(node)) {
- if (previousNode && !isAlphabetized(previousNode, node)) {
- context.report({ node: node, message: message });
- }
-
+ if (!isDefiningError(node)) return;
+ if (!previousNode) {
previousNode = node;
+ return;
+ }
+ const prev = errorForNode(previousNode);
+ const curr = errorForNode(node);
+ previousNode = node;
+ if (prev >= curr) {
+ const message = [prefix, prev, opStr, curr].join('');
+ context.report({ node, message });
}
}
};