gulpfile.js 1.55 KB
const templateCache = require('gulp-angular-templatecache');
const concat        = require('gulp-concat');
const clean         = require('gulp-clean');
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');

var paths = {
    srcJS: 'src/js/*.js',
    srcViews: 'src/views/*.html',
    tmp:   'tmp',
    dist:  'dist/'
};

gulp.task('templates', function() {
    return pump(
        [
            gulp.src(paths.srcViews),
            htmlmin(),
            templateCache('views.js', {
                module: 'focaAbmPreciosCondiciones',
                root: ''
            }),
            gulp.dest(paths.tmp)
        ]
    );
});

gulp.task('uglify', ['templates'], function() {
    return pump(
        [
            gulp.src([
                paths.srcJS,
                'tmp/views.js'
            ]),
            concat('foca-abm-precios-condiciones.js'),
            gulp.dest(paths.tmp),
            rename('foca-abm-precios-condiciones.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')
        ]
    );
});