Skip to content

Instantly share code, notes, and snippets.

@timoxley
Created May 8, 2018 11:20
Show Gist options
  • Save timoxley/8d515d47985ff4f8e13f6071c0a9bfac to your computer and use it in GitHub Desktop.
Save timoxley/8d515d47985ff4f8e13f6071c0a9bfac to your computer and use it in GitHub Desktop.
Simple way to override & remove async/await regenerator transform nonsense from `babel-preset-react-app`.
{
"presets": [
"./config/babel-preset-myapp"
],
"plugins": [
"transform-class-properties"
]
}
const preset = require('babel-preset-react-app')
const REGENERATOR = require.resolve('babel-plugin-transform-regenerator')
const RUNTIME = require.resolve('babel-plugin-transform-runtime')
const plugins = preset.plugins.map(plugin => {
// remove regenerator plugin
if (plugin[0] === REGENERATOR) return false
// remove regenerator from runtime plugin
if (plugin[0] === RUNTIME) {
return [plugin[0], Object.assign({}, plugin[1], {
regenerator: false
})]
}
return plugin
}).filter(Boolean)
module.exports = Object.assign({}, preset, {
presets: [[
require.resolve('babel-preset-env'), {
targets: {
browsers: [
'last 1 Chrome versions',
'last 1 Firefox versions'
]
},
exclude: ['transform-regenerator'],
modules: false
}
]],
plugins
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment