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,