const gulp = require('gulp');
const gutil = require('gulp-util');

const webpack = require('webpack');
const webpackConf = require('../conf/webpack.conf');
const webpackDistConf = require('../conf/webpack-dist.conf');
const gulpConf = require('../conf/gulp.conf');
<% if (framework !== 'react') { -%>
const browsersync = require('browser-sync');
<% } -%>

gulp.task('webpack:dev', done => {
  webpackWrapper(false, webpackConf, done);
});

gulp.task('webpack:watch', done => {
  webpackWrapper(true, webpackConf, done);
});

gulp.task('webpack:dist', done => {
  webpackWrapper(false, webpackDistConf, done);
});

function webpackWrapper(watch, conf, done) {
  const webpackBundler = webpack(conf);

  const webpackChangeHandler = (err, stats) => {
    if (err) {
      gulpConf.errorHandler('Webpack')(err);
    }
    gutil.log(stats.toString({
      colors: true,
      chunks: false,
      hash: false,
      version: false
    }));
    if (done) {
      done();
      done = null;
<% if (framework !== 'react') { -%>
    } else {
      browsersync.reload();
    }
<% } else { -%>
    }
<% } -%>
  };

  if (watch) {
    webpackBundler.watch(200, webpackChangeHandler);
  } else {
    webpackBundler.run(webpackChangeHandler);
  }
}

@@ -258,16 +258,87 @@
 conf');%0A
+%3C%25 if (js === 'babel') %7B -%25%3E%0Aconst env = require('gulp-env');%0A%3C%25 %7D -%25%3E%0A
 %3C%25 if (f
@@ -361,24 +361,24 @@
 act') %7B -%25%3E%0A
-
 const browse
@@ -447,32 +447,63 @@
 dev', done =%3E %7B%0A
+  env.set(%7BBABEL_ENV: 'dev'%7D);%0A
   webpackWrapper
@@ -564,32 +564,63 @@
 tch', done =%3E %7B%0A
+  env.set(%7BBABEL_ENV: 'dev'%7D);%0A
   webpackWrapper
@@ -643,32 +643,32 @@
 nf, done);%0A%7D);%0A%0A
-
 gulp.task('webpa
@@ -687,16 +687,54 @@
 ne =%3E %7B%0A
+  env.set(%7BBABEL_ENV: 'production'%7D);%0A
   webpac

Set babel conf for webpack tree shaking