Stats

object string

statsオプションを使用すると、表示されるバンドル情報を正確に制御できます。これは、バンドル情報の一部は必要だが、すべてが必要なわけではないため、quietまたはnoInfoを使用したくない場合に、良い中間点となります。

module.exports = {
  //...
  stats: 'errors-only',
};

Statsプリセット

Webpackには、stats出力に使用できる特定のプリセットが付属しています

プリセット代替案説明
'errors-only'なしエラーが発生した場合のみ出力
'errors-warnings'なしエラーと警告が発生した場合のみ出力
'minimal'なしエラーまたは新しいコンパイルが発生した場合のみ出力
'none'false何も出力しない
'normal'true標準出力
'verbose'なしすべてを出力
'detailed'なしchunkModuleschunkRootModulesを除くすべてを出力
'summary'なしwebpackバージョン、警告数、エラー数を出力

Statsオプション

stats出力に表示したい情報を指定することができます。

stats.all

オプションが定義されていない場合に、statsオプションのフォールバック値として使用されます。ローカルのwebpackのデフォルトよりも優先されます。

module.exports = {
  //...
  stats: {
    all: undefined,
  },
};

stats.assets

boolean = true

statsにアセット情報を表示するかどうかを指示します。stats.assetsfalseに設定すると、非表示になります。

module.exports = {
  //...
  stats: {
    assets: false,
  },
};

stats.assetsSort

string = 'id'

statsに、指定されたフィールドでアセットをソートするように指示します。ソートフィールドのすべてをstats.assetsSortの値として使用できます。指定されたフィールドでソート順を逆にするには、値に!プレフィックスを使用します。

module.exports = {
  //...
  stats: {
    assetsSort: '!size',
  },
};

stats.builtAt

boolean = true

statsにビルド日時情報を追加するかどうかを指示します。stats.builtAtfalseに設定すると、非表示になります。

module.exports = {
  //...
  stats: {
    builtAt: false,
  },
};

stats.moduleAssets

boolean = true

statsに、モジュール内のアセットに関する情報を追加するかどうかを指示します。stats.moduleAssetsfalseに設定すると、非表示になります。

module.exports = {
  //...
  stats: {
    moduleAssets: false,
  },
};

stats.assetsSpace

number = 15

statsに、表示するアセットの項目数を指示します(グループはこのスペースに収まるように折りたたまれます)。

module.exports = {
  //...
  stats: {
    assetsSpace: 15,
  },
};

stats.modulesSpace

number = 15

statsに、表示するモジュールの項目数を指示します(グループはこのスペースに収まるように折りたたまれます)。

module.exports = {
  //...
  stats: {
    modulesSpace: 15,
  },
};

stats.chunkModulesSpace

number = 10

statsに、表示するチャンクモジュールの項目数を指示します(グループはこのスペースに収まるように折りたたまれます)。

module.exports = {
  //...
  stats: {
    chunkModulesSpace: 15,
  },
};

stats.nestedModules

boolean

statsに、他のモジュール(モジュール連結など)にネストされたモジュールに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    nestedModules: true,
  },
};

stats.nestedModulesSpace

number = 10

statsに、表示するネストされたモジュールの項目数を指示します(グループはこのスペースに収まるように折りたたまれます)。

module.exports = {
  //...
  stats: {
    nestedModulesSpace: 15,
  },
};

stats.cached

stats.cachedModulesの古いバージョン。

stats.cachedModules

boolean = true

statsに、キャッシュされた(ビルドされていない)モジュールに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    cachedModules: false,
  },
};

stats.runtimeModules

boolean = true

statsに、ランタイムモジュールに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    runtimeModules: false,
  },
};

stats.dependentModules

boolean

statsに、チャンクの他のモジュールの依存関係であるチャンクモジュールを表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    dependentModules: false,
  },
};

stats.groupAssetsByChunk

boolean

statsに、アセットをチャンクとの関連でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupAssetsByChunk: false,
  },
};

