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.
34 lines
1.3 KiB
34 lines
1.3 KiB
define(["../buildControl", "require"], function(bc, require){ |
|
var optimizers = {}; |
|
|
|
function resolveComments(optimizer) { |
|
// This is for back-compat of comments and comments.keepLines, |
|
// after the refactor to separate optimizers placed this logic in shrinksafe. |
|
// TODO: remove @ 2.0 (along with shrinksafe entirely, perhaps) |
|
return /^comments/.test(optimizer) ? "shrinksafe." + optimizer : optimizer; |
|
} |
|
|
|
if(bc.optimize){ |
|
bc.optimize = resolveComments(bc.optimize); |
|
require(["./optimizer/" + bc.optimize.split(".")[0]], function(optimizer){ |
|
optimizers[bc.optimize] = optimizer; |
|
}); |
|
} |
|
if(bc.layerOptimize){ |
|
bc.layerOptimize = resolveComments(bc.layerOptimize); |
|
require(["./optimizer/" + bc.layerOptimize.split(".")[0]], function(optimizer){ |
|
optimizers[bc.layerOptimize] = optimizer; |
|
}); |
|
} |
|
|
|
return function(resource, callback){ |
|
var copyright = resource.pack ? resource.pack.copyright : bc.copyright; |
|
if(bc.optimize && !resource.layer){ |
|
return optimizers[bc.optimize](resource, resource.uncompressedText, copyright, bc.optimize, callback); |
|
}else if(bc.layerOptimize && resource.layer && !resource.layer.discard){ |
|
return optimizers[bc.layerOptimize](resource, resource.uncompressedText, copyright, bc.layerOptimize, callback); |
|
}else{ |
|
return 0; |
|
} |
|
}; |
|
});
|
|
|