diff --git a/lib/parsers/javascript.js b/lib/parsers/javascript.js index 6231db31f..66d0f9e6b 100644 --- a/lib/parsers/javascript.js +++ b/lib/parsers/javascript.js @@ -1,6 +1,6 @@ 'use strict'; -var babel = require('babel'), +var babylon = require('babylon'), types = require('ast-types'), extend = require('extend'), isJSDocComment = require('../../lib/is_jsdoc_comment'), @@ -19,6 +19,22 @@ function commentShebang(code) { return (code[0] === '#' && code[1] === '!') ? '//' + code : code; } +var parseOpts = { + allowImportExportEverywhere: true, + allowReturnOutsideFunction: true, + allowHashBang: true, + ecmaVersion: 6, + strictMode: true, + sourceType: 'module', + locations: true, + features: {}, + plugins: { + jsx: true, + flow: true + } +}; + + /** * Receives a module-dep item, * reads the file, parses the JavaScript, and parses the JSDoc. @@ -30,7 +46,7 @@ function commentShebang(code) { module.exports = function (data) { var results = []; var code = commentShebang(data.source), - ast = babel.parse(code); + ast = babylon.parse(code, parseOpts); var visited = {}; diff --git a/package.json b/package.json index 7fe979f85..ed215b274 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "ast-types": "^0.8.12", - "babel": "^5.8.23", + "babylon": "^5.8.23", "brfs": "^1.4.0", "concat-stream": "^1.5.0", "doctrine": "^0.6.4",