diff --git a/lib/rules/one-var.js b/lib/rules/one-var.js index 3efd0f27f7f3..fd707dc80ddc 100644 --- a/lib/rules/one-var.js +++ b/lib/rules/one-var.js @@ -255,7 +255,9 @@ module.exports = { if (currentOptions.uninitialized === MODE_ALWAYS && currentOptions.initialized === MODE_ALWAYS) { if (currentScope.uninitialized || currentScope.initialized) { - return false; + if (!hasRequires) { + return false; + } } } @@ -266,7 +268,9 @@ module.exports = { } if (declarationCounts.initialized > 0) { if (currentOptions.initialized === MODE_ALWAYS && currentScope.initialized) { - return false; + if (!hasRequires) { + return false; + } } } if (currentScope.required && hasRequires) { diff --git a/tests/lib/rules/one-var.js b/tests/lib/rules/one-var.js index e5470d2e9ca3..0752bed1db08 100644 --- a/tests/lib/rules/one-var.js +++ b/tests/lib/rules/one-var.js @@ -209,6 +209,14 @@ ruleTester.run("one-var", rule, { options: [{ separateRequires: true, var: "always" }], parserOptions: { env: { node: true } } }, + { + code: "var bar = 'bar'; var foo = require('foo');", + options: [{ separateRequires: true, var: "always" }] + }, + { + code: "var foo = require('foo'); var bar = 'bar';", + options: [{ separateRequires: true, var: "always" }] + }, { code: "var foo = require('foo'); var bar = 'bar';", options: [{ separateRequires: true, var: "always" }],