forked from gruntjs/grunt-next
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGruntfile.js
More file actions
93 lines (91 loc) · 2.48 KB
/
Gruntfile.js
File metadata and controls
93 lines (91 loc) · 2.48 KB
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
module.exports = function (grunt) {
grunt.initConfig({
meta: {
pkg: require('./package.json'),
},
tests: 'tests/fixtures',
jshint: {
options: {
jshintrc: '.jshintrc'
},
runner: ['runner/**/*.js'],
task: ['task/**/*.js'],
tests: ['test/**/*.js'],
changed: '<%= watch.files.changed %>'
},
multi: {
tara: {},
tyler: {}
},
concat: {
options: {
banner: '/*! <%= meta.pkg.name %> - v<%= meta.pkg.version %>\n' +
' * License: <%= meta.pkg.licenses[0].type %>\n' +
' * Date: <%= grunt.template.today("yyyy-mm-dd") %>\n' +
' * Target: <%= grunt.task.current.target %>\n' +
' */\n'
},
test: {
src: 'test/fixtures/files/*.js',
dest: 'tmp/concat.js'
},
dude: {
src: 'test/fixtures/files/*.js',
dest: 'tmp/dude.js'
}
},
watch: {
files: {
files: ['test/fixtures/**/*.js'],
tasks: ['series1', 'jshint:changed']
},
tasks: {
options: { spawn: true },
files: ['test/fixtures/tasks/*.js'],
tasks: ['series0']
},
custom: {
files: ['test/fixtures/**/*.js'],
// Specify a custom task runner of your choosing
tasks: function (target, options, done) {
// Get changed files
var changedFiles = grunt.config(target + '.changed');
// Do something custom
grunt.log.writeln('My custom task runner for ' + target);
// Call when done
done();
}
},
}
});
grunt.registerTask('series0', function () {
var done = this.async();
setTimeout(function () {
console.log('series0');
done();
}, 1000);
});
grunt.registerTask('series1', function () {
var done = this.async();
setTimeout(function () {
console.log('series1');
done();
}, 400);
});
grunt.registerTask('series2', function () {
console.log('series2');
});
grunt.registerTask('single', function () {
console.log(this);
});
grunt.registerMultiTask('multi', function () {
console.log(this);
});
grunt.loadTasks('watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('nestedAlias', 'jshint');
grunt.registerTask('deeplyNestedAlias', 'nestedAlias');
grunt.registerTask('series', ['series0', 'series1', 'series2']);
grunt.registerTask('default', 'deeplyNestedAlias');
};