Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @codechecks/build-size-watcher with all npm packages installed. Try it out:

require("@codechecks/client/package.json"); // @codechecks/client is a peer dependency. var buildSizeWatcher = require("@codechecks/build-size-watcher")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@codechecks/build-size-watcher v0.1.0

Keep your build size in check and detect when it gets too big

codechecks.io

Build Size Watcher

Keep your build size in check and detect when it gets too big

Build Status Software License

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

Defaults: 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

Defaults: Build Size

Specify the name for check. Might be useful when you track multi

Contributing

All contributions are welcomed. Read more in CONTRIBUTING.md

Licence

MIT @ codechecks.io

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free