UNPKG

803 BJavaScriptView Raw
1/*!
2 * Copyright (c) 2015-2017 Cisco Systems, Inc. See LICENSE file.
3 */
4
5import {parse as babelParse} from 'babylon';
6import {defaults} from 'lodash';
7
8/**
9 * Wrapper around babylon's parse with defaults set
10 * @param {string} code
11 * @param {object} options
12 * @returns {ast}
13 */
14export default function parse(code, options) {
15 return babelParse(code, defaults(options, {
16 allowImportExportEverywhere: true,
17 sourceType: 'module',
18 plugins: [
19 'jsx',
20 'flow',
21 'asyncFunctions',
22 'classConstructorCall',
23 'doExpressions',
24 'trailingFunctionCommas',
25 'objectRestSpread',
26 'decorators',
27 'classProperties',
28 'exportExtensions',
29 'exponentiationOperator',
30 'asyncGenerators',
31 'functionBind',
32 'functionSent'
33 ]
34 }));
35}