{"id":13725601,"url":"https://github.com/bundlewatch/bundlewatch","last_synced_at":"2025-05-14T03:07:08.787Z","repository":{"id":41112909,"uuid":"130579368","full_name":"bundlewatch/bundlewatch","owner":"bundlewatch","description":"Keep watch of your bundle size","archived":false,"fork":false,"pushed_at":"2024-08-30T13:19:24.000Z","size":3058,"stargazers_count":426,"open_issues_count":32,"forks_count":44,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T03:32:56.640Z","etag":null,"topics":["build-tools","buildsize","bundlesize","bundlewatch","continuous-integration","es6","filesize","javascript","nodejs","pull-requests","webpack"],"latest_commit_sha":null,"homepage":"https://bundlewatch.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bundlewatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-22T15:14:46.000Z","updated_at":"2025-04-03T03:07:15.000Z","dependencies_parsed_at":"2024-11-14T15:36:45.927Z","dependency_job_id":"4225a981-46c1-4148-b876-d9523e1bd565","html_url":"https://github.com/bundlewatch/bundlewatch","commit_stats":{"total_commits":414,"total_committers":21,"mean_commits":"19.714285714285715","dds":"0.45169082125603865","last_synced_commit":"08b5c0b435143783ee8558f11ce874a3e4badb60"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundlewatch%2Fbundlewatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundlewatch%2Fbundlewatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundlewatch%2Fbundlewatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundlewatch%2Fbundlewatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bundlewatch","download_url":"https://codeload.github.com/bundlewatch/bundlewatch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166855,"owners_count":21058481,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-tools","buildsize","bundlesize","bundlewatch","continuous-integration","es6","filesize","javascript","nodejs","pull-requests","webpack"],"created_at":"2024-08-03T01:02:28.653Z","updated_at":"2025-04-10T06:16:30.185Z","avatar_url":"https://github.com/bundlewatch.png","language":"JavaScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"http://bundlewatch.io\"\u003e\n    \u003cimg src=\"https://cdn.rawgit.com/bundlewatch/bundlewatch.io/master/docs/_assets/logo-large.svg\" height=\"100px\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n\n[![npm][npm]][npm-url]\n[![bundlewatch][bundlewatch]][bundlewatch-url]\n[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors)\n\n[![node][node]][node-url]\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/bundlewatch)\n[![builds][builds]][builds-url]\n[![test][test]][test-url]\n\n  \u003cbr\u003e\n\n[![npm-chart][npm-chart]][npm-chart-url]\n[![contributors][contrib]][contrib-url]\n[![license][license]][license-url]\n\n  \u003ch1\u003eBundleWatch\u003c/h1\u003e\n  \u003cp\u003e\n    BundleWatch checks file sizes, ensuring bundled browser assets don't jump in file size.\u003cbr /\u003e\n    Sharp increases in BundleWatch can signal that something is wrong - adding a package that bloats the slug, a wrong import, or forgetting to minify.\n  \u003c/p\u003e\n\u003c/div\u003e\n\nInspired by [Siddharth Kshetrapal bundlesize][bundlesize]\n\n# Getting Started\n\nInstall the BundleWatch package:\n\n-   NPM: `npm install bundlewatch --save-dev`\n-   Yarn: `yarn add bundlewatch --dev`\n\nAdd some basic configuration to your `package.json`\n\n```json\n{\n    \"name\": \"my package name\",\n    \"version\": \"0.0.1\",\n    \"bundlewatch\": {\n        \"files\": [\n            {\n                \"path\": \"myfolder/*.js\",\n                \"maxSize\": \"100kB\"\n            }\n        ]\n    }\n}\n```\n\nUsage:\n\n-   NPM: `npm run bundlewatch`\n-   Yarn: `yarn run bundlewatch`\n\nThis will give you command line output. If you want BundleWatch to report build status on your pull requests, see below.\n\n# Adding Build Status\n\nBundleWatch can report its status on your GitHub Pull Requests.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"build status preview\" src=\"https://raw.githubusercontent.com/bundlewatch/bundlewatch.io/master/docs/_assets/build-status-preview.png\" width=\"700px\"\u003e\n\u003c/div\u003e\n\n## CI Auth Variables Needed by BundleWatch\n\n-   `BUNDLEWATCH_GITHUB_TOKEN`\n\nYou will need to give BundleWatch access to your GitHub Statuses, which can be done by heading to:\n[https://service.bundlewatch.io/setup-github][setup-github-url]\n\nThis will give you your `BUNDLEWATCH_GITHUB_TOKEN`. You will need to set this as an environment variable in CI.\n\n## CI Variables Needed by BundleWatch\n\nThe most efficient way to get this running is to ensure that some environment variables are available for BundleWatch to find.\n\n-   `CI_REPO_OWNER` github.com/**facebook**/react\n-   `CI_REPO_NAME` github.com/facebook/**react**\n-   `CI_COMMIT_SHA`\n-   `CI_BRANCH`\n\nIf you're using, _Travis_, _CircleCI_, _Wrecker_, _Drone_ or _GitHub Actions_ these should all work out of the box.\n\n\u003e Have a look at the source code to see which variables are automatically found: [`getCIVars`][get-ci-vars-source]\n\n## Viewing the results breakdown\n\nAfter setting up the above you will have BuildStatus on your Pull Requests. Clicking the _details_ link on the reported status will show you a results file breakdown.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"build results preview\" src=\"https://raw.githubusercontent.com/bundlewatch/bundlewatch.io/master/docs/_assets/build-results-preview.png\" width=\"700px\"\u003e\n\u003c/div\u003e\n\n---\n\n# Additional Documentation\n\nFull [documentation available on bundlewatch.io][bundlewatch-docs-url]\n\n## I use bundlesize, why should I switch to BundleWatch\n\n-   Bundlesize has entered maintenance mode and pull requests are left hanging, so we wanted to reboot the community through creating BundleWatch\n-   New [BundleWatch service][bundlewatch-service] with infrastructure as code\n-   Launched [bundlewatch.io documentation website][bundlewatch-docs-url]\n-   Enough test coverage to support CD\n-   Node API Support\n-   Lower barrier to contributing (automated testing and publishing), build a trusted community of contributors to have continuous improvement\n\n## Additional Features\n\n-   [x] Config validation to stop users from guessing why BundleWatch won't work\n-   [x] Support for config file path\n-   [x] Better results breakdown page\n-   [x] Better comparisons between branches, support branches other than master\n-   [x] Support for your own server for storing data\n-   [x] New and improved CI behaviour\n-   [ ] Show history of BundleWatchs over time\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key][all-contrib-emoji-key]):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://jakebolam.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/3534236?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJake Bolam\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=jakebolam\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://opensource.tophat.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/6020693?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShouvik DCosta\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=sdcosta\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.tylerbenning.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/7265547?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTyler Benning\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-tbenning\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.6ixsushi.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/20323414?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLeila Rosenthal\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=leilarosenthal\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/francoiscampbell\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/3876970?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrancois Campbell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=francoiscampbell\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://emmanuel.ogbizi.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2528959?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEmmanuel Ogbizi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-iamogbz\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=iamogbz\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#security-iamogbz\" title=\"Security\"\u003e🛡️\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://pascal-iske.de\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/7473880?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePascal Iske\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/issues?q=author%3Apascaliske\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://oleksiileonov.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/241582?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOleksii Leonov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=aleksejleonov\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://charpeni.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7189823?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNicolas Charpentier\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/bundlewatch/bundlewatch/commits?author=charpeni\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-charpeni\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#security-charpeni\" title=\"Security\"\u003e🛡️\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors][all-contrib-url] specification.\nContributions of any kind welcome!\n\n## Want to Help? Become a Contributor\n\nContributions of any kind are welcome!\n[See the Contributing docs][contrib-docs-url].\n\n[all-contrib-emoji-key]: https://allcontributors.org/docs/en/emoji-key\n[all-contrib-url]: https://github.com/all-contributors/all-contributors\n[builds]: https://img.shields.io/circleci/project/github/bundlewatch/bundlewatch/master.svg\n[builds-url]: https://circleci.com/gh/bundlewatch/bundlewatch\n[bundlesize]: https://github.com/siddharthkp/bundlesize\n[bundlewatch]: https://img.shields.io/badge/bundle-watched-blue.svg\n[bundlewatch-url]: https://bundlewatch.io\n[bundlewatch-docs-url]: https://bundlewatch.io/\n[bundlewatch-service]: https://github.com/bundlewatch/service\n[contrib]: https://img.shields.io/github/contributors/bundlewatch/bundlewatch.svg\n[contrib-docs-url]: https://github.com/bundlewatch/bundlewatch/blob/master/CONTRIBUTING.md\n[contrib-url]: https://github.com/bundlewatch/bundlewatch/graphs/contributors\n[get-ci-vars-source]: https://github.com/bundlewatch/bundlewatch/blob/master/src/app/config/getCIVars.js\n[node]: https://img.shields.io/node/v/bundlewatch.svg\n[node-url]: https://nodejs.org\n[npm]: https://img.shields.io/npm/v/bundlewatch.svg\n[npm-chart]: https://img.shields.io/npm/dm/bundlewatch.svg\n[npm-chart-url]: https://npmcharts.com/compare/bundlewatch?minimal=true\n[npm-url]: https://npmjs.com/package/bundlewatch\n[license]: https://img.shields.io/npm/l/bundlewatch.svg\n[license-url]: https://github.com/bundlewatch/bundlewatch/blob/master/LICENSE\n[setup-github-url]: https://service.bundlewatch.io/setup-github\n[slack-invite-url]: https://join.slack.com/t/bundlewatch/shared_invite/zt-dtm41j6u-x4OTIvv033aT0rSCuIB~1w\n[test]: https://coveralls.io/repos/github/bundlewatch/bundlewatch/badge.svg?branch=master\n[test-url]: https://coveralls.io/github/bundlewatch/bundlewatch?branch=master\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundlewatch%2Fbundlewatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbundlewatch%2Fbundlewatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundlewatch%2Fbundlewatch/lists"}