| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Alexander Akait @alexander-akait
- */
- "use strict";
- const formatSize = require("../util/formatSize");
- const WebpackError = require("./WebpackError");
- /**
- * @typedef {object} TinyChunkDetails
- * @property {string} name the chunk, by name or by id
- * @property {number} size bytes it carries
- */
- class TinyChunksWarning extends WebpackError {
- /**
- * Creates an instance of TinyChunksWarning.
- * @param {TinyChunkDetails[]} chunks the smallest of them
- * @param {number} total how many fall under the floor in all
- * @param {number} totalSize bytes they carry between them
- */
- constructor(chunks, total, totalSize) {
- const list = chunks
- .map((chunk) => `\n ${chunk.name} (${formatSize(chunk.size)})`)
- .join("");
- super(
- `tiny chunks: ${total} chunks are loaded on demand but carry less than 'optimization.splitChunks.minSize', ${formatSize(
- totalSize
- )} between them:${list}\nEach costs a request of its own, and that option is already the size below which webpack itself declines to make a chunk. Giving several 'import()' calls one 'webpackChunkName' groups them into a single chunk.\nFor more info visit https://webpack.js.org/api/module-methods/#magic-comments`
- );
- /** @type {string} */
- this.name = "TinyChunksWarning";
- }
- }
- module.exports = TinyChunksWarning;
|