Last active
December 13, 2016 21:51
-
-
Save stevenquiroa/2ebf4e1b86d482fbb6612b6e4d052a78 to your computer and use it in GitHub Desktop.
gulpfile.js v2
This file contains 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
// Gulp file for eu_musicales | |
// Compiles SASS, Concatenates and minifies vendors, and serves templates system for html css development | |
// "author": "Javier Castillo <javier@royalestudios.com>", | |
var gulp = require('gulp'); | |
var sass = require('gulp-sass'); | |
var concat = require('gulp-concat'); | |
var minify = require('gulp-minify-css'); | |
var sourcemaps = require('gulp-sourcemaps'); | |
var uglify = require('gulp-uglify'); | |
var jshint = require('gulp-jshint'); | |
var clone = require('gulp-clone'); | |
var prettify = require('gulp-prettify'); // for html ./dist markup | |
var rename = require('gulp-rename'); | |
var browserSync = require('browser-sync').create(); | |
var reload = browserSync.reload; | |
var fileinclude = require('gulp-file-include'); | |
const notificator = require('gulp-jshint-notify-reporter'); | |
var es = require('event-stream'); | |
const paths = { | |
'scripts': ['assets/scripts/*.js'], | |
'styles': ['assets/styles/*.scss'], | |
'dist' : './dist' | |
}; | |
//compila los vendors js en un solo archivo | |
gulp.task('vendors-js', function() { | |
return gulp.src([ | |
// Include all the js vendor libraries | |
]) | |
.pipe(concat('vendor.js')) | |
.pipe(gulp.dest( paths.dist + '/scripts' )) | |
}); | |
//compila los vendors css en un solo archivo | |
gulp.task('vendors-css', function() { | |
return gulp.src([ | |
// Include all the css external libraries | |
//'./bower_components/material-design-lite/material.min.css' | |
]) | |
.pipe(concat('vendor.css')) | |
.pipe(minify()) | |
.pipe(gulp.dest( paths.dist + '/styles' )) | |
}); | |
//compila los vendors en un solo archivo (css y js) | |
gulp.task('vendors', ['vendors-css', 'vendors-js']); | |
var scripts = function (event) { | |
console.log('scripts: silence is golden'); | |
//var type = event.type; | |
var gulpath = event.path || paths.scripts; | |
var stream = gulp.src( gulpath ) | |
.pipe( jshint() ) | |
.pipe( jshint.reporter('default') ) | |
.pipe( notificator() ); | |
var uglified = stream.pipe(clone()) | |
.pipe(uglify().on('error', function(err){ | |
console.log('error fatal: ', err.fileName, 'line: ', err.lineNumber); | |
})) | |
.pipe(rename(function (file) { | |
file.basename = file.basename + '.min' | |
})); | |
return es.merge(stream, uglified) | |
.pipe( gulp.dest( paths.dist + '/scripts' ) ); | |
} | |
gulp.task('scripts', scripts); | |
var styles = function(event) { | |
console.log('styles: silence is golden'); | |
var gulpath = event.path || paths.styles; | |
var stream = gulp.src(gulpath) | |
.pipe(sass.sync().on('error', sass.logError)) | |
var minified = stream.pipe(clone()) | |
.pipe(sourcemaps.init()) | |
.pipe(minify()) | |
.pipe(sourcemaps.write()) | |
.pipe(rename(function (file) { | |
file.basename = file.basename + '.min' | |
})); | |
return es.merge(stream, minified).pipe(gulp.dest(paths.dist + '/styles')); | |
} | |
gulp.task('styles', styles); | |
gulp.task('serve', ['sass', 'scripts'], function() { | |
// browserSync.init({ | |
// server: "./dist" | |
// }); | |
gulp.watch('./assets/styles/*.scss', ['sass']); | |
gulp.watch('./assets/scripts/*.js', ['scripts']); | |
}); | |
gulp.task('watch', function(){ | |
gulp.watch( paths.scripts ).on('change', scripts); | |
gulp.watch( paths.styles ).on('change', styles); | |
}); | |
gulp.task('default', ['watch']); | |
gulp.task('build', ['vendors', 'scripts', 'styles']); |
This file contains 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
{ | |
"name": "musicales", | |
"version": "1.0.0", | |
"description": "Frontend Framework for musicales website", | |
"main": "gulpfile.js", | |
"dependencies": { | |
}, | |
"devDependencies": { | |
"browser-sync": "^2.13.0", | |
"gulp": "^3.9.1", | |
"gulp-clean-css": "^2.0.10", | |
"gulp-clone": "^1.0.0", | |
"gulp-concat": "^2.6.0", | |
"gulp-file-include": "^1.0.0", | |
"gulp-htmllint": "0.0.11", | |
"gulp-jshint": "^2.0.1", | |
"gulp-minify-css": "^1.2.4", | |
"gulp-rename": "^1.2.2", | |
"gulp-sass": "^3.0.0", | |
"gulp-uglify": "^2.0.0", | |
"jshint": "^2.9.2", | |
"event-stream": "^3.3.4", | |
"gulp-jshint-notify-reporter": "^1.0.2", | |
"gulp-prettify": "^0.5.0", | |
"gulp-sourcemaps": "^1.6.0" | |
}, | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"author": "Steven Quiroa <stevenkm92@gmail.com>, Yeisson Chicas <jason@royalestudios.com>, Javier Castillo <javier@royalestudios.com>", | |
"license": "MIT" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment