sharyn
Version:
Combines all the other packages under one.
34 lines (31 loc) • 1.81 kB
JavaScript
;
var _checkSetup = require("@sharyn/check-setup");
// flow-disable-next-line
var config = {
presets: [],
plugins: [],
env: {
development: {
plugins: []
}
}
};
(0, _checkSetup.hasPackage)('@babel/preset-env') && config.presets.push('@babel/preset-env');
(0, _checkSetup.hasPackage)('@babel/preset-react') && config.presets.push('@babel/preset-react');
(0, _checkSetup.hasPackage)('@babel/preset-flow') && config.presets.push('@babel/preset-flow');
(0, _checkSetup.hasPackage)('@babel/plugin-proposal-pipeline-operator') && config.plugins.push(['@babel/plugin-proposal-pipeline-operator', {
proposal: 'minimal'
}]);
(0, _checkSetup.hasPackage)('@babel/plugin-proposal-do-expressions') && config.plugins.push('@babel/plugin-proposal-do-expressions');
(0, _checkSetup.hasPackage)('@babel/plugin-proposal-nullish-coalescing-operator') && config.plugins.push('@babel/plugin-proposal-nullish-coalescing-operator');
(0, _checkSetup.hasPackage)('@babel/plugin-proposal-optional-chaining') && config.plugins.push('@babel/plugin-proposal-optional-chaining');
(0, _checkSetup.hasPackage)('@babel/plugin-proposal-optional-catch-binding') && config.plugins.push('@babel/plugin-proposal-optional-catch-binding');
(0, _checkSetup.hasPackage)('@babel/plugin-syntax-dynamic-import') && config.plugins.push('@babel/plugin-syntax-dynamic-import');
(0, _checkSetup.hasPackage)('babel-plugin-module-resolver') && config.plugins.push(['babel-plugin-module-resolver', {
root: ['./src']
}]);
(0, _checkSetup.hasPackage)('babel-plugin-flow-react-proptypes') && config.env.development.plugins.push('babel-plugin-flow-react-proptypes');
(0, _checkSetup.hasPackage)('react-hot-loader') && config.env.development.plugins.push('react-hot-loader/babel');
module.exports = function () {
return config;
};