text: /* eslint global-require: off */
  
  const developmentEnvironments = ['development', 'test'];
  
  const developmentPlugins = [require('react-hot-loader/babel')];
  
  const productionPlugins = [
    require('babel-plugin-dev-expression'),
  
    // babel-preset-react-optimize
    require('@babel/plugin-transform-react-constant-elements'),
    require('@babel/plugin-transform-react-inline-elements'),
    require('babel-plugin-transform-react-remove-prop-types')
  ];
  
  module.exports = api => {
    // see docs about api at https://babeljs.io/docs/en/config-files#apicache
  
    const development = api.env(developmentEnvironments);
  
    return {
      presets: [
        [
          require('@babel/preset-env'),
          {
            targets: { electron: require('electron/package.json').version },
            useBuiltIns: 'usage'
          }
        ],
        [require('@babel/preset-react'), { development}],
        [require('@babel/preset-typescript')]
      ],
      plugins: [
        ...(development ? developmentPlugins : productionPlugins)
      ]
    };
  };
  