stats.groupAssetsByEmitStatus

boolean

statsに、アセットをステータス(エミット済み、エミット比較済み、またはキャッシュ済み)でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupAssetsByEmitStatus: false,
  },
};

stats.groupAssetsByExtension

boolean

statsに、アセットを拡張子でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupAssetsByExtension: false,
  },
};

stats.groupAssetsByInfo

boolean

statsに、アセットをアセット情報(不変、開発、ホットモジュールリプレースメントなど)でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupAssetsByInfo: false,
  },
};

stats.groupAssetsByPath

boolean

statsに、アセットをアセットパスでグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupAssetsByPath: false,
  },
};

stats.groupModulesByAttributes

boolean

statsに、モジュールを属性(エラー、警告、アセット、オプション、孤立、または依存)でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupModulesByAttributes: false,
  },
};

stats.groupModulesByCacheStatus

boolean

statsに、モジュールをキャッシュステータス(キャッシュ済みまたはビルド済みでキャッシュ可能)でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupModulesByCacheStatus: true,
  },
};

stats.groupModulesByExtension

boolean

statsに、モジュールを拡張子でグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupModulesByExtension: true,
  },
};

stats.groupModulesByLayer

boolean

statsに、モジュールをレイヤーでグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupModulesByLayer: true,
  },
};

stats.groupModulesByPath

boolean

statsに、モジュールをパスでグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupModulesByPath: true,
  },
};

stats.groupModulesByType

boolean

statsに、モジュールをタイプでグループ化するかどうかを指示します。

module.exports = {
  //...
  stats: {
    groupModulesByType: true,
  },
};

stats.groupReasonsByOrigin

boolean

5.46.0+

reasonsを、その元のモジュールでグループ化して、大量の理由のセットを回避します。

module.exports = {
  //...
  stats: {
    groupReasonsByOrigin: true,
  },
};

stats.cachedAssets

boolean = true

statsに、キャッシュされたアセットに関する情報を追加するかどうかを指示します。stats.cachedAssetsfalseに設定すると、statsはエミットされたファイル(ビルドされたファイルではない)のみを表示するようになります。

module.exports = {
  //...
  stats: {
    cachedAssets: false,
  },
};

stats.children

boolean = true

statsに、子に関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    children: false,
  },
};

stats.chunks

boolean = true

statsに、チャンクに関する情報を追加するかどうかを指示します。stats.chunksfalseに設定すると、出力が簡潔になります。

module.exports = {
  //...
  stats: {
    chunks: false,
  },
};

stats.chunkGroups

boolean = true

statsに、namedChunkGroupsに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    chunkGroups: false,
  },
};

stats.chunkModules

boolean = true

statsに、ビルドされたモジュールに関する情報をチャンクの情報に追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    chunkModules: false,
  },
};

stats.chunkOrigins

boolean = true

statsに、チャンクのオリジンとチャンクマージに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    chunkOrigins: false,
  },
};

stats.chunksSort

string = 'id'

statsに、指定されたフィールドでチャンクをソートするように指示します。ソートフィールドのすべてをstats.chunksSortの値として使用できます。指定されたフィールドでソート順を逆にするには、値に!プレフィックスを使用します。

module.exports = {
  //...
  stats: {
    chunksSort: 'name',
  },
};

stats.context

string

statsのベースディレクトリ。リクエスト情報を短縮するための絶対パスです。

const path = require('path');

module.exports = {
  //...
  stats: {
    context: path.resolve(__dirname, 'src/components'),
  },
};

デフォルトでは、contextの値、またはNode.jsの現在の作業ディレクトリが使用されます。

stats.colors

boolean = false object

statsに、異なる色で出力するかどうかを指示します。

module.exports = {
  //...
  stats: {
    colors: true,
  },
};

CLIフラグとしても利用できます

npx webpack --stats-colors

無効にするには

npx webpack --no-stats-colors

ANSIエスケープシーケンスを使用して、独自のターミナル出力色を指定できます

