JSPM

bundle-stats

1.2.2-alpha.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 25077
  • Score
    100M100P100Q144886F
  • License MIT

In-depth reports for webpack bundles

Package Exports

  • bundle-stats

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bundle-stats) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

BundleStats screenshot

Bundle Stats

BundleStats is analyzing the webpack stats and is providing information about what changed and what is going to be deployed.

Node version TravisCI badge Renovate RelativeCI badge

- Bundle size and totals by file type(css, js, img, etc)
- Cache invalidation, Initial JS/CSS and other bundle specific metrics
- Assets report (entrypoint, initial, types, changed, delta)
- Modules report (changed, delta) by chunk
Side by side comparison for multiple jobs

Table of Contents

1. Webpack plugin

Install

npm install --dev bundle-stats

or

yarn add --dev bundle-stats

Webpack configuration

// webpack.config.js
const { BundleStatsWebpackPlugin } = require('bundle-stats');

module.exports = {
  ...,
  plugins: [
    new BundleStatsWebpackPlugin()
  ]
}

BundleStatsWebpackPlugin(options)

  • html - output html report (default true).
  • json - output json report (default false).
  • outDir - output directory relative to output.path (default '').
  • stats - Webpack stats options default:
    {
      stats: {
        context: WEBPACK_CONTEXT,
        assets: true,
        entrypoints: true,
        chunks: true,
        modules: true,
      }
    }

2. CLI

Install as global

npm install -g bundle-stats

or

yarn global add bundle-stats

Install as dev dependency

npm install --dev bundle-stats

or

yarn add --dev bundle-stats

Webpack configuration

The CLI is consuming the Webpack stats json. The following stats options are required:

{
  stats: {
    assets: true,
    entrypoints: true,
    chunks: true,
    modules: true
  }
}

Read more about Webpack stats configuration

Usage

$ bundle-stats -h
Usage: bundle-stats OPTIONS [WEBPACK_STATS_FILE]...

Options:
  --html         Save HTML report                      [boolean] [default: true]
  --json         Save JSON data                       [boolean] [default: false]
  --demo         Generate demo reports                          [default: false]
  -d, --out-dir  Output directory                            [default: "./dist"]
  -h, --help     Show help                                             [boolean]
  -v, --version  Show version number                                   [boolean]
$ bundle-stats --html --json __fixtures__/webpack-stats-0.json __fixtures__/webpack-stats-1.json
  ✔ Read Webpack stat files
  ✔ Gather data
  ✔ Generate reports
  ✔ Save reports

Reports saved:
- ./dist/bundle-stats.html
- ./dist/bundle-stats.json

3. Standalone web application

Use https://compare.relative-ci.com to compare Webpack/Lighthouse/Browsertime stats.

Read more

4. ⚡ Running on CI

Continuous monitoring with BundleStats on CI:

  • Github Checks integration
  • support for all major CI services (Travis CI, Circle CI, Jenkins, Gitlab CI, Codeship, etc)
  • free for OpenSource

Read more about running BundleStats on CI (BETA)