12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*
- 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("./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.warnings.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(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(options);
- const statsPrinter = this.compilation.createStatsPrinter(options);
- const data = statsFactory.create("compilation", this.compilation, {
- compilation: this.compilation
- });
- const result = statsPrinter.print("compilation", data);
- return result === undefined ? "" : result;
- }
- }
- module.exports = Stats;
|