build-size-watcher
build-size-watcher copied to clipboard
Keep your bundle size in check and detect when it gets too big.
Build Size Watcher
Keep your build size in check and detect when it gets too big
Install
npm add --save-dev @codechecks/build-size-watcher
or
yarn add --dev @codechecks/build-size-watcher
Usage
Add to your codechecks.yml file:
checks:
- name: build-size-watcher
options:
files:
- path: "./build/static/js/*.js"
maxSize: 1MB
- path: "./build/static/css/*.css"
- path: "./build/static/images/*.jpg"
# ...
With each pull request you will get a summary like Change +3 KB(+1%) Total 300KB and detailed size
breakdown for each path in check's details.
API
buildSizeWatcher(options: BuildSizeWatcherOptions): Promise<void>
BuildSizeWatcherOptions
interface BuildSizeWatcherOptions {
gzip?: boolean; // defaults to true
files: {
path: string; // supports globs
maxSize?: number | string;
}[];
name?: string; // defaults to "Build Size"
}
gzip
optional boolean
Default: true
Specify if files should be gzipped before size calculation
files
interface FileDescription {
path: string; // supports glob
maxSize?: number | string;
}
List of files to track.
files.path
string
Path specifying files to bundle together while calculating size. Supports globs. It's great when you
have to deal with checksums in file names: ex. "./build/static/js/*.js"
files.maxSize
optional number|string
Provide the maximum size of all files matched by files.path. It can be a number in bytes or a string
like "1KB" or "1MB". When max size is reached the whole check will report failure.
name
optional string
Default: Build Size
Specify the name for check. Might be useful when you track multiple builds for example in monorepo.
Contributing
All contributions are welcomed. Read more in CONTRIBUTING.md
Licence
MIT @ codechecks.io