module.exports = {
  //...
  colors: {
    green: '\u001b[32m',
  },
};

stats.depth

boolean = false

statsに、各モジュールのエントリポイントからの距離を表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    depth: true,
  },
};

stats.entrypoints

boolean = true string = 'auto'

stats に対して、対応するバンドルとともにエントリポイントを表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    entrypoints: false,
  },
};

stats.entrypoints'auto' に設定されている場合、webpack は stats 出力にエントリポイントを表示するかどうかを自動的に決定します。

stats.env

boolean = false

stats に対して、--env 情報を表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    env: true,
  },
};

stats.orphanModules

boolean = false

stats に対して、orphan モジュールを非表示にするかどうかを指示します。モジュールがどのチャンクにも含まれていない場合、そのモジュールは orphan になります。orphan モジュールは、デフォルトでは stats で非表示になっています。

module.exports = {
  //...
  stats: {
    orphanModules: true,
  },
};

stats.errors

boolean = true

stats に対して、エラーを表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    errors: false,
  },
};

stats.errorDetails

boolean string = "auto"

stats に対して、エラーに詳細を追加するかどうかを指示します。デフォルトは 'auto' で、エラーが 2 つ以下の場合にエラー詳細が表示されます。

module.exports = {
  //...
  stats: {
    errorDetails: false,
  },
};

stats.errorStack

boolean = true

stats に対して、エラーのスタックトレースを表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    errorStack: false,
  },
};

stats.errorsSpace

5.80.0+

number

stats に対して、エラー表示に割り当てる行数を制限するように指示します。

module.exports = {
  //...
  stats: {
    errorsSpace: 5,
  },
};

stats.excludeAssets

array = []: string | RegExp | function (assetName) => boolean string RegExp function (assetName) => boolean

stats に対して、一致するアセット情報を除外するように指示します。これは、stringRegExp、またはアセット名を引数として受け取り boolean を返す function を使用して行うことができます。stats.excludeAssets は、上記のいずれかの array にすることができます。

module.exports = {
  //...
  stats: {
    excludeAssets: [
      'filter',
      /filter/,
      (assetName) => assetName.contains('moduleA'),
    ],
  },
};

stats.excludeModules

array = []: string | RegExp | function (assetName) => boolean string RegExp function (assetName) => boolean boolean: false

stats に対して、一致するモジュール情報を除外するように指示します。これは、stringRegExp、またはモジュールのソースを引数として受け取り boolean を返す function を使用して行うことができます。stats.excludeModules は、上記のいずれかの array にすることができます。stats.excludeModules の設定は、stats.exclude の設定値とマージされます。

module.exports = {
  //...
  stats: {
    excludeModules: ['filter', /filter/, (moduleSource) => true],
  },
};

stats.excludeModulesfalse に設定すると、除外動作が無効になります。

module.exports = {
  //...
  stats: {
    excludeModules: false,
  },
};

stats.exclude

stats.excludeModules を参照してください。

stats.hash

boolean = true

stats に対して、コンパイルのハッシュに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    hash: false,
  },
};

stats.logging

string = 'info': 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' boolean

stats に対して、ログ出力を追加するかどうかを指示します。

  • 'none', false - ログを無効にします
  • 'error' - エラーのみ
  • 'warn' - エラーと警告のみ
  • 'info' - エラー、警告、および情報メッセージ
  • 'log', true - エラー、警告、情報メッセージ、ログメッセージ、グループ、クリア。折りたたまれたグループは、折りたたまれた状態で表示されます。
  • 'verbose' - デバッグとトレースを除くすべてをログに記録します。折りたたまれたグループは、展開された状態で表示されます。
module.exports = {
  //...
  stats: {
    logging: 'verbose',
  },
};

stats.loggingDebug

array = []: string | RegExp | function (name) => boolean string RegExp function (name) => boolean

