mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-05-06 19:36:41 +02:00
Update gruntfile to build on initialization (#5458)
* Update gruntfile to build on initialization * Skip option skips build
This commit is contained in:
committed by
psychobunny
parent
2e27ce640c
commit
f302c0d739
57
Gruntfile.js
57
Gruntfile.js
@@ -1,24 +1,24 @@
|
||||
"use strict";
|
||||
|
||||
var fork = require('child_process').fork,
|
||||
env = process.env,
|
||||
worker, updateWorker,
|
||||
incomplete = [],
|
||||
running = 0;
|
||||
|
||||
var fork = require('child_process').fork;
|
||||
var env = process.env;
|
||||
var worker, updateWorker, initWorker;
|
||||
var incomplete = [];
|
||||
var running = 0;
|
||||
|
||||
module.exports = function (grunt) {
|
||||
var args = [];
|
||||
var initArgs = ['--build'];
|
||||
if (!grunt.option('verbose')) {
|
||||
args.push('--log-level=info');
|
||||
initArgs.push('--log-level=info');
|
||||
}
|
||||
|
||||
function update(action, filepath, target) {
|
||||
var updateArgs = args.slice(),
|
||||
fromFile = '',
|
||||
compiling = '',
|
||||
time = Date.now();
|
||||
|
||||
var updateArgs = args.slice();
|
||||
var compiling = '';
|
||||
var time = Date.now();
|
||||
|
||||
if (target === 'lessUpdated_Client') {
|
||||
compiling = 'clientCSS';
|
||||
} else if (target === 'lessUpdated_Admin') {
|
||||
@@ -44,12 +44,16 @@ module.exports = function (grunt) {
|
||||
if (updateWorker) {
|
||||
updateWorker.kill('SIGKILL');
|
||||
}
|
||||
updateWorker = fork('app.js', updateArgs, { env: env });
|
||||
updateWorker = fork('app.js', updateArgs, {
|
||||
env: env
|
||||
});
|
||||
++running;
|
||||
updateWorker.on('exit', function () {
|
||||
--running;
|
||||
if (running === 0) {
|
||||
worker = fork('app.js', args, { env: env });
|
||||
worker = fork('app.js', args, {
|
||||
env: env
|
||||
});
|
||||
worker.on('message', function () {
|
||||
if (incomplete.length) {
|
||||
incomplete = [];
|
||||
@@ -131,15 +135,24 @@ module.exports = function (grunt) {
|
||||
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
|
||||
if (grunt.option('skip')) {
|
||||
grunt.registerTask('default', ['watch:serverUpdated']);
|
||||
} else {
|
||||
grunt.registerTask('default', ['watch']);
|
||||
}
|
||||
|
||||
|
||||
grunt.registerTask('default', ['watch']);
|
||||
env.NODE_ENV = 'development';
|
||||
|
||||
worker = fork('app.js', args, { env: env });
|
||||
if (grunt.option('skip')) {
|
||||
worker = fork('app.js', args, {
|
||||
env: env
|
||||
});
|
||||
} else {
|
||||
initWorker = fork('app.js', initArgs, {
|
||||
env: env
|
||||
});
|
||||
|
||||
initWorker.on('exit', function () {
|
||||
worker = fork('app.js', args, {
|
||||
env: env
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
grunt.event.on('watch', update);
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user