package-build-stats
TypeScript icon, indicating that this package has built-in type declarations

7.3.14 • Public • Published

This is the function that powers the core of building, minifying and gzipping of packages in bundlephobia.

Usage

const { getPackageStats } = require('package-build-stats')

Building packages from npm

Building the latest stable version
const results = await getPackageStats('moment')
Building a specific version / tag
const results = await getPackageStats('moment@2.24.0')
Building local packages (beta)
const results = await getPackageStats('~/dev/my-npm-package') // must have a package.json

Passing options to the build

const results = await getBuiltPackageStats('moment', options)
Options
Option Values Default Description
client npm or yarn npm Which client to use to install package for building
limitConcurrency true or false false When using yarn as the client, use the network mutex to limit concurrency
networkConcurrency number false When using yarn as client, limit simultaneous installs to this number.
customImports Array<string> null By default, the default export is used for calculating sizes. Setting this option allows calculation of package stats based on more granular top-level exports.
minifier terser or esbuild terser ESbuild is faster, albeit with marginally larger file sizes
installTimeout number (ms) 30000 Timeout for package install

Listening to events

package-build-stats emits various lifecycle events when building a package. You can listen to these events by subscribing to the event emitter (based on mitt).

import { eventQueue } from 'package-build-stats'

// Listen to all events
eventQueue.on('*', callback)

// Listen to specific events
eventQueue.on('TASK_PACKAGE_BUILD', callback)

For a list of all events, see this.

Contributing

See contributing guide.

Readme

Keywords

none

Package Sidebar

Install

npm i package-build-stats

Weekly Downloads

176

Version

7.3.14

License

MIT

Unpacked Size

304 kB

Total Files

56

Last publish

Collaborators

  • pastelsky