forked from awkward/backbone.modal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.coffee
82 lines (71 loc) · 2.55 KB
/
Gruntfile.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
module.exports = (grunt) ->
fs = require('fs')
grunt.initConfig
pkg: grunt.file.readJSON('package.json')
open:
default:
url: 'http://localhost:8000'
connect:
default:
options:
base: './'
uglify:
options:
sourceMap: false
modal:
src: 'backbone.modal.js'
dest: 'backbone.modal-min.js'
modals:
src: 'backbone.marionette.modals.js'
dest: 'backbone.marionette.modals-min.js'
bundled:
src: 'backbone.modal-bundled.js'
dest: 'backbone.modal-bundled-min.js'
jasmine:
all:
src: ['backbone.modal.js', 'backbone.marionette.modals.js']
options:
specs: 'test/spec/**/*.js'
outfile: 'test/spec.html'
vendor: ['http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js', 'http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js', 'http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js', 'http://cdnjs.cloudflare.com/ajax/libs/backbone.marionette/2.2.1/backbone.marionette.js', 'http://localhost:35729/livereload.js']
coffee:
all:
files:
'backbone.modal.js': 'src/backbone.modal.coffee'
'backbone.marionette.modals.js': 'src/backbone.marionette.modals.coffee'
'backbone.modal-bundled.js': ['src/backbone.modal.coffee', 'src/backbone.marionette.modals.coffee']
specs:
files:
grunt.file.expandMapping(['test/src/**/*.coffee'], 'test/spec/',
rename: (destBase, destPath) ->
return destBase + destPath.slice(9, destPath.length).replace(/\.coffee$/, '.js')
)
sass:
options:
sourcemap: 'none'
compile:
files:
'backbone.modal.css': 'src/backbone.modal.sass'
'backbone.modal.theme.css': 'src/backbone.modal.theme.sass'
concurrent:
compile: ['coffee', 'sass']
watch:
examples:
files: ['examples/**/*']
options:
livereload: true
sass:
files: ['src/**/*.sass']
tasks: ['sass']
options:
livereload: true
coffee:
files: ['src/**/*.coffee', 'test/src/**/*.coffee']
tasks: ['uglify', 'coffee']
options:
livereload: true
# Auto include Grunt tasks
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks)
grunt.registerTask 'build', ['concurrent', 'uglify', 'jasmine:all:build']
grunt.registerTask 'default', ['connect', 'build', 'open', 'watch']
grunt.registerTask 'test', ['jasmine']