1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /*
- 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) {
- options = this.compilation.createStatsOptions(options, {
- forToString: false
- });
- const statsFactory = this.compilation.createStatsFactory(
- /** @type {NormalizedStatsOptions} */ (options)
- );
- return statsFactory.create("compilation", this.compilation, {
- compilation: this.compilation
- });
- }
- /**
- * @param {(string | boolean | StatsOptions)=} options stats options
- * @returns {string} string output
- */
- toString(options) {
- options = this.compilation.createStatsOptions(options, {
- forToString: true
- });
- const statsFactory = this.compilation.createStatsFactory(
- /** @type {NormalizedStatsOptions} */ (options)
- );
- const statsPrinter = this.compilation.createStatsPrinter(
- /** @type {NormalizedStatsOptions} */ (options)
- );
- const data = statsFactory.create("compilation", this.compilation, {
- compilation: this.compilation
- });
- const result = statsPrinter.print("compilation", data);
- return result === undefined ? "" : result;
- }
- }
- module.exports = Stats;
|