This repository has been archived by the owner on Dec 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Gruntfile.js
127 lines (124 loc) · 4.01 KB
/
Gruntfile.js
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
module.exports = function (grunt) {
var fileSet = [
'src/**/*.js',
'plugin/Boilerplate.js'
];
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
files: {
src: fileSet
},
requirejs: {
mnty: {
options: {
baseUrl: 'src',
name: 'AutoLoader',git
out: 'dist/mnty.js',
optimize: 'uglify2',
preserveLicenseComments: true,
paths: {
requireLib: '../vendor/requirejs/require',
jquery: '../vendor/jquery/dist/jquery',
log4js: '../vendor/log4javascript/log4javascript_uncompressed',
BaseClass: '../lib/Base',
MutationObserver: '../lib/MutationObserver',
WeakMap: '../lib/WeakMap'
},
include: [
'requireLib',
'Window',
'Plugin'
]
}
},
mntydev: {
options: {
baseUrl: 'src',
name: 'AutoLoader',
out: 'dist/mnty.dev.js',
optimize: 'uglify2',
generateSourceMaps: true,
preserveLicenseComments: false,
paths: {
requireLib: '../vendor/requirejs/require',
jquery: '../vendor/jquery/dist/jquery',
log4js: '../vendor/log4javascript/log4javascript_uncompressed',
BaseClass: '../lib/Base',
MutationObserver: '../lib/MutationObserver',
WeakMap: '../lib/WeakMap'
},
include: [
'requireLib',
'Window',
'Plugin'
]
}
}
},
jsdoc: {
dist: {
src: fileSet,
options: {
destination: 'doc'
}
}
},
watch: {
js: {
files: fileSet,
tasks: [
'newer:jshint:cli',
'newer:jscs:cli'
]
}
},
// Task configuration
jshint: {
cli: {
files: [
'<%= files %>'
]
},
ci: {
files: [
'<%= jshint.cli.files %>'
],
options: {
reporter: require('jshint-jenkins-checkstyle-reporter'),
reporterOutput: 'log/checkstyle-jshint.xml'
}
}
},
jscs: {
cli: {
files: {
src: [
'<%= files.src %>'
]
},
options: {
config: 'node_modules/bitexpert-cs-jscs/config/config.json'
}
},
ci: {
files: [
'<%= jscs.cli.files %>'
],
options: {
reporter: 'checkstyle',
reporterOutput: 'log/checkstyle-jscs.xml',
config: '<%= jscsconf %>'
}
}
}
});
// Load grunt tasks automatically
require('load-grunt-tasks')(grunt);
// Define the available tasks
grunt.registerTask('default', ['jscs:cli']);
grunt.registerTask('sniff', ['jscs:cli']);
grunt.registerTask('lint', ['jshint:cli']);
grunt.registerTask('docs', ['jsdoc']);
grunt.registerTask('ci:build', ['jscs:ci', 'jshint:ci', 'requirejs', 'docs']);
grunt.registerTask('build', ['sniff', 'lint', 'requirejs:mnty', 'requirejs:mntydev', 'docs'])
};