title: babel ES7 Async - regeneratorRuntime is not defined
body: <p>I'm using browserify + gulp + babel in my project, and having problem with ES7 features. These are what I installed:</p>
  
  <ul>
  <li>babel-plugin-transform-async-to-generator@6.8.0</li>
  <li>babel-plugin-transform-decorators-legacy@1.3.4  // for use decorators</li>
  <li>babel-polyfill@6.9.1</li>
  <li>babel-preset-es2015@6.9.0</li>
  <li>babel-preset-es2016@6.11.0</li>
  <li>babel-preset-stage-0@6.5.0</li>
  <li>babelify@7.3.0</li>
  <li>browserify@13.0.1</li>
  <li>gulp</li>
  <li>gulp-sourcemaps</li>
  <li>vinyl-buffer</li>
  <li>vinyl-source-stream</li>
  </ul>
  
  <p>and this is my gulp code:</p>
  
  <pre><code>gulp.task('build', () =&gt; {
      let buildPath;
      let destPath;
  
      buildPath = `./src`;
      destPath = `./dist`;
  
      return browserify(`${buildPath}/app.js`)
      .transform(babelify, { 
          presets: ["es2015", "es2016", "stage-0"],
          plugins: ["transform-decorators-legacy", "transform-async-to-generator"]
      })
      .bundle()
      .pipe(source('app.js'))
      .pipe(buffer())
      .pipe(sourcemaps.init({loadMaps: true}))
      .pipe(sourcemaps.write('./'))
      .pipe(gulp.dest(`${destPath}`));
  });
  </code></pre>
  
  <p>and this is my js code:</p>
  
  <pre><code>import 'babel-polyfill';
  
  // Async Functions
  function wait(t) {
      return new Promise((r) =&gt; setTimeout(r, t));
  }
  
  async function asyncMania() {
      console.log('1');
      await wait(1000);
      console.log('2');
  }
  
  asyncMania().then(() =&gt; console.log('3'));
  </code></pre>
  
  <p>When I try this, gets an error:</p>
  
  <blockquote>
    <p>Uncaught ReferenceError: regeneratorRuntime is not defined</p>
  </blockquote>
  
  <p>Using <strong>require</strong> instead of <strong>import</strong> doesn't work either. Most of questions are using Webpack, not browserify and other approaches were not worked on me, so it will be very appreciate tell me how should I do.</p>
  
  <p>And I have one more question, as you can see, I installed babel-preset-es2015 and babel-preset-es2016 both, and both are using. If I remove <strong>es2015</strong> plugin, can I still use ES6 features? And also I included <strong>babel-preset-stage-0</strong>, and as I know this is for experimental ES7 features. What actually <strong>babel-preset-es2016</strong> got?</p>