var through = require("through2"); var rename = require("gulp-rename"); var chalk = require("chalk"); var newer = require("gulp-newer"); var babel = require("gulp-babel"); var watch = require("gulp-watch"); var gutil = require("gulp-util"); var gulp = require("gulp"); var path = require("path"); var scripts = "./packages/*/src/**/*.js"; var dest = "packages"; gulp.task("default", ["build"]); gulp.task("build", function () { return gulp.src(scripts) .pipe(rename(function (file) { file.dirname = file.dirname.replace(/^([^\\]+)\/src/, "$1/lib"); })) .pipe(newer(dest)) .pipe(through.obj(function (file, enc, callback) { gutil.log("Compiling", "'" + chalk.cyan(file.path) + "'..."); callback(null, file); })) .pipe(babel()) .on("error", function (err) { console.error(err.stack); }) .pipe(gulp.dest(dest)); }); gulp.task("watch", ["build"], function (callback) { watch(scripts, function () { gulp.start("build"); }); });