Find out minified and gzipped npm package size.

npm install -g jsize

Features

Scoped packages

Individual files within packages

Multiple packages at once

Easy CLI and programmatic usage

CLI Usage

$ jsize react + react-dom angular vue react + react-dom = 44.2 kB (gzipped) angular = 61.5 kB (gzipped) vue = 20.9 kB (gzipped)

$ jsize @cycle/dom + @cycle/run @cycle/dom + @cycle/run = 16.7 kB (gzipped)

$ jsize lodash/map + lodash/filter redux lodash/map + lodash/filter = 5.88 kB (gzipped) redux = 2.77 kB (gzipped)

$ jsize --verbose jquery Package Initial Minified Gzipped jquery = 271 kB 88.6 kB 30.8 kB

Options

#### -v, --verbose Display initial size, minified size and gzip size. $ jsize jquery -v Package Initial Minified Gzipped jquery = 271 kB 87.3 kB 30.6 kB

Programmatic Usage

import jsize from ' jsize ' jsize ( ' lodash ' ) . then ( ( { initial , minified , gzipped } ) => { } ) jsize ( [ ' lodash/map ' , ' lodash/filter ' ] )

Total size of multiple entries

You can add up multiple entries by using + between entry names. This is useful because in some cases like in lodash there is a runtime which is a one time cost.

$ jsize lodash / map + lodash / assign + lodash / filter lodash / map + lodash / assign + lodash / filter = 6 . 63 kB ( gzipped )

Sizes look much larger when comparing individually because it doesn't account for the shared runtime.

$ jsize lodash / map lodash / assign lodash / filter lodash / map = 5 . 89 kB ( gzipped ) lodash / assign = 2 . 78 kB ( gzipped ) lodash / filter = 5 . 85 kB ( gzipped )

Peer Dependencies

When a package has peerDependencies they are automatically excluded from the bundle size. To have a better idea of the total size of all dependencies you must add up all peers as well.

$ jsize react react = 7.23 kB (gzipped) $ jsize react+react-dom react + react-dom = 43.6 kB (gzipped)

License

Licensed under the MIT license.