function watch() {
  gulp.watch(paths.packages.watch, mvLernaPackages);
  gulp.watch(paths.styles.watch, styles);

  gulp.watch([
    paths.src,
    `${paths.scripts.src}`,
    `${paths.scripts.src}`,
    `${paths.styles.src}`,
  ], mvSrc);

  gulp.watch(paths.scripts.watch, scripts);
  gulp.watch(paths.tsScripts.watch, typescript);
}
/*.ts`,
    ], { since: gulp.lastRun(mvSrc) },
  )
    .pipe(gulp.dest(paths.dest));
}

export function mvPackageJson() {
  return gulp.src(
    [
      './package.json',
    ],
  )
    .pipe(gulp.dest(paths.dest));
}

export function mvLernaPackages() {
  return gulp.src(
    [
      'packages/**',
    ],
  )
    .pipe(gulp.dest(`${paths.dest}/packages`));
}

export function html() {
  return gulp.src(paths.html.src, { since: gulp.lastRun(html) })
    .pipe(gulp.dest(paths.html.dest));
}

export function styles() {
  return gulp.src(paths.styles.src)
    .pipe(sassVariables(Object.assign({
      $env: process.env.NODE_ENV === 'development' ? 'development' : 'production',
    }, ...styleConfig)))
    .pipe(sass({
      includePaths: [
        './node_modules',
        '../node_modules',
      ],
    }).on('error', sass.logError))
    .pipe(gulp.dest(paths.styles.dest));
}

export function typescript() {
  return gulp.src(paths.tsScripts.src, { since: gulp.lastRun(typescript) })
    .pipe(tsProject())
    .pipe(gulp.dest(paths.tsScripts.dest));
}

export function scripts() {
  return gulp.src(paths.scripts.src, { since: gulp.lastRun(scripts) })
    .pipe(babel({
      comments: false,
    }))
    .pipe(gulp.dest(paths.scripts.dest));
}

export function minify() {
  return gulp.src(`${paths.dest}/*