var gulp = require('gulp'); var gutil = require('gulp-util'); var babel = require('gulp-babel'); var pegjs = require('gulp-peg'); var cache = require('gulp-cached'); var remember = require('gulp-remember'); var plumber = require('gulp-plumber'); var sources = { babel: ["src/**/*.js"], pegjs: ["src/**/*.pegjs"] } gulp.task('babel', function() { return gulp.src(sources.babel) .pipe(plumber()) .pipe(cache("babel")) .pipe(babel({presets: ["es2015"]}).on('error', gutil.log)).on('data', gutil.log) .pipe(remember("babel")) .pipe(gulp.dest("lib/")); }); gulp.task('pegjs', function() { return gulp.src(sources.pegjs) .pipe(plumber()) .pipe(cache("pegjs")) .pipe(pegjs().on('error', gutil.log)).on('data', gutil.log) .pipe(remember("pegjs")) .pipe(gulp.dest("lib/")); }) gulp.task('watch', function () { gulp.watch(sources.babel, ['babel']); gulp.watch(sources.pegjs, ['pegjs']); }); gulp.task('default', ['pegjs', 'babel', 'watch']);