diff --git a/eslint/babel-eslint-parser/index.js b/eslint/babel-eslint-parser/index.js index b42c3408ee..c9e7bc4df9 100644 --- a/eslint/babel-eslint-parser/index.js +++ b/eslint/babel-eslint-parser/index.js @@ -76,6 +76,7 @@ function monkeypatch() { var analyze = escope.analyze; escope.analyze = function (ast, opts) { opts.ecmaVersion = 6; + opts.sourceType = "module"; var results = analyze.call(this, ast, opts); return results; diff --git a/eslint/babel-eslint-parser/test/non-regression.js b/eslint/babel-eslint-parser/test/non-regression.js index b87ae83caa..e34e9f506b 100644 --- a/eslint/babel-eslint-parser/test/non-regression.js +++ b/eslint/babel-eslint-parser/test/non-regression.js @@ -2,32 +2,27 @@ "use strict"; var eslint = require("eslint"); -function verifyAndAssertMessages(code, rules, expectedMessages, sourceType, overrideConfig) { - var config = { - parser: require.resolve(".."), - rules: rules, - env: { - node: true, - es6: true - }, - parserOptions: { - ecmaVersion: 6, - ecmaFeatures: { - jsx: true, - experimentalObjectRestSpread: true, - globalReturn: true +function verifyAndAssertMessages(code, rules, expectedMessages, sourceType) { + var messages = eslint.linter.verify( + code, + { + parser: require.resolve(".."), + rules: rules, + env: { + node: true, + es6: true }, - sourceType: sourceType || "module" + parserOptions: { + ecmaVersion: 6, + ecmaFeatures: { + jsx: true, + experimentalObjectRestSpread: true, + globalReturn: true + }, + sourceType: sourceType || "module" + } } - } - - if (overrideConfig) { - for (var key in overrideConfig) { - config[key] = overrideConfig[key] - } - } - - var messages = eslint.linter.verify(code, config); + ); if (messages.length !== expectedMessages.length) { throw new Error("Expected " + expectedMessages.length + " message(s), got " + messages.length + " " + JSON.stringify(messages)); @@ -1142,32 +1137,6 @@ describe("verify", function () { ); }); - it("no-implicit-globals in script", function () { - verifyAndAssertMessages( - "var leakedGlobal = 1;", - { "no-implicit-globals": 1 }, - [ "1:5 Implicit global variable, assign as global property instead. no-implicit-globals" ], - "script", - { - env: {}, - parserOptions: { ecmaVersion: 6, sourceType: "script" } - } - ); - }); - - it("no-implicit-globals in module", function () { - verifyAndAssertMessages( - "var leakedGlobal = 1;", - { "no-implicit-globals": 1 }, - [], - "module", - { - env: {}, - parserOptions: { ecmaVersion: 6, sourceType: "module" } - } - ); - }); - // This two tests are disabled, as the feature to visit properties when // there is a spread/rest operator has been removed as it caused problems // with other rules #249