summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/MultiStats.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/webpack/lib/MultiStats.js
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/webpack/lib/MultiStats.js')
-rw-r--r--node_modules/webpack/lib/MultiStats.js208
1 files changed, 0 insertions, 208 deletions
diff --git a/node_modules/webpack/lib/MultiStats.js b/node_modules/webpack/lib/MultiStats.js
deleted file mode 100644
index bf4771a5..00000000
--- a/node_modules/webpack/lib/MultiStats.js
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-
-"use strict";
-
-const identifierUtils = require("./util/identifier");
-
-/** @typedef {import("../declarations/WebpackOptions").StatsOptions} StatsOptions */
-/** @typedef {import("./Compilation").CreateStatsOptionsContext} CreateStatsOptionsContext */
-/** @typedef {import("./Compilation").NormalizedStatsOptions} NormalizedStatsOptions */
-/** @typedef {import("./Stats")} Stats */
-/** @typedef {import("./stats/DefaultStatsFactoryPlugin").KnownStatsCompilation} KnownStatsCompilation */
-/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsCompilation} StatsCompilation */
-/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsError} StatsError */
-
-/**
- * @param {string} str string
- * @param {string} prefix pref
- * @returns {string} indent
- */
-const indent = (str, prefix) => {
- const rem = str.replace(/\n([^\n])/g, `\n${prefix}$1`);
- return prefix + rem;
-};
-
-/** @typedef {{ version: boolean, hash: boolean, errorsCount: boolean, warningsCount: boolean, errors: boolean, warnings: boolean, children: NormalizedStatsOptions[] }} ChildOptions */
-
-class MultiStats {
- /**
- * @param {Stats[]} stats the child stats
- */
- constructor(stats) {
- this.stats = stats;
- }
-
- get hash() {
- return this.stats.map(stat => stat.hash).join("");
- }
-
- /**
- * @returns {boolean} true if a child compilation encountered an error
- */
- hasErrors() {
- return this.stats.some(stat => stat.hasErrors());
- }
-
- /**
- * @returns {boolean} true if a child compilation had a warning
- */
- hasWarnings() {
- return this.stats.some(stat => stat.hasWarnings());
- }
-
- /**
- * @param {string | boolean | StatsOptions | undefined} options stats options
- * @param {CreateStatsOptionsContext} context context
- * @returns {ChildOptions} context context
- */
- _createChildOptions(options, context) {
- const getCreateStatsOptions = () => {
- if (!options) {
- options = {};
- }
-
- const { children: childrenOptions = undefined, ...baseOptions } =
- typeof options === "string"
- ? { preset: options }
- : /** @type {StatsOptions} */ (options);
-
- return { childrenOptions, baseOptions };
- };
-
- const children = this.stats.map((stat, idx) => {
- if (typeof options === "boolean") {
- return stat.compilation.createStatsOptions(options, context);
- }
- const { childrenOptions, baseOptions } = getCreateStatsOptions();
- const childOptions = Array.isArray(childrenOptions)
- ? childrenOptions[idx]
- : childrenOptions;
- return stat.compilation.createStatsOptions(
- {
- ...baseOptions,
- ...(typeof childOptions === "string"
- ? { preset: childOptions }
- : childOptions && typeof childOptions === "object"
- ? childOptions
- : undefined)
- },
- context
- );
- });
- return {
- version: children.every(o => o.version),
- hash: children.every(o => o.hash),
- errorsCount: children.every(o => o.errorsCount),
- warningsCount: children.every(o => o.warningsCount),
- errors: children.every(o => o.errors),
- warnings: children.every(o => o.warnings),
- children
- };
- }
-
- /**
- * @param {(string | boolean | StatsOptions)=} options stats options
- * @returns {StatsCompilation} json output
- */
- toJson(options) {
- const childOptions = this._createChildOptions(options, {
- forToString: false
- });
- /** @type {KnownStatsCompilation} */
- const obj = {};
- obj.children = this.stats.map((stat, idx) => {
- const obj = stat.toJson(childOptions.children[idx]);
- const compilationName = stat.compilation.name;
- const name =
- compilationName &&
- identifierUtils.makePathsRelative(
- stat.compilation.compiler.context,
- compilationName,
- stat.compilation.compiler.root
- );
- obj.name = name;
- return obj;
- });
- if (childOptions.version) {
- obj.version = obj.children[0].version;
- }
- if (childOptions.hash) {
- obj.hash = obj.children.map(j => j.hash).join("");
- }
- /**
- * @param {StatsCompilation} j stats error
- * @param {StatsError} obj Stats error
- * @returns {TODO} result
- */
- const mapError = (j, obj) => ({
- ...obj,
- compilerPath: obj.compilerPath ? `${j.name}.${obj.compilerPath}` : j.name
- });
- if (childOptions.errors) {
- obj.errors = [];
- for (const j of obj.children) {
- const errors =
- /** @type {NonNullable<KnownStatsCompilation["errors"]>} */
- (j.errors);
- for (const i of errors) {
- obj.errors.push(mapError(j, i));
- }
- }
- }
- if (childOptions.warnings) {
- obj.warnings = [];
- for (const j of obj.children) {
- const warnings =
- /** @type {NonNullable<KnownStatsCompilation["warnings"]>} */
- (j.warnings);
- for (const i of warnings) {
- obj.warnings.push(mapError(j, i));
- }
- }
- }
- if (childOptions.errorsCount) {
- obj.errorsCount = 0;
- for (const j of obj.children) {
- obj.errorsCount += /** @type {number} */ (j.errorsCount);
- }
- }
- if (childOptions.warningsCount) {
- obj.warningsCount = 0;
- for (const j of obj.children) {
- obj.warningsCount += /** @type {number} */ (j.warningsCount);
- }
- }
- return obj;
- }
-
- /**
- * @param {(string | boolean | StatsOptions)=} options stats options
- * @returns {string} string output
- */
- toString(options) {
- const childOptions = this._createChildOptions(options, {
- forToString: true
- });
- const results = this.stats.map((stat, idx) => {
- const str = stat.toString(childOptions.children[idx]);
- const compilationName = stat.compilation.name;
- const name =
- compilationName &&
- identifierUtils
- .makePathsRelative(
- stat.compilation.compiler.context,
- compilationName,
- stat.compilation.compiler.root
- )
- .replace(/\|/g, " ");
- if (!str) return str;
- return name ? `${name}:\n${indent(str, " ")}` : str;
- });
- return results.filter(Boolean).join("\n\n");
- }
-}
-
-module.exports = MultiStats;