diff --git a/lib/linter/linter.js b/lib/linter/linter.js index bdc6c1b1d01..72a9b24f9b6 100644 --- a/lib/linter/linter.js +++ b/lib/linter/linter.js @@ -444,7 +444,7 @@ function normalizeEcmaVersion(ecmaVersion) { return ecmaVersion >= 2015 ? ecmaVersion - 2009 : ecmaVersion; } -const eslintEnvPattern = /\/\*\s*eslint-env\s(.+?)\*\//gu; +const eslintEnvPattern = /\/\*\s*eslint-env\s([\s\S]+?)\*\//gu; /** * Checks whether or not there is a comment which has "eslint-env *" in a given text. diff --git a/tests/lib/linter/linter.js b/tests/lib/linter/linter.js index 976bd765755..20ddeef601b 100644 --- a/tests/lib/linter/linter.js +++ b/tests/lib/linter/linter.js @@ -2957,6 +2957,18 @@ var a = "test2"; assert.strictEqual(messages.length, 0); }); + // https://github.com/eslint/eslint/issues/14652 + it("should not report a violation", () => { + const code = "/*eslint-env es6\n */ new Promise();"; + + const config = { rules: { "no-undef": 1 } }; + + const messages = linter.verify(code, config, filename); + + assert.strictEqual(messages.length, 0); + }); + + it("should not report a violation", () => { const code = `/*${ESLINT_ENV} mocha,node */ require();describe();`;