summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/Stats.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
committerlittleblack111 <littleblack11111@gmail.com>2024-08-30 17:21:18 +0800
commitefbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch)
tree2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/webpack/lib/Stats.js
parent43acceb75957c880a5ba5a31aae221394a36d5f6 (diff)
node fixes, updates
Diffstat (limited to 'node_modules/webpack/lib/Stats.js')
-rw-r--r--node_modules/webpack/lib/Stats.js89
1 files changed, 89 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/Stats.js b/node_modules/webpack/lib/Stats.js
new file mode 100644
index 00000000..22a36632
--- /dev/null
+++ b/node_modules/webpack/lib/Stats.js
@@ -0,0 +1,89 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+/** @typedef {import("../declarations/WebpackOptions").StatsOptions} StatsOptions */
+/** @typedef {import("./Compilation")} Compilation */
+/** @typedef {import("./Compilation").NormalizedStatsOptions} NormalizedStatsOptions */
+/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsCompilation} StatsCompilation */
+
+class Stats {
+ /**
+ * @param {Compilation} compilation webpack compilation
+ */
+ constructor(compilation) {
+ this.compilation = compilation;
+ }
+
+ get hash() {
+ return this.compilation.hash;
+ }
+
+ get startTime() {
+ return this.compilation.startTime;
+ }
+
+ get endTime() {
+ return this.compilation.endTime;
+ }
+
+ /**
+ * @returns {boolean} true if the compilation had a warning
+ */
+ hasWarnings() {
+ return (
+ this.compilation.getWarnings().length > 0 ||
+ this.compilation.children.some(child => child.getStats().hasWarnings())
+ );
+ }
+
+ /**
+ * @returns {boolean} true if the compilation encountered an error
+ */
+ hasErrors() {
+ return (
+ this.compilation.errors.length > 0 ||
+ this.compilation.children.some(child => child.getStats().hasErrors())
+ );
+ }
+
+ /**
+ * @param {(string | boolean | StatsOptions)=} options stats options
+ * @returns {StatsCompilation} json output
+ */
+ toJson(options) {
+ const normalizedOptions = this.compilation.createStatsOptions(options, {
+ forToString: false
+ });
+
+ const statsFactory = this.compilation.createStatsFactory(normalizedOptions);
+
+ return statsFactory.create("compilation", this.compilation, {
+ compilation: this.compilation
+ });
+ }
+
+ /**
+ * @param {(string | boolean | StatsOptions)=} options stats options
+ * @returns {string} string output
+ */
+ toString(options) {
+ const normalizedOptions = this.compilation.createStatsOptions(options, {
+ forToString: true
+ });
+
+ const statsFactory = this.compilation.createStatsFactory(normalizedOptions);
+ const statsPrinter = this.compilation.createStatsPrinter(normalizedOptions);
+
+ const data = statsFactory.create("compilation", this.compilation, {
+ compilation: this.compilation
+ });
+ const result = statsPrinter.print("compilation", data);
+ return result === undefined ? "" : result;
+ }
+}
+
+module.exports = Stats;