mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-03 12:36:02 +01:00
refactored meta/js
yay I haz sourcemaps on windows now
This commit is contained in:
@@ -128,38 +128,24 @@ module.exports = function(Meta) {
|
||||
|
||||
Meta.js.minify = function(minify, callback) {
|
||||
if (!cluster.isWorker || process.env.cluster_setup === 'true') {
|
||||
var minifier = Meta.js.minifierProc = fork('minifier.js', {
|
||||
silent: true
|
||||
}),
|
||||
minifiedStream = minifier.stdio[1],
|
||||
minifiedString = '',
|
||||
mapStream = minifier.stdio[2],
|
||||
mapString = '',
|
||||
step = 0,
|
||||
var minifier = Meta.js.minifierProc = fork('minifier.js'),
|
||||
onComplete = function(err) {
|
||||
if (step === 0) {
|
||||
return step++;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
winston.error('[meta/js] Minification failed: ' + err.message);
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
Meta.js.cache = minifiedString;
|
||||
Meta.js.map = mapString;
|
||||
winston.info('[meta/js] Compilation complete');
|
||||
minifier.kill();
|
||||
|
||||
if (cluster.isWorker) {
|
||||
process.send({
|
||||
action: 'js-propagate',
|
||||
cache: minifiedString,
|
||||
map: mapString
|
||||
cache: Meta.js.cache,
|
||||
map: Meta.js.map
|
||||
});
|
||||
}
|
||||
|
||||
// Save the minfile in public/ so things like nginx can serve it
|
||||
Meta.js.commitToFile();
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
@@ -167,23 +153,17 @@ module.exports = function(Meta) {
|
||||
}
|
||||
};
|
||||
|
||||
minifiedStream.on('data', function(buffer) {
|
||||
minifiedString += buffer.toString();
|
||||
});
|
||||
mapStream.on('data', function(buffer) {
|
||||
mapString += buffer.toString();
|
||||
});
|
||||
|
||||
minifier.on('message', function(message) {
|
||||
switch(message.type) {
|
||||
case 'end':
|
||||
if (message.payload === 'script') {
|
||||
winston.info('[meta/js] Successfully minified.');
|
||||
onComplete();
|
||||
} else if (message.payload === 'mapping') {
|
||||
winston.info('[meta/js] Retrieved Mapping.');
|
||||
onComplete();
|
||||
}
|
||||
winston.info('[meta/js] Successfully minified.');
|
||||
winston.info('[meta/js] Retrieved Mapping.');
|
||||
|
||||
Meta.js.cache = message.data.js;
|
||||
Meta.js.map = message.data.map;
|
||||
|
||||
onComplete();
|
||||
|
||||
break;
|
||||
case 'hash':
|
||||
Meta.js.hash = message.payload;
|
||||
|
||||
Reference in New Issue
Block a user