Squoosh is an image compression web app that reduces image sizes through numerous formats.
Squoosh has an API and a CLI to compress many images at once.
Squoosh does not send your image to a server. All image compression processes locally.
However, Squoosh utilizes Google Analytics to collect the following:
- Basic visitor data.
- The before and after image size value.
- If Squoosh PWA, the type of Squoosh installation.
- If Squoosh PWA, the installation time and date.
To develop for Squoosh:
- Clone the repository
- To install node packages, run:
npm install
- Then build the app by running:
npm run build
- After building, start the development server by running:
npm run dev
To release new versions of the Squoosh packages to npm, run the automated release script:
npm run release -- patch # for bug fixes (0.0.x)
npm run release -- minor # for new features (0.x.0)
npm run release -- major # for breaking changes (x.0.0)This will automatically bump package versions, synchronize lockfiles, and tag the release. Afterward, run git push origin dev --tags to trigger the GitHub Actions workflow, which securely publishes the packages using npm Trusted Publishing.
Squoosh is an open-source project that appreciates all community involvement. To contribute to the project, follow the contribute guide.