stats に対して、プラグインやローダーなどの指定されたロガーのデバッグ情報を含めるように指示します。stats.loggingfalse に設定されている場合、stats.loggingDebug オプションは無視されます。

module.exports = {
  //...
  stats: {
    loggingDebug: [
      'MyPlugin',
      /MyPlugin/,
      /webpack/, // To get core logging
      (name) => name.contains('MyPlugin'),
    ],
  },
};

stats.loggingTrace

boolean = true

エラー、警告、およびトレースのログ出力でスタックトレースを有効にします。トレースを非表示にするには、stats.loggingTrace を設定してください。

module.exports = {
  //...
  stats: {
    loggingTrace: false,
  },
};

stats.modules

boolean = true

stats に対して、ビルドされたモジュールに関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    modules: false,
  },
};

stats.modulesSort

string = 'id'

stats に対して、指定されたフィールドでモジュールをソートするように指示します。すべてのソートフィールドは、stats.modulesSort の値として使用できます。指定されたフィールドでソート順を逆にするには、値に ! プレフィックスを使用します。

module.exports = {
  //...
  stats: {
    modulesSort: 'size',
  },
};

stats.moduleTrace

boolean = true

stats に対して、警告/エラーの依存関係と発生元を表示するように指示します。stats.moduleTrace は、webpack 2.5.0 以降で利用可能です。

module.exports = {
  //...
  stats: {
    moduleTrace: false,
  },
};

stats.optimizationBailout

boolean

stats に対して、モジュールの最適化が中断された理由を表示するように指示します。

module.exports = {
  //...
  stats: {
    optimizationBailout: false,
  },
};

stats.outputPath

boolean = true

stats に対して、outputPath を表示するように指示します。

module.exports = {
  //...
  stats: {
    outputPath: false,
  },
};

stats.performance

boolean = true

stats に対して、ファイルサイズが performance.maxAssetSize を超えた場合にパフォーマンスヒントを表示するように指示します。

module.exports = {
  //...
  stats: {
    performance: false,
  },
};

stats.preset

string boolean: false

表示される情報の種類の プリセットを設定します。stats の動作を拡張するのに役立ちます。

module.exports = {
  //...
  stats: {
    preset: 'minimal',
  },
};

stats.preset の値を false に設定すると、webpack は 'none' stats プリセットを使用するように指示されます。

stats.providedExports

boolean = false

stats に対して、モジュールのエクスポートを表示するように指示します。

module.exports = {
  //...
  stats: {
    providedExports: true,
  },
};

stats.errorsCount

boolean = true

エラー数を追加します。

module.exports = {
  //...
  stats: {
    errorsCount: false,
  },
};

stats.warningsCount

boolean = true

警告数を追加します。

module.exports = {
  //...
  stats: {
    warningsCount: false,
  },
};

stats.publicPath

boolean = true

stats に対して、publicPath を表示するように指示します。

module.exports = {
  //...
  stats: {
    publicPath: false,
  },
};

stats.reasons

boolean = true

stats に対して、モジュールが含まれる理由に関する情報を追加するように指示します。

module.exports = {
  //...
  stats: {
    reasons: false,
  },
};

stats.reasonsSpace

number

5.46.0+

reasons を表示するためのスペース(このスペースに合わせてグループが折りたたまれます)。

module.exports = {
  //...
  stats: {
    reasonsSpace: 1000,
  },
};

stats.relatedAssets

boolean = false

stats に対して、他のアセットに関連するアセット(アセットの SourceMap など)に関する情報を追加するかどうかを指示します。

module.exports = {
  //...
  stats: {
    relatedAssets: true,
  },
};

stats.source

boolean = false

stats に対して、モジュールのソースコードを追加するように指示します。

module.exports = {
  //...
  stats: {
    source: true,
  },
};

stats.timings

boolean = true

stats に対して、タイミング情報を追加するように指示します。

module.exports = {
  //...
  stats: {
    timings: false,
  },
};

stats.ids

boolean = false

stats に対して、モジュールとチャンクの ID を追加するように指示します。

