Last active
June 12, 2018 16:52
-
-
Save franciscohanna92/781c906e436be58757436c0b00c6fe11 to your computer and use it in GitHub Desktop.
Uglify js, preprocess scss and watchers
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 gulp = require('gulp'); | |
var gutil = require('gulp-util'); | |
const concat = require('gulp-concat'); | |
const uglify = require('gulp-uglify-es').default; | |
const rename = require('gulp-rename'); | |
var sass = require('gulp-sass'); | |
let cleanCss = require('gulp-clean-css'); | |
var sourcemaps = require('gulp-sourcemaps'); | |
const vendorJs = [ | |
// vendor js files | |
] | |
const appJs = [ | |
// src js | |
] | |
// Tasks | |
gulp.task('uglify-app-js', () => { | |
return gulp | |
.src(appJs) | |
.pipe(sourcemaps.init()) | |
.pipe(concat('bundle.min.js')) | |
.pipe(uglify()) | |
.pipe(sourcemaps.write('./maps')) | |
.pipe(gulp.dest('./dist')); | |
}); | |
gulp.task('uglify-vendor-js', () => { | |
gulp | |
.src(vendorJs) | |
.pipe(concat('vendor.min.js')) | |
.pipe(gulp.dest('./dist')) | |
.pipe(uglify()) | |
.pipe(gulp.dest('./dist')) | |
}); | |
gulp.task('process-scss', () => { | |
gulp.src('./src/scss/main.scss') | |
.pipe(sass().on('error', sass.logError)) | |
.pipe(cleanCss()) | |
.pipe(rename('main.min.css')) | |
.pipe(gulp.dest('./dist')) | |
}); | |
gulp.task('copy-assets', () => { | |
gulp | |
.src('./src/assets/**/*') | |
.pipe(gulp.dest('./dist/assets')); | |
}); | |
// Watchers | |
gulp.task('watch-app-js', function () { | |
gulp | |
.watch(appJs, ['uglify-app-js']); | |
}); | |
gulp.task('watch-scss', function () { | |
gulp | |
.watch('./src/scss/**/*.scss', ['process-scss']); | |
}); | |
gulp.task('watch-assets', function () { | |
gulp | |
.watch('./src/assets/**/*', ['copy-assets']); | |
}); | |
gulp.task('build', ['uglify-app-js', 'uglify-vendor-js', 'copy-assets', 'process-scss']); | |
gulp.task('watch', ['build', 'watch-app-js', 'watch-scss', 'watch-assets']); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment