create-expo-cljs-app
Version:
Create a react native application with Expo and Shadow-CLJS!
50 lines (44 loc) • 1.13 kB
JavaScript
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
;
const babylon = require('@babel/parser');
// 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,
startLine: 1,
tokens: true,
plugins: [
'estree',
'jsx',
'asyncGenerators',
'classProperties',
'doExpressions',
'exportExtensions',
'functionBind',
'functionSent',
'objectRestSpread',
'dynamicImport',
'nullishCoalescingOperator',
'optionalChaining',
],
};
/**
* Wrapper to set default options. Doesn't accept custom options because in that
* case babylon should be used instead.
*/
module.exports = function() {
return {
parse(code) {
return babylon.parse(code, options);
},
};
};