diff --git a/lib/.eslintrc.yaml b/lib/.eslintrc.yaml index fcb9ea7febac52..8378cec15fb2ef 100644 --- a/lib/.eslintrc.yaml +++ b/lib/.eslintrc.yaml @@ -17,7 +17,6 @@ rules: message: "Use an error exported by the internal/errors module." # Custom rules in tools/eslint-rules node-core/require-globals: error - node-core/no-let-in-for-declaration: error node-core/lowercase-name-for-primitive: error node-core/non-ascii-character: error globals: diff --git a/test/parallel/test-eslint-no-let-in-for-declaration.js b/test/parallel/test-eslint-no-let-in-for-declaration.js deleted file mode 100644 index 3afabf72f54dcb..00000000000000 --- a/test/parallel/test-eslint-no-let-in-for-declaration.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -const common = require('../common'); -if (!common.hasCrypto) - common.skip('missing crypto'); - -common.skipIfEslintMissing(); - -const RuleTester = require('../../tools/node_modules/eslint').RuleTester; -const rule = require('../../tools/eslint-rules/no-let-in-for-declaration'); - -const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); - -const message = 'Use of `let` as the loop variable in a for-loop is ' + - 'not recommended. Please use `var` instead.'; - -ruleTester.run('no-let-in-for-declaration', rule, { - valid: [ - 'let foo;', - 'for (var foo = 1;;);', - 'for (foo = 1;;);', - 'for (;;);', - 'for (const foo of bar);', - 'for (var foo of bar);', - 'for (const foo in bar);', - 'for (var foo in bar);' - ], - invalid: [ - { - code: 'for (let foo = 1;;);', - output: 'for (var foo = 1;;);', - errors: [{ message }] - }, - { - code: 'for (let foo in bar);', - output: 'for (var foo in bar);', - errors: [{ message }] - }, - { - code: 'for (let foo of bar);', - output: 'for (var foo of bar);', - errors: [{ message }] - } - ] -}); diff --git a/test/root.status b/test/root.status index b0f72f9edafe5b..25400990b68af8 100644 --- a/test/root.status +++ b/test/root.status @@ -37,7 +37,6 @@ parallel/test-eslint-duplicate-requires: SLOW parallel/test-eslint-eslint-check: SLOW parallel/test-eslint-inspector-check: SLOW parallel/test-eslint-lowercase-name-for-primitive: SLOW -parallel/test-eslint-no-let-in-for-declaration: SLOW parallel/test-eslint-no-unescaped-regexp-dot: SLOW parallel/test-eslint-number-isnan: SLOW parallel/test-eslint-prefer-assert-iferror: SLOW diff --git a/tools/eslint-rules/no-let-in-for-declaration.js b/tools/eslint-rules/no-let-in-for-declaration.js deleted file mode 100644 index 1ae49a48dee8a2..00000000000000 --- a/tools/eslint-rules/no-let-in-for-declaration.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @fileoverview Prohibit the use of `let` as the loop variable - * in the initialization of for, and the left-hand - * iterator in forIn and forOf loops. - * - * @author Jessica Quynh Tran - */ - -'use strict'; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ -const message = 'Use of `let` as the loop variable in a for-loop is ' + - 'not recommended. Please use `var` instead.'; -const forSelector = 'ForStatement[init.kind="let"]'; -const forInOfSelector = 'ForOfStatement[left.kind="let"],' + - 'ForInStatement[left.kind="let"]'; - -module.exports = { - create(context) { - const sourceCode = context.getSourceCode(); - - function report(node) { - context.report({ - node, - message, - fix: (fixer) => - fixer.replaceText(sourceCode.getFirstToken(node), 'var') - }); - } - - return { - [forSelector]: (node) => report(node.init), - [forInOfSelector]: (node) => report(node.left), - }; - } -};