forked from bergie/create
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.coffee
114 lines (100 loc) · 2.89 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
module.exports = ->
banner = """/* Create.js <%= pkg.version %> - Inline editing toolkit
by Henri Bergius and contributors. Available under the MIT license.
See http://createjs.org for more information
*/"""
# Project configuration
@initConfig
pkg: @file.readJSON 'package.json'
# Install dependencies
'bower-install-simple':
deps:
options:
interactive: false
forceLatest: false
directory: 'bower_components'
# Build setup: concatenate source files
concat:
options:
stripBanners: true
banner: banner
full:
src: [
'src/*.js'
'src/**/*.js'
'locale/*.js'
]
dest: 'dist/create.js'
edit:
src: [
'src/jquery.Midgard.midgardEditable.js'
'src/jquery.Midgard.midgardStorage.js'
'src/collectionWidgets/*.js'
'src/editingWidgets/*.js'
]
dest: 'dist/create-editonly.js'
# JavaScript minification
uglify:
options:
banner: banner
report: 'min'
full:
files:
'dist/create.min.js': ['dist/create.js']
edit:
files:
'dist/create-editonly.min.js': ['dist/create-editonly.js']
# Coding standards verification
jshint:
all: ['src/*.js', 'src/**/*.js', 'locale/*.js']
# Unit tests
qunit:
all: ['test/*.html']
# Cross-browser testing
connect:
server:
options:
base: ''
port: 9999
'saucelabs-qunit':
all:
options:
urls: ['http://127.0.0.1:9999/test/index.html']
browsers: [
browserName: 'chrome'
,
browserName: 'safari'
platform: 'OS X 10.9'
version: '7'
,
browserName: 'opera'
,
browserName: 'internet explorer'
platform: 'Windows 8.1',
version: '11'
,
browserName: 'firefox'
platform: 'Windows 7',
version: '33'
]
build: process.env.TRAVIS_JOB_ID
testname: 'Create.js cross-browser tests'
tunnelTimeout: 5
concurrency: 1
detailedError: true
# Dependency installation
@loadNpmTasks 'grunt-bower-install-simple'
# Build dependencies
@loadNpmTasks 'grunt-contrib-concat'
@loadNpmTasks 'grunt-contrib-uglify'
# Testing dependencies
@loadNpmTasks 'grunt-contrib-jshint'
@loadNpmTasks 'grunt-contrib-qunit'
# Cross-browser testing
@loadNpmTasks 'grunt-contrib-connect'
@loadNpmTasks 'grunt-saucelabs'
# Local tasks
@registerTask 'build', ['bower-install-simple', 'concat:full', 'uglify:full']
@registerTask 'editonly', ['concat:edit', 'uglify:edit']
@registerTask 'test', ['jshint', 'build', 'qunit']
@registerTask 'crossbrowser', ['test', 'connect', 'saucelabs-qunit']