* Prevent parseForESLint() behavior from changing after parse() is called (fixes https://github.com/babel/babel-eslint/issues/558, fixes https://github.com/eslint/eslint/issues/9767) * Avoid using the enhanced referencer after monkeypatching * Chore: add test for babel/babel-eslint#558 * Pass correct scope analyzer options * fix escope patch and improve tests * remove process.exit(1)
23 lines
677 B
JavaScript
23 lines
677 B
JavaScript
"use strict";
|
|
|
|
exports.parse = function(code, options) {
|
|
return exports.parseForESLint(code, options).ast;
|
|
};
|
|
|
|
exports.parseForESLint = function(code, options) {
|
|
options = options || {};
|
|
options.ecmaVersion = options.ecmaVersion || 6;
|
|
options.sourceType = options.sourceType || "module";
|
|
options.allowImportExportEverywhere =
|
|
options.allowImportExportEverywhere || false;
|
|
|
|
if (options.eslintVisitorKeys && options.eslintScopeManager) {
|
|
return require("./parse-with-scope")(code, options);
|
|
}
|
|
return { ast: require("./parse-with-patch")(code, options) };
|
|
};
|
|
|
|
exports.parseNoPatch = function(code, options) {
|
|
return require("./parse")(code, options);
|
|
};
|