var gulp = require('gulp'); var bower = require('gulp-bower'); var help = require('gulp-task-listing'); var clean = require('gulp-clean'); var sass = require('gulp-sass'); var yaml = require('gulp-yaml'); var webserver = require('gulp-webserver'); gulp.task('help', help); gulp.task('bower', function(){ return bower() .pipe(gulp.dest('lib/')) .on('error', console.log); }); gulp.task('sass', ['bower'], function(){ var extraSassPath = ['./lib/']; return gulp.src('./scss/*.scss') .pipe(sass({includePaths: extraSassPath}).on('error', console.log)) .pipe(gulp.dest('./css')); }); gulp.task('clean', function(){ return gulp.src(["lib/", "css/"], {read: false}) .pipe(clean()); }); gulp.task('compile-results', function(){ return gulp.src('data/*.yaml') .pipe(yaml({safe: true})) .pipe(gulp.dest('./api')); }); gulp.task('default', ['bower', 'sass', 'compile-results']); gulp.task('webserver', function(){ return gulp.src('.') .pipe(webserver({ livereload: false, directoryListing: false, })); }); gulp.task('dev', ['default', 'webserver'], function(){ gulp.watch('./scss/*.scss', ['sass']); return gulp.watch('./data/*.yaml', ['compile-results']); });