Skip to content

Instantly share code, notes, and snippets.

@JCervantesB
Created March 15, 2022 15:31
Show Gist options
  • Save JCervantesB/1511e29715dba36bdcec4fc8565524b0 to your computer and use it in GitHub Desktop.
Save JCervantesB/1511e29715dba36bdcec4fc8565524b0 to your computer and use it in GitHub Desktop.
FestivalMusica
const { src, dest, watch, parallel } = require('gulp');
// CSS
const sass = require('gulp-sass')(require('sass'));
const plumber = require('gulp-plumber');
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
const postcss = require('gulp-postcss');
const sourcemaps = require('gulp-sourcemaps');
// Imagenes
const cache = require('gulp-cache');
const imagemin = require('gulp-imagemin');
const webp = require('gulp-webp');
const avif = require('gulp-avif');
// Javascript
const terser = require('gulp-terser-js');
function css( done ) {
src('src/scss/**/*.scss') // Identificar el archivo .SCSS a compilar
.pipe(sourcemaps.init())
.pipe( plumber())
.pipe( sass() ) // Compilarlo
.pipe( postcss([ autoprefixer(), cssnano() ]) )
.pipe(sourcemaps.write('.'))
.pipe( dest('build/css') ) // Almacenarla en el disco duro
done();
}
function imagenes(done) {
const opciones = {
optimizationLevel: 3
}
src('src/img/**/*.{png,jpg}')
.pipe( cache( imagemin(opciones) ) )
.pipe( dest('build/img') )
done();
}
function versionWebp( done ) {
const opciones = {
quality: 50
};
src('src/img/**/*.{png,jpg}')
.pipe( webp(opciones) )
.pipe( dest('build/img') )
done();
}
function versionAvif( done ) {
const opciones = {
quality: 50
};
src('src/img/**/*.{png,jpg}')
.pipe( avif(opciones) )
.pipe( dest('build/img') )
done();
}
function javascript( done ) {
src('src/js/**/*.js')
.pipe(sourcemaps.init())
.pipe( terser() )
.pipe(sourcemaps.write('.'))
.pipe(dest('build/js'));
done();
}
function dev( done ) {
watch('src/scss/**/*.scss', css);
watch('src/js/**/*.js', javascript);
done();
}
function tarea (done) {
console.log('Desde la primera tarea');
done();
}
exports.tarea = tarea;
exports.css = css;
exports.js = javascript;
exports.imagenes = imagenes;
exports.versionWebp = versionWebp;
exports.versionAvif = versionAvif;
exports.dev = parallel( imagenes, versionWebp, versionAvif, javascript, dev) ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment