Last active
November 24, 2022 19:42
-
-
Save kevinacuna1/266d0dcd752a658185b5d9ebf293c0ea to your computer and use it in GitHub Desktop.
Gulp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const { src, dest, watch , parallel } = require('gulp'); | |
| const sass = require('gulp-sass'); | |
| const autoprefixer = require('autoprefixer'); | |
| const postcss = require('gulp-postcss') | |
| const sourcemaps = require('gulp-sourcemaps') | |
| const cssnano = require('cssnano'); | |
| const concat = require('gulp-concat'); | |
| const terser = require('gulp-terser-js'); | |
| const rename = require('gulp-rename'); | |
| const imagemin = require('gulp-imagemin'); | |
| const notify = require('gulp-notify'); | |
| const cache = require('gulp-cache'); | |
| const webp = require('gulp-webp'); | |
| const paths = { | |
| scss: 'src/scss/**/*.scss', | |
| js: 'src/js/**/*.js', | |
| imagenes: 'src/img/**/*' | |
| } | |
| // css es una función que se puede llamar automaticamente | |
| function css() { | |
| return src(paths.scss) | |
| .pipe(sourcemaps.init()) | |
| .pipe(sass()) | |
| .pipe(postcss([autoprefixer(), cssnano()])) | |
| // .pipe(postcss([autoprefixer()])) | |
| .pipe(sourcemaps.write('.')) | |
| .pipe( dest('./build/css') ); | |
| } | |
| function javascript() { | |
| return src(paths.js) | |
| .pipe(sourcemaps.init()) | |
| .pipe(concat('bundle.js')) // final output file name | |
| .pipe(terser()) | |
| .pipe(sourcemaps.write('.')) | |
| .pipe(rename({ suffix: '.min' })) | |
| .pipe(dest('./build/js')) | |
| } | |
| function imagenes() { | |
| return src(paths.imagenes) | |
| .pipe(cache(imagemin({ optimizationLevel: 3}))) | |
| .pipe(dest('build/img')) | |
| .pipe(notify({ message: 'Imagen Completada'})); | |
| } | |
| function versionWebp() { | |
| return src(paths.imagenes) | |
| .pipe( webp() ) | |
| .pipe(dest('build/img')) | |
| .pipe(notify({ message: 'Imagen Completada'})); | |
| } | |
| function watchArchivos() { | |
| watch( paths.scss, css ); | |
| watch( paths.js, javascript ); | |
| watch( paths.imagenes, imagenes ); | |
| watch( paths.imagenes, versionWebp ); | |
| } | |
| exports.default = parallel(css, javascript, imagenes, versionWebp, watchArchivos ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment