diff --git a/eslint/babel-eslint-parser/src/babylon-to-espree/convertAST.js b/eslint/babel-eslint-parser/src/babylon-to-espree/convertAST.js index 50d472803a..4e04866871 100644 --- a/eslint/babel-eslint-parser/src/babylon-to-espree/convertAST.js +++ b/eslint/babel-eslint-parser/src/babylon-to-espree/convertAST.js @@ -1,27 +1,6 @@ -import { types as t } from "@babel/core"; +import { types as t, traverse } from "@babel/core"; import convertProgramNode from "./convertProgramNode"; -module.exports = function(ast, traverse, code) { - const state = { source: code }; - - // Monkey patch visitor keys in order to be able to traverse the estree nodes - t.VISITOR_KEYS.Property = t.VISITOR_KEYS.ObjectProperty; - t.VISITOR_KEYS.MethodDefinition = [ - "key", - "value", - "decorators", - "returnType", - "typeParameters", - ]; - - traverse(ast, astTransformVisitor, null, state); - - delete t.VISITOR_KEYS.Property; - delete t.VISITOR_KEYS.MethodDefinition; - - convertProgramNode(ast); -}; - const astTransformVisitor = { noScope: true, enter(path) { @@ -94,3 +73,24 @@ const astTransformVisitor = { } }, }; + +export default function(ast, code) { + const state = { source: code }; + + // Monkey patch visitor keys in order to be able to traverse the estree nodes + t.VISITOR_KEYS.Property = t.VISITOR_KEYS.ObjectProperty; + t.VISITOR_KEYS.MethodDefinition = [ + "key", + "value", + "decorators", + "returnType", + "typeParameters", + ]; + + traverse(ast, astTransformVisitor, null, state); + + delete t.VISITOR_KEYS.Property; + delete t.VISITOR_KEYS.MethodDefinition; + + convertProgramNode(ast); +} diff --git a/eslint/babel-eslint-parser/src/babylon-to-espree/convertTemplateType.js b/eslint/babel-eslint-parser/src/babylon-to-espree/convertTemplateType.js index d918417d80..3b674adae6 100644 --- a/eslint/babel-eslint-parser/src/babylon-to-espree/convertTemplateType.js +++ b/eslint/babel-eslint-parser/src/babylon-to-espree/convertTemplateType.js @@ -1,4 +1,6 @@ -export default function(tokens, tt) { +import { tokTypes as tt } from "@babel/core"; + +export default function(tokens) { let curlyBrace = null; let templateTokens = []; const result = []; diff --git a/eslint/babel-eslint-parser/src/babylon-to-espree/convertToken.js b/eslint/babel-eslint-parser/src/babylon-to-espree/convertToken.js index 5452713680..d8c9f09092 100644 --- a/eslint/babel-eslint-parser/src/babylon-to-espree/convertToken.js +++ b/eslint/babel-eslint-parser/src/babylon-to-espree/convertToken.js @@ -1,4 +1,6 @@ -export default function(token, tt, source) { +import { tokTypes as tt } from "@babel/core"; + +export default function(token, source) { const type = token.type; token.range = [token.start, token.end]; diff --git a/eslint/babel-eslint-parser/src/babylon-to-espree/convertTokens.js b/eslint/babel-eslint-parser/src/babylon-to-espree/convertTokens.js index 41978339a7..44f4ef41bc 100644 --- a/eslint/babel-eslint-parser/src/babylon-to-espree/convertTokens.js +++ b/eslint/babel-eslint-parser/src/babylon-to-espree/convertTokens.js @@ -1,8 +1,8 @@ import convertTemplateType from "./convertTemplateType"; import convertToken from "./convertToken"; -export default function(tokens, tt, code) { - return convertTemplateType(tokens, tt) +export default function(tokens, code) { + return convertTemplateType(tokens) .filter(t => t.type !== "CommentLine" && t.type !== "CommentBlock") - .map(t => convertToken(t, tt, code)); + .map(t => convertToken(t, code)); } diff --git a/eslint/babel-eslint-parser/src/babylon-to-espree/index.js b/eslint/babel-eslint-parser/src/babylon-to-espree/index.js index 7112aa8f24..7a9de2b4cc 100644 --- a/eslint/babel-eslint-parser/src/babylon-to-espree/index.js +++ b/eslint/babel-eslint-parser/src/babylon-to-espree/index.js @@ -2,8 +2,8 @@ import convertTokens from "./convertTokens"; import convertComments from "./convertComments"; import convertAST from "./convertAST"; -export default function(ast, traverse, tt, code) { - ast.tokens = convertTokens(ast.tokens, tt, code); +export default function(ast, code) { + ast.tokens = convertTokens(ast.tokens, code); convertComments(ast.comments); - convertAST(ast, traverse, code); + convertAST(ast, code); } diff --git a/eslint/babel-eslint-parser/src/index.js b/eslint/babel-eslint-parser/src/index.js index 4709fd4aa8..2d54014b44 100644 --- a/eslint/babel-eslint-parser/src/index.js +++ b/eslint/babel-eslint-parser/src/index.js @@ -12,7 +12,7 @@ const IS_RUNNING_SUPPORTED_VERSION = semver.satisfies( ); export function parse(code, options) { - return exports.parseForESLint(code, options).ast; + return parseForESLint(code, options).ast; } export function parseForESLint(code, options = {}) { diff --git a/eslint/babel-eslint-parser/src/parse.js b/eslint/babel-eslint-parser/src/parse.js index e38e9a94fe..e39f371295 100644 --- a/eslint/babel-eslint-parser/src/parse.js +++ b/eslint/babel-eslint-parser/src/parse.js @@ -1,4 +1,4 @@ -import { parseSync as babelParse, tokTypes as tt, traverse } from "@babel/core"; +import { parseSync as babelParse } from "@babel/core"; import babylonToEspree from "./babylon-to-espree"; import { normalizeBabelParseConfig } from "./configuration"; @@ -17,7 +17,7 @@ export default function parse(code, options) { throw err; } - babylonToEspree(ast, traverse, tt, code); + babylonToEspree(ast, code); return ast; }