Skip to content

A rollup plugin to show file size of the bundle in the cli

Notifications You must be signed in to change notification settings

ritz078/rollup-plugin-filesize

Repository files navigation

rollup-plugin-filesize

A rollup plugin to show filesize in the cli

Installation

npm install rollup-plugin-filesize

Usage

import { rollup } from 'rollup';
import filesize from 'rollup-plugin-filesize';

rollup({
  entry: 'main.js',
  plugins: [
    filesize()
  ]
}).then(...)

options

showMinifiedSize

type: boolean default: true

Whether to show minified size or not

showGzippedSize

type: boolean default: true

Whether to show Gzipped size or not

showBrotliSize

type: boolean default: false

Whether to show Brotli size or not

showBeforeSizes

Note: this feature is experimental and may be changed in a future release.

type: "release", "build", or "none" default: "none"

Indicates how, if any, comparisons will be shown between the output.file file size as it was and as it is now being written.

If set to "release", will compare the file size at present to that of the last npm release.

If set to "build", the size of the file that is now being built will be compared to the immediately previous build. This means that if you run Rollup multiple times with this option, the info on the previous package size will be lost (since Rollup will have overwritten your copy), so with this option, you will need to consult your terminal history to see what the file size was prior to your changes. This option may be useful if you wish to compare size changes incrementally as you are developing rather than comparing to your last release.

format

type : object

default : {}

See the options here

reporter

(Note that this replaces the deprecated optional render function option.)

type : A reporter string (currently "boxen" only), a function, or an array thereof.

Defaults to "boxen".

After rendering occurs, you may wish to pass on the collected file data, e.g., to build a badge for filesizes (as does filesize-badger).

You can use reporter to do so:

filesize({
	reporter: [
		function (options, bundle, {
			minSize, gzipSize, brotliSize, bundleSize,
			fileName,
			// "showBeforeSizes: release"
			lastVersion,
			// "showBeforeSizes: "release" or "showBeforeSizes": "build"
			bundleSizeBefore, brotliSizeBefore, minSizeBefore, gzipSizeBefore
		}) {
			// If a promise is returned, it will be awaited before rendering.
			return promise;
		},
	],
});

theme

type: string

default : 'dark'

options : 'dark'/'light'

choose based on your terminal theme.

License

MIT