mirror of https://github.com/webpack/webpack.git
feat(performance): removed logic out of stats and into plugin for assets over size limit
This commit is contained in:
parent
00f9478ea1
commit
0833c59f46
12
lib/Stats.js
12
lib/Stats.js
|
|
@ -170,7 +170,8 @@ Stats.prototype.toJson = function toJson(options, forToString) {
|
|||
size: compilation.assets[asset].size(),
|
||||
chunks: [],
|
||||
chunkNames: [],
|
||||
emitted: compilation.assets[asset].emitted
|
||||
emitted: compilation.assets[asset].emitted,
|
||||
isOverSizeLimit: compilation.assets[asset].isOverSizeLimit
|
||||
};
|
||||
assetsByFile[asset] = obj;
|
||||
return obj;
|
||||
|
|
@ -450,16 +451,9 @@ Stats.jsonToString = function jsonToString(obj, useColors) {
|
|||
.toPrecision(3) + " " + abbreviations[index];
|
||||
}
|
||||
|
||||
function isHugeBundle(assetSize) {
|
||||
var sizeLimit = obj.performance.maxAssetSize;
|
||||
return sizeLimit < assetSize;
|
||||
}
|
||||
|
||||
function getAssetColor(asset, defaultColor) {
|
||||
var jsRegex = /\.js($|\?)/i;
|
||||
|
||||
if("performance" in obj) {
|
||||
if(isHugeBundle(asset.size) && jsRegex.test(asset.name)) {
|
||||
if(asset.isOverSizeLimit) {
|
||||
return colors.yellow;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ EmittedAssetSizeLimitPlugin.prototype.apply = function(compiler) {
|
|||
var hints = this.hints;
|
||||
var shouldErrorOnHint = this.errorOnHint;
|
||||
|
||||
compiler.plugin("after-emit", function(compilation, callback) {
|
||||
compiler.plugin("emit", function(compilation, callback) {
|
||||
var warnings = [];
|
||||
var assetsByFile = {};
|
||||
var assetsByChunkName = {};
|
||||
|
|
@ -69,6 +69,7 @@ EmittedAssetSizeLimitPlugin.prototype.apply = function(compiler) {
|
|||
if(doesExceedLimit(sizeLimit, obj.size)) {
|
||||
obj.isOverSizeLimit = true;
|
||||
assetsOverSizeLimit.push(obj);
|
||||
compilation.assets[asset].isOverSizeLimit = true;
|
||||
}
|
||||
|
||||
assetsByFile[asset] = obj;
|
||||
|
|
|
|||
Loading…
Reference in New Issue