You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
963 B
JavaScript
38 lines
963 B
JavaScript
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']); |