-
Notifications
You must be signed in to change notification settings - Fork 7
/
Gruntfile.coffee
85 lines (68 loc) · 2.24 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
83
84
module.exports = (grunt) ->
# Project configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
coffee:
options:
join: true
build:
files:
'src/tmp/html-string.js': [
'src/namespace.coffee'
'src/strings.coffee'
'src/tags.coffee'
'src/characters.coffee'
]
spec:
files:
'spec/spec-helper.js': 'src/spec/spec-helper.coffee'
'spec/html-string-spec.js': 'src/spec/html-string-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/html-string.js'
dest: 'build/html-string.min.js'
concat:
build:
src: [
'external/fsm.js'
'src/tmp/html-string.js'
]
dest: 'build/html-string.js'
clean:
build: ['src/tmp']
jasmine:
build:
src: ['build/html-string.js']
options:
specs: 'spec/html-string-spec.js'
helpers: 'spec/spec-helper.js'
watch:
build:
files: ['src/*.coffee']
tasks: ['build']
spec:
files: ['src/spec/*.coffee']
tasks: ['spec']
})
# Plug-ins
grunt.loadNpmTasks 'grunt-contrib-clean'
grunt.loadNpmTasks 'grunt-contrib-coffee'
grunt.loadNpmTasks 'grunt-contrib-concat'
grunt.loadNpmTasks 'grunt-contrib-jasmine'
grunt.loadNpmTasks 'grunt-contrib-uglify'
grunt.loadNpmTasks 'grunt-contrib-watch'
# Tasks
grunt.registerTask 'build', [
'coffee:build'
'concat:build'
'uglify:build'
'clean:build'
]
grunt.registerTask 'spec', [
'coffee:spec'
]
grunt.registerTask 'watch-build', ['watch:build']
grunt.registerTask 'watch-spec', ['watch:spec']