Skip to content

Instantly share code, notes, and snippets.

@todokr
Created July 7, 2015 13:53
Show Gist options
  • Save todokr/f66f1e468f138ff2e745 to your computer and use it in GitHub Desktop.
Save todokr/f66f1e468f138ff2e745 to your computer and use it in GitHub Desktop.
gulpfile (CoffeeScript)
gulp = require 'gulp'
sass = require 'gulp-sass'
uglify = require 'gulp-uglify'
minifyCss = require 'gulp-minify-css'
concat = require 'gulp-concat'
watch = require 'gulp-watch'
webserver = require 'gulp-webserver'
runSequence = require 'run-sequence'
gulp.task 'uglify', ->
compileFileName = 'application.js'
gulp.src 'assets/javascripts/*.js'
.pipe concat(compileFileName)
.pipe uglify()
.pipe gulp.dest('assets/javascripts/')
gulp.task 'compile-sass', ->
gulp.src 'assets/sass/*.scss'
.pipe sass()
.pipe gulp.dest('assets/stylesheets/')
gulp.task 'minify', ->
compileFileName = 'min.css'
gulp.src 'assets/stylesheets/*.css'
.pipe concat(compileFileName)
.pipe minifyCss()
.pipe gulp.dest('assets/stylesheets/')
gulp.task 'webserver', ->
gulp.src('./')
.pipe(webserver({
livereload: true
port: 3000
open: true
})
)
gulp.task 'build', ->
runSequence(
['compile-sass'],
['uglify', 'minify']
)
gulp.task 'watch', ->
gulp.watch ['assets/**/*', '*.html'], ['build']
gulp.task 'default', ->
runSequence(
['build'],
['webserver'],
['watch']
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment