gulpfile.js 2.16 KB
const gulp    = require('gulp');
const sass    = require('gulp-sass');
const concat  = require('gulp-concat');
const rename  = require('gulp-rename');
const uglify  = require('gulp-uglify-es').default;
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',
    dist     : 'dist/',
    distHTML : 'dist/views/'
};

gulp.task('uglify', function() {
    pump(
        [
            gulp.src(paths.srcJS),
            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(/\<!\-\- BUILD \-\-\>.*\<!\-\- \/BUILD \-\-\>/sgm, '<script src="wrapper-demo.min.js"></script>'),
        gulp.dest(paths.dist)
    ]);
    pump([
        gulp.src(paths.srcHTML),
        gulp.dest(paths.distHTML)
    ]);
})

gulp.task('sass', function() {
        return gulp.src('src/style/scss/**/*.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: 3000,
                host: '0.0.0.0'
            }
        )
    ]
});

gulp.task('watch', function() {
    gulp.watch(archivosJS, ['uglify']);
    gulp.watch('css/scss/*.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']);