forked from external-repos/squoosh
Squoosh!
Squoosh is an image compression web app that reduces image sizes through numerous formats.
Privacy
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.
Developing
Web App
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
Codecs
All build instructions for codecs are written using Nix. If you have Nix installed, you can rebuild the WebAssembly binaries by running:
# Build the codec
cd codec/<codec>
nix run '.#updateRepoBinaries'
If you do not have Nix installed, you can use the provided Docker image to create a shell with nix available:
# Build the image (only needs to be done once).
docker build -t squoosh-nix ./nix
docker run --name squoosh-nix -ti -v $PWD:/app squoosh-nix /bin/sh
# ... continue with the steps above
Contributing
Squoosh is an open-source project that appreciates all community involvement. To contribute to the project, follow the contribute guide.
Description
Languages
TypeScript
62.5%
JavaScript
10%
C++
9.5%
CSS
8.9%
Makefile
3.9%
Other
5.2%