forked from yoshuawuyts/piglet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
109 lines (95 loc) · 2.52 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
'use strict';
module.exports = function (grunt) {
grunt.initConfig({
// configurable paths
vars: {
apiPath: 'api{/, /**/, /**/**}*.js',
configPath: ['Gruntfile.js', 'grunt/**/*.js', 'config/*.js'],
stylesPath: 'assets/styles{/, /**/, /**/**/}*.styl',
jsAssetsPath: 'assets/js{/, /**/, /**/**/}*.js',
jsonPath: ['./*.json', '.jshintrc', '.jsbeautifyrc', 'tests/**/*.json'],
testsPath: 'tests{/, /**/, /**/**}*.js',
viewsPath: 'assets/views{/, /**/, /**/**/}*.jade',
tmpPath: '.tmp',
buildPath: 'build'
},
// load task configuration
autoprefixer: require('./grunt/autoprefixer'),
clean: require('./grunt/clean'),
concat: require('./grunt/concat'),
concurrent: require('./grunt/concurrent'),
connect: require('./grunt/connect'),
copy: require('./grunt/copy'),
csslint: require('./grunt/csslint'),
csso: require('./grunt/csso'),
jade: require('./grunt/jade'),
jsbeautifier: require('./grunt/jsbeautifier'),
jshint: require('./grunt/jshint'),
jsonlint: require('./grunt/jsonlint'),
karma: require('./grunt/karma'),
mochaTest: require('./grunt/mocha-test'),
'node-inspector': require('./grunt/node-inspector'),
nodemon: require('./grunt/nodemon'),
protractor: require('./grunt/protractor'),
release: require('./grunt/release'),
styl: require('./grunt/styl'),
uglify: require('./grunt/uglify'),
watch: require('./grunt/watch'),
});
// Load all grunt tasks
require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
// Lint all files
grunt.registerTask('lint', [
'jsbeautifier:all',
'jshint:all',
'jsonlint:all',
]);
// Build views
grunt.registerTask('styles', [
'styl',
'autoprefixer',
'csso:optimize',
'csslint',
]);
// Build html
grunt.registerTask('views', [
'jade:compile',
]);
// Build js
grunt.registerTask('js', [
'concat',
'uglify:compile',
]);
// Build css, html & js
grunt.registerTask('build', [
'clean:before',
'concurrent:build',
'clean:after',
]);
// Execute tests
grunt.registerTask('test', [
'mochaTest',
'karma:unit',
]);
// Check the performance of all tasks
grunt.registerTask('time', [
'lint',
'build',
'test',
]);
// Commit your changes
grunt.registerTask('commit', [
'mergeConflict',
'lint',
'build',
'test',
]);
// Build, lint, test and server
grunt.registerTask('default', [
'lint',
'build',
'test',
'concurrent:dev',
]);
};