You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

60 lines
1.3 KiB

module.exports = function(grunt) {
'use strict';
var http = require('http');
var port = 1337;
grunt.initConfig({
watch: {
nospawn: {
files: ['lib/nospawn.js'],
tasks: ['server'],
options: {
nospawn: true,
},
},
spawn: {
files: ['lib/spawn.js'],
tasks: ['server'],
},
interrupt: {
files: ['lib/interrupt.js'],
tasks: ['long', 'long', 'long'],
options: {
nospawn: true,
interrupt: true,
},
},
},
});
// Load this watch task
grunt.loadTasks('../../../tasks');
// Our test server task
var server;
grunt.registerTask('server', function() {
if (!server) {
server = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Server is talking!');
}).listen(port);
grunt.log.writeln('Server is listening...');
} else {
var done = this.async();
http.request({port: port}, function(res) {
res.on('data', function(buf) {
grunt.log.writeln(buf);
done();
});
}).end();
}
});
// A long running task
grunt.registerTask('long', function() {
setTimeout(this.async(), 2000);
});
grunt.registerTask('default', ['server', 'watch']);
};