const gulp = require('gulp'); const sass = require('gulp-sass'); const concat = require('gulp-concat'); const rename = require('gulp-rename'); const uglify = require('gulp-uglify'); const pump = require('pump'); const jshint = require('gulp-jshint'); const replace = require('gulp-replace'); const connect = require('gulp-connect'); const watch = require('gulp-watch'); var paths = { srcHTML : 'src/views/*.html', srcJS : 'src/js/*.js', confJS : 'src/etc/develop.js', dist : 'dist/', distHTML : 'dist/views/' }; gulp.task('uglify', function() { pump( [ gulp.src([paths.srcJS, paths.confJS]), concat('wrapper-demo.js'), replace('/src/', '/dist/'), gulp.dest(paths.dist), rename('wrapper-demo.min.js'), uglify(), gulp.dest(paths.dist) ] ); }); gulp.task('html', function() { pump([ gulp.src('index.html'), replace(/\.*\/sgm, ''), gulp.dest(paths.dist) ]); pump([ gulp.src(paths.srcHTML), gulp.dest(paths.distHTML) ]); }) gulp.task('sass', function() { return gulp.src('src/sass/*.scss') .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) .pipe(gulp.dest('css')); }); gulp.task('pre-commit', function() { pump( [ gulp.src(paths.srcJS), jshint('.jshintrc'), jshint.reporter('default'), jshint.reporter('fail') ] ); gulp.start('uglify'); gulp.start('sass'); }); gulp.task('webserver', function() { pump [ connect.server( { port: 8086, host: '0.0.0.0', livereload: true } ) ] }); gulp.task('watch', function() { gulp.watch([paths.srcJS], ['uglify']); gulp.watch('src/sass/*.scss', ['sass']); }) gulp.task('reload'), function() { connect.reload(); } gulp.task('livereload', function() { gulp.watch('css/*.css', ['reload']); gulp.watch('js/dist/*.js', ['reload']); gulp.watch('vistas/**/*.html', ['reload']); }); gulp.task('default', ['webserver', 'livereload', 'watch']);