1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- * 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);
- };
|