46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
|
var watch = require('watch'),
|
||
|
spawn = require('child_process').spawn,
|
||
|
chalk = require('chalk'),
|
||
|
log = process.stdout.write.bind(process.stdout),
|
||
|
async = require('async');
|
||
|
|
||
|
var noLog = false;
|
||
|
|
||
|
function build(callback) {
|
||
|
return async.series([
|
||
|
function(next) {
|
||
|
var build = spawn('jspm', ['bundle-sfx', 'src/main']);
|
||
|
build.on('error', next);
|
||
|
build.on('exit', function() {
|
||
|
next(null);
|
||
|
});
|
||
|
build.stdout.pipe(process.stdout);
|
||
|
},
|
||
|
function(next) {
|
||
|
var build = spawn('6to5', ['build.js', '-o', 'build.js']);
|
||
|
build.on('error', next);
|
||
|
build.on('exit', function() {
|
||
|
next(null);
|
||
|
});
|
||
|
build.stdout.pipe(process.stdout);
|
||
|
}
|
||
|
], callback);
|
||
|
}
|
||
|
|
||
|
watch.watchTree(__dirname + '/src', function(changes) {
|
||
|
if(typeof changes === 'string') {
|
||
|
log('File Change: ' + chalk.yellow.bold(changes) + ' Building...');
|
||
|
} else {
|
||
|
log('Watching ' + chalk.yellow.bold(__dirname + '/src\n\n'));
|
||
|
noLog = true;
|
||
|
}
|
||
|
|
||
|
build(function(err) {
|
||
|
if(noLog) return;
|
||
|
if(err) {
|
||
|
log('\n'+chalk.red.bold('An error occured while building\njspm bundle-sfx src/main =>\n' + err + '\n'));
|
||
|
} else {
|
||
|
log(chalk.green.bold('Done!\n'));
|
||
|
}
|
||
|
});
|
||
|
});
|