text: var path = require('path');
  
  module.exports = {
    // Don't try to find .babelrc because we want to force this configuration.
    babelrc: false,
    presets: [
      // Latest stable ECMAScript features
      require.resolve('babel-preset-env'),
      // JSX, Flow
      require.resolve('babel-preset-react')
    ],
    plugins: [
      //add the module.exports if only the export default declaration exists.
      //     exports.default = 'foo';
      //      module.exports = exports['default'];
      require.resolve('babel-plugin-add-module-exports'),
      // class { handleClick = () => { } }
      require.resolve('babel-plugin-transform-class-properties'),
      // { ...todo, completed: true }
      require.resolve('babel-plugin-transform-object-rest-spread'),
      // function* () { yield 42; yield 43; }
      [require.resolve('babel-plugin-transform-regenerator'), {
        // Async functions are converted to generators by babel-preset-latest
        async: false
      }],
      // Polyfills the runtime needed for async/await and generators
      [require.resolve('babel-plugin-transform-runtime'), {
        helpers: false,
        polyfill: false,
        regenerator: true,
        // Resolve the Babel runtime relative to the config.
        // You can safely remove this after ejecting:
        moduleName: path.dirname(require.resolve('babel-runtime/package'))
      }],
      // Optimization: hoist JSX that never changes out of render()
      // Disabled because of issues:
      // * https://github.com/facebookincubator/create-react-app/issues/525
      // * https://phabricator.babeljs.io/search/query/pCNlnC2xzwzx/
      // TODO: Enable again when these issues are resolved.
      // require.resolve('babel-plugin-transform-react-constant-elements')
    ]
  };
  