A Node.js module for running Google PageSpeed Insights performance tests with formatted reporting.
psi is a Node.js module that provides programmatic access to Google PageSpeed Insights v5, allowing developers to run performance and usability tests on deployed websites. It fetches Lighthouse-based metrics like speed scores and outputs formatted reports, enabling integration into build processes and CI/CD pipelines.
Web developers, performance engineers, and DevOps teams who need to automate performance testing and enforce performance budgets during development.
It simplifies integrating Google's performance insights into automated workflows, offering a clean API, terminal reporting, and threshold-based pass/fail testing that alternatives like manual PageSpeed Insights checks lack.
PageSpeed Insights Reporting for Node
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Programmatically fetches PageSpeed Insights data in Node.js, enabling seamless integration into build tools like Gulp and Grunt, as shown in the sample projects.
Outputs clean, formatted performance reports to the console with options for CLI, JSON, or TAP formats, facilitating quick reviews in automated processes.
Supports setting a threshold score to pass/fail tests, making it ideal for CI/CD pipelines to enforce performance standards and catch regressions early.
Allows choosing between mobile and desktop analysis strategies, providing targeted insights for different device optimizations directly via the API.
The README has a TODO to update for v5+ information, indicating potential gaps or stale guidance that could hinder setup and usage.
Does not expose filmstrips or some audit details directly on the CLI, requiring custom Node.js code to access them, as noted in the 'Getting filmstrips' section.
Relies on Google's PageSpeed Insights API, which can have rate limits, changes, or downtime, affecting reliability and requiring API key management for production use.