From 543edfa89e04ec76b2f68f4d9d11084d91af2bba Mon Sep 17 00:00:00 2001 From: Justin Krup Date: Fri, 12 Oct 2018 13:42:12 -0400 Subject: [PATCH] Fix: Fix error with one-var (fixes #10937) (#10938) --- lib/rules/one-var.js | 5 +++++ tests/lib/rules/one-var.js | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/rules/one-var.js b/lib/rules/one-var.js index 15b664d77a3..3efd0f27f7f 100644 --- a/lib/rules/one-var.js +++ b/lib/rules/one-var.js @@ -314,6 +314,11 @@ module.exports = { function splitDeclarations(declaration) { return fixer => declaration.declarations.map(declarator => { const tokenAfterDeclarator = sourceCode.getTokenAfter(declarator); + + if (tokenAfterDeclarator === null) { + return null; + } + const afterComma = sourceCode.getTokenAfter(tokenAfterDeclarator, { includeComments: true }); if (tokenAfterDeclarator.value !== ",") { diff --git a/tests/lib/rules/one-var.js b/tests/lib/rules/one-var.js index b628f512a9f..e5470d2e9ca 100644 --- a/tests/lib/rules/one-var.js +++ b/tests/lib/rules/one-var.js @@ -949,6 +949,17 @@ ruleTester.run("one-var", rule, { column: 1 }] }, + { + code: "var a = 1, b = 2", + output: "var a = 1; var b = 2", + options: ["never"], + errors: [{ + message: "Split 'var' declarations into multiple statements.", + type: "VariableDeclaration", + line: 1, + column: 1 + }] + }, { code: "var foo = require('foo'), bar;", output: null,