diff --git a/index.js b/index.js index f06d04b8..a126db9d 100644 --- a/index.js +++ b/index.js @@ -62,6 +62,7 @@ function monkeypatch(modules) { var analyze = escope.analyze; escope.analyze = function (ast, opts) { + opts = opts || {}; opts.ecmaVersion = eslintOptions.ecmaVersion; opts.sourceType = eslintOptions.sourceType; if (eslintOptions.globalReturn !== undefined) { diff --git a/test/babel-eslint.js b/test/babel-eslint.js index b7f0e699..28250588 100644 --- a/test/babel-eslint.js +++ b/test/babel-eslint.js @@ -1,6 +1,7 @@ var assert = require("assert"); var babelEslint = require(".."); var espree = require("espree"); +var escope = require("escope"); var util = require("util"); var unpad = require("dedent"); @@ -85,6 +86,16 @@ function parseAndAssertSame(code) { } describe("babylon-to-esprima", () => { + describe("compatibility", () => { + it("should allow ast.analyze to be called without options", function() { + var esAST = babelEslint.parse("`test`"); + + assert.doesNotThrow(() => { + escope.analyze(esAST); + }, TypeError, "Should allow no options argument."); + }); + }); + describe("templates", () => { it("empty template string", () => { parseAndAssertSame("``");