diff options
Diffstat (limited to 'tools/node_modules/babel-eslint/lib/babylon-to-espree/index.js')
-rw-r--r-- | tools/node_modules/babel-eslint/lib/babylon-to-espree/index.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/node_modules/babel-eslint/lib/babylon-to-espree/index.js b/tools/node_modules/babel-eslint/lib/babylon-to-espree/index.js new file mode 100644 index 0000000000..ecd8eee6f1 --- /dev/null +++ b/tools/node_modules/babel-eslint/lib/babylon-to-espree/index.js @@ -0,0 +1,35 @@ +"use strict"; + +var attachComments = require("./attachComments"); +var convertComments = require("./convertComments"); +var toTokens = require("./toTokens"); +var toAST = require("./toAST"); + +module.exports = function(ast, traverse, tt, code) { + // remove EOF token, eslint doesn't use this for anything and it interferes + // with some rules see https://github.com/babel/babel-eslint/issues/2 + // todo: find a more elegant way to do this + ast.tokens.pop(); + + // convert tokens + ast.tokens = toTokens(ast.tokens, tt, code); + + // add comments + convertComments(ast.comments); + + // transform esprima and acorn divergent nodes + toAST(ast, traverse, code); + + // ast.program.tokens = ast.tokens; + // ast.program.comments = ast.comments; + // ast = ast.program; + + // remove File + ast.type = "Program"; + ast.sourceType = ast.program.sourceType; + ast.directives = ast.program.directives; + ast.body = ast.program.body; + delete ast.program; + + attachComments(ast, ast.comments, ast.tokens); +}; |