diff options
author | Rich Trott <rtrott@gmail.com> | 2017-07-04 20:44:40 -0700 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2017-07-06 20:50:44 -0700 |
commit | a965067f7475d1816f1a0a7f94ff1dcacf183e0a (patch) | |
tree | 8e126c209ac342ac4a92057b467f14ef36ba2403 /tools | |
parent | 84f9261efd02c7e4ddb087cadf528b2aaed8809c (diff) | |
download | android-node-v8-a965067f7475d1816f1a0a7f94ff1dcacf183e0a.tar.gz android-node-v8-a965067f7475d1816f1a0a7f94ff1dcacf183e0a.tar.bz2 android-node-v8-a965067f7475d1816f1a0a7f94ff1dcacf183e0a.zip |
tools: remove align-multiline-assignment lint rule
In preparation for stricter indentation linting, remove the
align-multiline-assignment custom rule, as it may conflict with the
ESLint stricter indentation linting.
PR-URL: https://github.com/nodejs/node/pull/14079
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/eslint-rules/align-multiline-assignment.js | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/tools/eslint-rules/align-multiline-assignment.js b/tools/eslint-rules/align-multiline-assignment.js deleted file mode 100644 index 8e2f5ed1ee..0000000000 --- a/tools/eslint-rules/align-multiline-assignment.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @fileoverview Align multiline variable assignments - * @author Rich Trott - */ -'use strict'; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ -function getBinaryExpressionStarts(binaryExpression, starts) { - function getStartsFromOneSide(side, starts) { - starts.push(side.loc.start); - if (side.type === 'BinaryExpression') { - starts = getBinaryExpressionStarts(side, starts); - } - return starts; - } - - starts = getStartsFromOneSide(binaryExpression.left, starts); - starts = getStartsFromOneSide(binaryExpression.right, starts); - return starts; -} - -function checkExpressionAlignment(expression) { - if (!expression) - return; - - var msg = ''; - - switch (expression.type) { - case 'BinaryExpression': - var starts = getBinaryExpressionStarts(expression, []); - var startLine = starts[0].line; - const startColumn = starts[0].column; - starts.forEach((loc) => { - if (loc.line > startLine) { - startLine = loc.line; - if (loc.column !== startColumn) { - msg = 'Misaligned multiline assignment'; - } - } - }); - break; - } - return msg; -} - -function testAssignment(context, node) { - const msg = checkExpressionAlignment(node.right); - if (msg) - context.report(node, msg); -} - -function testDeclaration(context, node) { - node.declarations.forEach((declaration) => { - const msg = checkExpressionAlignment(declaration.init); - if (msg) - context.report(node, msg); - }); -} - -module.exports = function(context) { - return { - 'AssignmentExpression': (node) => testAssignment(context, node), - 'VariableDeclaration': (node) => testDeclaration(context, node) - }; -}; |