-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathGruntfile.coffee
128 lines (111 loc) · 2.63 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
path = require('path')
cordovaServer = require('./lib/cordova_server')
config = (grunt) ->
connect:
options:
hostname: '0.0.0.0'
ios:
options:
port: 7000
middleware: cordovaServer.iOS
android:
options:
port: 6000
middleware: cordovaServer.android
web:
options:
keepalive: true
middleware: cordovaServer.web
port: 5000
clean:
default:
options:
"no-write": true
src: ["!www/config.xml", "!www/js/spec/index.html", "!www/js/spec/lib/*.js", "www/*"]
copy:
img:
files: [
expand: true
cwd: 'assets/img/'
src: ['**/*']
dest: 'www/img/'
]
js:
files: [
expand: true
cwd: 'assets/javascripts/'
src: ['**/*.js']
dest: 'www/js/'
]
less:
compile:
options:
paths: ['assets/stylesheets']
files:
'www/css/main.css': 'assets/stylesheets/main.less'
cssmin:
compress:
files:
'www/css/main.css': ['www/css/main.css']
options:
keepSpecialComments: 0
requirejs:
cordova:
options:
mainConfigFile: 'www/js/app/require_config.js'
out: 'www/js/cordova.js'
optimize: 'uglify2'
wrap: false
almond: true
preserveLicenseComments: false
htmlbuild:
dist:
src: ['assets/public/index.html', 'assets/public/cordova.html']
dest: 'www/'
options:
beautify: true
mocha_phantomjs:
options:
reporter: 'dot'
nerds: ['www/js/spec/index.html']
watch:
js:
files: ['assets/javascripts/**/*']
tasks: ['copy:js']
less:
files: ['assets/stylesheets/**/*.less']
tasks: ['less']
options:
spawn: true
img:
files: ['assets/img/**/*']
tasks: ['copy:img']
htmlbuild:
files: ['assets/public/**/*.html']
tasks: ['htmlbuild']
module.exports = (grunt) ->
grunt.initConfig(config(grunt))
grunt.loadNpmTasks('grunt-requirejs')
grunt.loadNpmTasks('grunt-contrib-clean')
grunt.loadNpmTasks('grunt-contrib-copy')
grunt.loadNpmTasks('grunt-contrib-less')
grunt.loadNpmTasks('grunt-contrib-watch')
grunt.loadNpmTasks('grunt-contrib-cssmin')
grunt.loadNpmTasks('grunt-contrib-connect')
grunt.loadNpmTasks('grunt-mocha-phantomjs')
grunt.loadNpmTasks('grunt-html-build')
grunt.registerTask('default', ['build'])
grunt.registerTask('build', [
'copy'
'requirejs'
'less'
'cssmin'
'htmlbuild'
])
grunt.registerTask('server', [
'copy:js'
'connect:web'
])
grunt.registerTask('test', [
'mocha_phantomjs'
])