1 | "use strict";
|
2 |
|
3 | var _checkSetup = require("@sharyn/check-setup");
|
4 |
|
5 |
|
6 | var config = {
|
7 | presets: [],
|
8 | plugins: [],
|
9 | env: {
|
10 | development: {
|
11 | plugins: []
|
12 | }
|
13 | }
|
14 | };
|
15 | (0, _checkSetup.hasPackage)('@babel/preset-env') && config.presets.push('@babel/preset-env');
|
16 | (0, _checkSetup.hasPackage)('@babel/preset-react') && config.presets.push('@babel/preset-react');
|
17 | (0, _checkSetup.hasPackage)('@babel/preset-flow') && config.presets.push('@babel/preset-flow');
|
18 | (0, _checkSetup.hasPackage)('@babel/plugin-proposal-pipeline-operator') && config.plugins.push(['@babel/plugin-proposal-pipeline-operator', {
|
19 | proposal: 'minimal'
|
20 | }]);
|
21 | (0, _checkSetup.hasPackage)('@babel/plugin-proposal-do-expressions') && config.plugins.push('@babel/plugin-proposal-do-expressions');
|
22 | (0, _checkSetup.hasPackage)('@babel/plugin-proposal-nullish-coalescing-operator') && config.plugins.push('@babel/plugin-proposal-nullish-coalescing-operator');
|
23 | (0, _checkSetup.hasPackage)('@babel/plugin-proposal-optional-chaining') && config.plugins.push('@babel/plugin-proposal-optional-chaining');
|
24 | (0, _checkSetup.hasPackage)('@babel/plugin-proposal-optional-catch-binding') && config.plugins.push('@babel/plugin-proposal-optional-catch-binding');
|
25 | (0, _checkSetup.hasPackage)('@babel/plugin-syntax-dynamic-import') && config.plugins.push('@babel/plugin-syntax-dynamic-import');
|
26 | (0, _checkSetup.hasPackage)('babel-plugin-module-resolver') && config.plugins.push(['babel-plugin-module-resolver', {
|
27 | root: ['./src']
|
28 | }]);
|
29 | (0, _checkSetup.hasPackage)('babel-plugin-flow-react-proptypes') && config.env.development.plugins.push('babel-plugin-flow-react-proptypes');
|
30 | (0, _checkSetup.hasPackage)('react-hot-loader') && config.env.development.plugins.push('react-hot-loader/babel');
|
31 |
|
32 | module.exports = function () {
|
33 | return config;
|
34 | }; |
\ | No newline at end of file |