-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGruntfile.coffee
108 lines (92 loc) · 1.9 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#jshint node:true
module.exports = (grunt) ->
"use strict"
grunt.initConfig
pkg: grunt.file.readJSON("package.json")
jade: {
dev: {
options: {
pretty: true
},
files: {
'example/index.html': 'src/example/index.jade'
}
},
}
cjsx: {
compile: {
files: {
'dist/dateGridTool.js': 'src/dateGridTool.cjsx'
}
}
},
clean:
dist: "dist/*"
example: "example/dist/*"
copy:
build:
files: [
expand: true
cwd: "src/"
src: "*.css"
dest: "dist/"
filter: "isFile"
]
example:
files: [
{
expand: true
cwd: "dist/"
src: "**/*"
dest: "example/dist/"
filter: "isFile"
}
{
expand: true
cwd: "bower_components/"
src: "**/*"
dest: "example/lib/"
filter: "isFile"
}
]
watch:
livereload:
options:
livereload: true
files: [
"src/**/*.{cjsx,jade,css}"
]
tasks: [
"build"
]
connect: {
example: {
options: {
port: 9000,
base: ['example'],
livereload: true,
open: 'http://localhost:9000/index.html'
}
}
}
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks)
# Register tasks
grunt.registerTask "serve", [
"clean"
"build"
"connect"
"watch"
]
grunt.registerTask "server", ["serve"]
grunt.registerTask "build", [
"clean"
"jade"
"cjsx"
"copy:build"
"copy:example"
]
grunt.registerTask "default", [
"clean"
"build"
]
return