summaryrefslogtreecommitdiff
path: root/tools/node_modules/babel-eslint/lib/babylon-to-espree/index.js
diff options
context:
space:
mode:
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.js35
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);
+};