-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathgulpfile.coffee
37 lines (29 loc) · 1012 Bytes
/
gulpfile.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
config = require('./config').config
gulp = require 'gulp'
uglify = require 'gulp-uglify'
imagemin = require 'gulp-imagemin'
nodemon = require 'gulp-nodemon'
exec = require 'gulp-exec'
coffee = require 'gulp-coffee'
paths =
coffeescripts: ['assets/coffeescripts/**/*.coffee', '!assets/vendor/**/*.js']
images: 'assets/images/**/*.{png,jpg,jpeg,gif}'
gulp.task 'scripts', ->
return gulp.src(paths.coffeescripts)
.pipe(coffee())
.pipe(uglify())
.pipe(gulp.dest('tmp/javascripts'));
gulp.task 'images', ->
return gulp.src(paths.images)
# Pass in options to the task
.pipe imagemin({optimizationLevel: 5})
.pipe gulp.dest('tmp/images')
gulp.task 'watch', ->
gulp.watch paths.coffeescripts, ['scripts']
gulp.watch paths.images, ['images']
gulp.task 'server', ->
gulp.src('')
.pipe(exec('supervisor app.coffee'))
gulp.task 'production', ->
exec('pm2 start app.coffee --name #{config.appname} & coffee check.coffee')
gulp.task 'default', ['scripts', 'watch', 'server']