const templateCache = require('gulp-angular-templatecache'); const concat = require('gulp-concat'); const htmlmin = require('gulp-htmlmin'); const rename = require('gulp-rename'); const uglify = require('gulp-uglify-es').default; const gulp = require('gulp'); const pump = require('pump'); const jshint = require('gulp-jshint'); const replace = require('gulp-replace'); const connect = require('gulp-connect'); const clean = require('gulp-clean'); var paths = { srcJS: 'src/js/*.js', srcViews: 'src/views/*.html', tmp: 'tmp', dist: 'dist/' }; gulp.task('templates', function() { return pump( [ gulp.src(paths.srcViews), replace('views/', ''), htmlmin(), templateCache('views.js', { module: 'focaEstadoCisterna', root: '' }), gulp.dest(paths.tmp) ] ); }); gulp.task('uglify', ['templates'], function() { return pump( [ gulp.src([ paths.srcJS, 'tmp/views.js' ]), concat('foca-estado-cisterna.js'), replace("['ngRoute', 'focaModal', 'ui.bootstrap', 'focaBotoneraLateral']", '[]'), replace("src/views/", ''), gulp.dest(paths.tmp), rename('foca-estado-cisterna.min.js'), uglify(), gulp.dest(paths.dist) ] ); }); gulp.task('clean', function() { return gulp.src(['tmp', 'dist'], {read: false}) .pipe(clean()); }); gulp.task('pre-commit', function() { pump( [ gulp.src(paths.srcJS), jshint('.jshintrc'), jshint.reporter('default'), jshint.reporter('fail') ] ); gulp.start('uglify'); }); gulp.task('clean-post-install', function() { return gulp.src(['src', 'tmp', '.jshintrc','readme.md', '.gitignore', 'gulpfile.js', 'index.html'], {read: false}) .pipe(clean()); }); gulp.task('compile', ['templates', 'uglify']); gulp.task('watch', function() { gulp.watch([paths.srcJS, paths.srcViews], ['uglify']); }); gulp.task('webserver', function() { pump [ connect.server({port: 3000}) ] }); gulp.task('default', ['webserver']);