-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathGruntfile.coffee
61 lines (48 loc) · 1.58 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
module.exports = (grunt) ->
# Project configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
coffee:
build:
files:
'build/fsm.js': 'src/fsm.coffee'
spec:
files:
'spec/spec-helper.js': 'src/spec/spec-helper.coffee'
'spec/fsm-spec.js': 'src/spec/fsm-spec.coffee'
uglify:
options:
banner: '/*! <%= pkg.name %> v<%= pkg.version %> by <%= pkg.author.name %> <<%= pkg.author.email %>> (<%= pkg.author.url %>) */\n'
mangle: false
build:
src: 'build/fsm.js'
dest: 'build/fsm.min.js'
jasmine:
build:
src: ['build/fsm.js']
options:
specs: 'spec/fsm-spec.js'
helpers: 'spec/spec-helper.js'
watch:
build:
files: ['src/fsm.coffee']
tasks: ['build']
spec:
files: ['src/spec/*.coffee']
tasks: ['spec']
})
# Plug-ins
grunt.loadNpmTasks 'grunt-contrib-coffee'
grunt.loadNpmTasks 'grunt-contrib-jasmine'
grunt.loadNpmTasks 'grunt-contrib-uglify'
grunt.loadNpmTasks 'grunt-contrib-watch'
# Tasks
grunt.registerTask 'build', [
'coffee:build'
'uglify:build'
]
grunt.registerTask 'spec', [
'coffee:spec'
]
grunt.registerTask 'watch-build', ['watch:build']
grunt.registerTask 'watch-spec', ['watch:spec']