webpack/lib/performance/AssetsOverSizeLimitWarning.js

33 lines
922 B
JavaScript
Raw Normal View History

/*
MIT License http://www.opensource.org/licenses/mit-license.php
2016-11-06 00:43:03 +08:00
Author Sean Larkin @thelarkinn
*/
2018-07-30 23:08:51 +08:00
"use strict";
2018-07-27 04:37:21 +08:00
const { formatSize } = require("../SizeFormatHelpers");
2018-07-30 23:08:51 +08:00
const WebpackError = require("../WebpackError");
2018-11-09 05:13:56 +08:00
/** @typedef {import("./SizeLimitsPlugin").AssetDetails} AssetDetails */
2020-11-29 03:04:11 +08:00
module.exports = class AssetsOverSizeLimitWarning extends WebpackError {
2018-11-09 05:13:56 +08:00
/**
* @param {AssetDetails[]} assetsOverSizeLimit the assets
* @param {number} assetLimit the size limit
*/
constructor(assetsOverSizeLimit, assetLimit) {
const assetLists = assetsOverSizeLimit
2018-07-27 04:37:21 +08:00
.map(asset => `\n ${asset.name} (${formatSize(asset.size)})`)
2018-02-25 09:00:20 +08:00
.join("");
2018-07-27 04:37:21 +08:00
super(`asset size limit: The following asset(s) exceed the recommended size limit (${formatSize(
2018-02-25 09:00:20 +08:00
assetLimit
)}).
This can impact web performance.
Assets: ${assetLists}`);
this.name = "AssetsOverSizeLimitWarning";
this.assets = assetsOverSizeLimit;
}
};