/* * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ 'use strict'; const babylon = require('babylon'); // These are the options that were the default of the Babel5 parse function // see https://github.com/babel/babel/blob/5.x/packages/babel/src/api/node.js#L81 const options = { sourceType: 'module', allowHashBang: true, ecmaVersion: Infinity, allowImportExportEverywhere: true, allowReturnOutsideFunction: true, plugins: [ 'estree', 'jsx', 'asyncGenerators', 'classProperties', 'doExpressions', 'exportExtensions', 'functionBind', 'functionSent', 'objectRestSpread', 'dynamicImport', 'nullishCoalescingOperator', 'optionalChaining', ], }; /** * Wrapper to set default options */ exports.parse = function parse (code) { return babylon.parse(code, options); };