sharyn
Version:
Combines all the other packages under one.
43 lines (33 loc) • 1.59 kB
Flow
// @flow
// flow-disable-next-line
import { hasPackage } from '@sharyn/check-setup'
const config = {
presets: [],
plugins: [],
env: {
development: {
plugins: [],
},
},
}
hasPackage('/preset-env') && config.presets.push('@babel/preset-env')
hasPackage('/preset-react') && config.presets.push('@babel/preset-react')
hasPackage('/preset-flow') && config.presets.push('@babel/preset-flow')
hasPackage('/plugin-proposal-pipeline-operator') &&
config.plugins.push(['/plugin-proposal-pipeline-operator', { proposal: 'minimal' }])
hasPackage('/plugin-proposal-do-expressions') &&
config.plugins.push('/plugin-proposal-do-expressions')
hasPackage('/plugin-proposal-nullish-coalescing-operator') &&
config.plugins.push('/plugin-proposal-nullish-coalescing-operator')
hasPackage('/plugin-proposal-optional-chaining') &&
config.plugins.push('/plugin-proposal-optional-chaining')
hasPackage('/plugin-proposal-optional-catch-binding') &&
config.plugins.push('/plugin-proposal-optional-catch-binding')
hasPackage('/plugin-syntax-dynamic-import') &&
config.plugins.push('/plugin-syntax-dynamic-import')
hasPackage('babel-plugin-module-resolver') &&
config.plugins.push(['babel-plugin-module-resolver', { root: ['./src'] }])
hasPackage('babel-plugin-flow-react-proptypes') &&
config.env.development.plugins.push('babel-plugin-flow-react-proptypes')
hasPackage('react-hot-loader') && config.env.development.plugins.push('react-hot-loader/babel')
module.exports = () => config