From 92db8312f6233f455a15b5680e27f2b4d025cfac Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 13 Apr 2015 14:25:37 -0700 Subject: [PATCH] add parse api --- src/babel/api/node.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/babel/api/node.js b/src/babel/api/node.js index 95c53c1a19..2b4a8401cd 100644 --- a/src/babel/api/node.js +++ b/src/babel/api/node.js @@ -4,12 +4,11 @@ import * as acorn from "../../acorn"; import * as util from "../util"; import fs from "fs"; -export { util, acorn }; +export { util, acorn, transform }; export { canCompile } from "../util"; export { default as options } from "../transformation/file/options"; export { default as Transformer } from "../transformation/transformer"; -export { default as transform } from "../transformation"; export { default as traverse } from "../traversal"; export { default as buildExternalHelpers } from "../tools/build-external-helpers"; export { version } from "../../../package"; @@ -54,3 +53,18 @@ export function transformFileSync(filename: string, opts?: Object = {}) { opts.filename = filename; return transform(fs.readFileSync(filename), opts); } + +export function parse(code, opts = {}) { + opts.ecmaVersion = 6; + opts.plugins = { + flow: true, + jsx: true + }; + opts.features = {}; + + for (var key in transform.transformers) { + opts.features[key] = true; + } + + return acorn.parse(code, opts); +}