utils/babel-preset.js (28 lines of code) (raw):

const defaultOptions = { // https://babeljs.io/docs/en/next/babel-preset-env#options envPresetOptions: { modules: false, useBuiltIns: 'usage', loose: false // http://2ality.com/2015/12/babel6-loose-mode.html }, transformRuntimeOptions: { helpers: true, corejs: 2, regenerator: true, useESModules: true } }; module.exports = function(api) { return { presets: [[require('@babel/preset-env'), defaultOptions.envPresetOptions]], plugins: [ require('@babel/plugin-proposal-class-properties'), require('@babel/plugin-proposal-object-rest-spread'), require('@babel/plugin-transform-async-to-generator'), require('@babel/plugin-transform-react-jsx'), [ require('@babel/plugin-transform-runtime'), defaultOptions.transformRuntimeOptions ] ].filter(Boolean) }; };