module.exports = {
  //...
  stats: {
    ids: true,
  },
};

stats.usedExports

boolean = false

stats に対して、モジュールのどエクスポートが使用されているかを表示するかどうかを指示します。

module.exports = {
  //...
  stats: {
    usedExports: true,
  },
};

stats.version

boolean = true

stats に対して、使用されている webpack のバージョンに関する情報を追加するように指示します。

module.exports = {
  //...
  stats: {
    version: false,
  },
};

stats.chunkGroupAuxiliary

boolean = true

チャンクグループに補助アセットを表示します。

module.exports = {
  //...
  stats: {
    chunkGroupAuxiliary: false,
  },
};

stats.chunkGroupChildren

boolean = true

チャンクグループの子(プリフェッチされたチャンクやプリロードされたチャンクとアセットなど)を表示します。

module.exports = {
  //...
  stats: {
    chunkGroupChildren: false,
  },
};

stats.chunkGroupMaxAssets

number

チャンクグループに表示されるアセットの制限。

module.exports = {
  //...
  stats: {
    chunkGroupMaxAssets: 5,
  },
};

stats.warnings

boolean = true

stats に対して、警告を追加するように指示します。

module.exports = {
  //...
  stats: {
    warnings: false,
  },
};

stats.warningsSpace

5.80.0+

number

stats に対して、警告表示に割り当てる行数を制限するように指示します。

module.exports = {
  //...
  stats: {
    warningsSpace: 5,
  },
};

stats.warningsFilter

array = []: string | RegExp | function (warning) => boolean string RegExp function (warning) => boolean

stats に対して、指定されたフィルターに一致する警告を除外するように指示します。これは、stringRegExp、または警告を引数として受け取り boolean を返す function を使用して行うことができます。stats.warningsFilter は、上記のいずれかの array にすることができます。

module.exports = {
  //...
  stats: {
    warningsFilter: ['filter', /filter/, (warning) => true],
  },
};

stats.chunkRelations

boolean = false

stats に対して、チャンクの親、子、および兄弟を表示するように指示します。

ソートフィールド

assetsSortchunksSort、および modulesSort では、項目をソートできるフィールドがいくつかあります。

  • 'id' - 項目の ID、
  • 'name' - インポート時に項目に割り当てられた名前、
  • 'size' - 項目のサイズ(バイト単位)、
  • 'chunks' - 項目が由来するチャンク(たとえば、1 つのチャンクに複数のサブチャンクがある場合、サブチャンクはメインチャンクに従ってグループ化されます)、
  • 'errors' - 項目内のエラー数、
  • 'warnings' - 項目内の警告数、
  • 'failed' - 項目がコンパイルに失敗したかどうか、
  • 'cacheable' - 項目がキャッシュ可能かどうか、
  • 'built' - アセットがビルドされているかどうか、
  • 'prefetched' - アセットがプリフェッチされるかどうか、
  • 'optional' - アセットがオプションかどうか。
  • 'identifier' - 項目の識別子。
  • 'index' - 項目の処理インデックス。
  • 'index2'
  • 'profile'
  • 'issuer' - 発行者の識別子。
  • 'issuerId' - 発行者の ID。
  • 'issuerName' - 発行者の名前。
  • 'issuerPath' - 完全な発行者オブジェクト。このフィールドでソートする実際の必要性はありません。

stats の動作の拡張

たとえば、'minimal' などのプリセットの 1 つを使用したいが、ルールの一部を上書きしたい場合は、目的の stats.preset を指定し、カスタマイズされたルールまたは追加ルールを後で追加します。

webpack.config.js

module.exports = {
  //..
  stats: {
    preset: 'minimal',
    moduleTrace: true,
    errorDetails: true,
  },
};

15 貢献者

SpaceK33zsallarjungomildrickjasonblanchardbyzykrenjithspaceRaiondesuEugeneHlushkogrguranshumanvpixel-raysnitin315u01jmg3