{"id":21410061,"url":"https://github.com/rl4444/image-optimizer-electron","last_synced_at":"2026-05-18T22:09:46.896Z","repository":{"id":102400100,"uuid":"321725157","full_name":"RL4444/image-optimizer-electron","owner":"RL4444","description":"Electron.js desktop app for optimising images","archived":false,"fork":false,"pushed_at":"2021-02-22T00:12:26.000Z","size":425,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T04:41:22.472Z","etag":null,"topics":["electronjs","file-encoding","file-upload","image-processing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RL4444.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-12-15T16:29:39.000Z","updated_at":"2024-10-29T11:00:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7ab4de8-0116-4ead-a092-a82c2ddebab3","html_url":"https://github.com/RL4444/image-optimizer-electron","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RL4444%2Fimage-optimizer-electron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RL4444%2Fimage-optimizer-electron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RL4444%2Fimage-optimizer-electron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RL4444%2Fimage-optimizer-electron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RL4444","download_url":"https://codeload.github.com/RL4444/image-optimizer-electron/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910727,"owners_count":20367538,"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":["electronjs","file-encoding","file-upload","image-processing"],"created_at":"2024-11-22T17:37:00.564Z","updated_at":"2026-05-18T22:09:46.858Z","avatar_url":"https://github.com/RL4444.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Image Optimizer\n\nThis is a project using a drag and drop interface for optimizing web images (png, jpg, jpeg) on a users local machine. This project was build using electron.js and a few plugins for handling the image compression.\n\n## Getting Started in Dev Mode\n\nfirstly install the packages using `yarn` or `npm`\n\n`yarn` or `npm install`\n\nonce the dependencies are installed, you can run the project using one of two `package.json` scripts\n\nwith node and no hot-reload\n\n`npm run start`\n\nor with hot reload using nodemon - 1\n\n`npm run dev`\n\n1 - personally I find the hot reload annoying to use when developing. Any slight changes to any of the frontend js files or `main.js` will result in the whole app closing and relaunching.\n\nThe project should be good to go in dev mode after these steps.\n\n## Bundling an Application in the ./release-builds directory (I have added this dir to the .gitignore for less bloat)\n\nChristian Engvall gives a create short summary of how to build the executables for Mac, Linux and Windows at\n\nhttps://www.christianengvall.se/electron-packager-tutorial/\n\n### To build a Mac OS app\n\nIn your project root run this in your bash terminal\n\n` electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds`\n\n### To build a Windows .exe\n\nIn your project root run this in your gitbash terminal\n\n` electron-packager . web-image-optimizer --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"Web Image Optimizer\"`\n\n### To build a Linux executable\n\nIn your project root run this in your bash terminal\n\n` electron-packager . web-image-optimizer --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/1024x1024.png --prune=true --out=release-builds`\n\nAs suggested in Christian's tutorial I have also added theses scripts to the package.json, so you can simply run:\n\n`npm run package-mac`\n\nor\n\n`npm run package-win`\n\nor\n\n`npm run package-linux`\n\n## Creating a .dmg \u0026\u0026 .exe installation file\n\n### creating a .dmg\n\nIn your project root run this in your bash terminal\n\n`electron-installer-dmg ./release-builds/Web\\\\ Image\\\\ Optimizer-darwin-x64/Web\\\\ Image\\\\ Optimizer.app web-image-optimizer --out=release-builds --overwrite --icon=app/icons/mac/icon.icns`\n\nor `npm run create-installer-mac`\n\n### creating a windows .exe\n\nThis setup requires a few different steps than creating a .dmg. The scripts needed create an executable stored in the `/installers` directory and will handle the build.\n\nYou can create a .exe by running\n\n`npm run create-installer-win`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frl4444%2Fimage-optimizer-electron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frl4444%2Fimage-optimizer-electron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frl4444%2Fimage-optimizer-electron/lists"}