refactored meta/js

yay I haz sourcemaps on windows now
v1.18.x
psychobunny 11 years ago
parent 61c73b7761
commit 3a069e028b

@ -59,16 +59,9 @@ process.on('message', function(payload) {
switch(payload.action) {
case 'js':
Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) {
process.stdout.write(data.js);
process.send({
type: 'end',
payload: 'script'
});
process.stderr.write(data.map);
process.send({
type: 'end',
payload: 'mapping'
data: data
});
});
break;

@ -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;

Loading…
Cancel
Save