forked from slab/quill
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.coffee
125 lines (114 loc) · 3.98 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
module.exports = (grunt) ->
grunt.loadNpmTasks 'grunt-coffeeify'
grunt.loadNpmTasks 'grunt-contrib-clean'
grunt.loadNpmTasks 'grunt-contrib-coffee'
grunt.loadNpmTasks 'grunt-contrib-copy'
grunt.loadNpmTasks 'grunt-contrib-concat'
grunt.loadNpmTasks 'grunt-contrib-haml'
grunt.loadNpmTasks 'grunt-contrib-sass'
grunt.loadNpmTasks 'grunt-contrib-watch'
# Project configuration.
grunt.initConfig
meta:
version: '0.9.0'
clean: ['build']
coffee:
demo:
expand: true
dest: 'build/'
src: ['demo/scripts/*.coffee']
ext: '.js'
test:
files: [{
dest: 'build/tests/scripts/editor.js'
src: ['tests/scripts/test.coffee', 'tests/scripts/suite.coffee', 'tests/scripts/editor.coffee']
}, {
dest: 'build/tests/scripts/scribedriver.js'
src: 'tests/webdriver/lib/scribedriver.coffee'
}, {
dest: 'build/tests/scripts/unit.js'
src: ['tests/scripts/test.coffee', 'tests/scripts/suite.coffee', 'tests/scripts/unit/*.coffee', 'tests/scripts/unit/modules/*.coffee']
}]
coffeeify:
options:
extensions: ['.js', '.coffee']
requires: ['tandem-core']
scribe:
files: [{ dest: 'build/scribe.js', src: ['index.coffee'] }]
scribe_exposed:
files: [{ dest: 'build/scribe-exposed.js', src: ['tests/scripts/scribe-exposed.coffee'] }]
tandem_wrapper:
files: [{ dest: 'build/lib/tandem-core.js', src: ['tests/scripts/tandem.coffee'] }]
copy:
build:
expand: true
dest: 'build/'
src: ['src/ext/*.js', 'tests/lib/*.js', 'demo/scripts/dropkick.js', 'demo/images/*.png']
node_modules:
expand: true, flatten: true, cwd: 'node_modules/'
dest: 'build/lib/'
src: ['async/lib/async.js', 'expect.js/expect.js', 'mocha/mocha.css', 'mocha/mocha.js', 'underscore/underscore.js', 'underscore.string/lib/underscore.string.js']
lib:
expand: true, cwd: 'vendor/assets/javascripts/'
dest: 'build/lib/'
src: ['*.js']
concat:
options:
banner:
'/*! Stypi Editor - v<%= meta.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' +
' * https://www.stypi.com/\n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %>\n' +
' * Jason Chen, Salesforce.com\n' +
' */\n\n'
scribe_all:
files: [{
dest: 'build/scribe.all.js'
src: [
'node_modules/underscore/underscore.js'
'node_modules/underscore.string/lib/underscore.string.js'
'vendor/assets/javascripts/rangy-core.js'
'vendor/assets/javascripts/eventemitter2.js'
'vendor/assets/javascripts/linked_list.js'
'build/src/ext/header.js'
'build/scribe.js'
'build/src/ext/footer.js'
]
}]
haml:
demo:
expand: true
dest: 'build/'
src: ['demo/*.haml', '!demo/content.haml']
ext: ['.html']
tests:
expand: true
dest: 'build/'
src: ['tests/*.haml', 'tests/testem/*.haml', 'tests/webdriver/*.haml', '!tests/mocha.haml']
ext: ['.html']
sass:
demo:
expand: true
dest: 'build/'
src: ['demo/styles/*.sass']
ext: ['.css']
watch:
demo:
files: ['demo/scripts/*.coffee']
tasks: ['coffee:demo']
haml_demo:
files: ['demo/*.haml']
tasks: ['haml:demo']
haml_tests:
files: ['tests/*.haml', 'tests/testem/*.haml']
tasks: ['haml:tests']
sass:
files: ['demo/styles/*.sass']
tasks: ['sass:demo']
src:
files: ['src/**/*.coffee', 'node_modules/tandem-core/src/*']
tasks: ['coffeeify', 'concat', 'copy:build']
test:
files: ['tests/scripts/**/**/*.coffee']
tasks: ['coffee:test']
# Default task.
grunt.registerTask 'default', ['clean', 'coffee', 'copy', 'coffeeify', 'concat', 'haml', 'sass']