A GitHub Action that compares JavaScript bundle size and performance cost in pull requests to enforce performance budgets.
Size Limit Action is a GitHub Action that uses the Size Limit tool to monitor and enforce performance budgets for JavaScript applications and libraries. It calculates the real cost of JavaScript bundles, including size and execution time, and provides feedback directly in pull requests. This helps development teams prevent performance regressions by ensuring code changes stay within defined limits before merging.
JavaScript developers and teams who want to maintain performance standards in their applications or libraries, especially those using continuous integration and pull request workflows on GitHub.
Developers choose Size Limit Action because it seamlessly integrates performance budgeting into the GitHub workflow, providing automated, actionable feedback in pull requests. It enforces limits proactively, reducing the risk of performance regressions reaching production, and is highly configurable to fit various project structures and build processes.
Compare the real cost to run your JS app or lib to keep good performance in every pull request
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Posts detailed comments in pull requests showing bundle size and execution time changes, providing immediate visibility into performance impact during code review.
Rejects pull requests that exceed configured limits, preventing performance regressions from being merged and enforcing team standards automatically.
Supports custom npm scripts for build, post-install, and cleanup, and allows specifying a working directory, making it adaptable for monorepos or subprojects.
Autodetects or manually configures package managers like npm or yarn, accommodating diverse project environments and reducing setup friction.
Exclusively tied to GitHub Actions, so it cannot be used with other CI/CD systems, limiting its applicability for teams on different platforms.
Users must first set up and maintain Size Limit configuration for their project, adding an initial learning curve and ongoing maintenance overhead.
Only works with JavaScript projects due to its reliance on Size Limit, making it unsuitable for applications in other languages or with different performance metrics.