forked from micaelbergeron/gallerygrid
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Gruntfile.coffee
81 lines (68 loc) · 1.83 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
module.exports = (grunt) ->
require('load-grunt-tasks')(grunt)
grunt.initConfig
pkg: grunt.file.readJSON 'package.json'
#### Compiling (CoffeeScript, JS, Jade and LESS)
coffee:
dev:
files:
'dist/js/gallerygrid.js': ['src/**/*.coffee']
uglify:
options:
mangle: no
beautify: yes
compress: no
lib:
files:
'dist/js/lib.js': ['<%= pkg.build.js %>']
less:
dev:
expand: true,
cwd: 'src/less'
src: ['**/*.less']
dest: 'dist/css/'
ext: '.css'
lib:
files:
'dist/css/lib.css': ['<%= pkg.build.css %>']
jade:
options:
pretty: yes
dev:
files:
'dist/index.html': ['test/**/*.jade']
#### Linting
coffeelint:
dev: [
'Gruntfile.coffee'
'src/**/*.coffee'
]
options:
no_unnecessary_double_quotes:
level: 'warn' # single-quotes only unless necessary
max_line_length:
level: 'ignore' # nope, totes don't care
#### Connect
connect:
dev:
options:
port: 9001
livereload: yes
base: 'dist'
open:
target: 'http://127.0.0.1:<%= connect.dev.options.port %>'
copy:
lib:
files: [
{expand: yes, cwd: 'bower_components/font-awesome/fonts/', src: '*', dest: 'dist/fonts'}
]
#### Misc (automated testing using watch)
watch:
autoreload:
files: ['src/**/*', 'package.json']
tasks: ['build']
options:
livereload: yes
grunt.registerTask 'build-lib', ['uglify:lib', 'less:lib', 'copy:lib']
grunt.registerTask 'build', ['coffeelint:dev', 'coffee:dev', 'less:dev', 'jade:dev']
grunt.registerTask 'dev', ['build-lib', 'build', 'connect:dev', 'watch']