A simple Electron library for handling file downloads with automatic save, progress bars, and dock badges.
electron-dl is a library for Electron applications that simplifies file downloading. It provides a single function call to handle downloads, automatically saving files to the user's Downloads directory, showing progress feedback, and managing multiple downloads. It solves the problem of implementing repetitive download boilerplate in Electron apps.
Electron developers building desktop applications that require file download functionality, such as updaters, media downloaders, or document management tools.
Developers choose electron-dl because it reduces code complexity, improves user experience with automatic saves and visual feedback, and offers flexibility through configurable options while maintaining a minimal API.
Simplified file downloads for your Electron app
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replaces manual download implementation with a single function call, reducing code complexity as demonstrated in the README's usage examples.
Automatically saves files to the Downloads directory and shows progress bars/badge counts on dock/taskbar icons, enhancing usability out of the box.
Handles multiple downloads within any registered window, with callbacks like onTotalProgress for combined tracking, simplifying complex scenarios.
Offers configurable options such as saveAs dialogs, custom directories, and event hooks (e.g., onCompleted), allowing tailored behavior without sacrificing convenience.
UX enhancements like badge counts and dock bouncing are limited to macOS and Linux, leaving Windows users with a less integrated experience.
Can only be used in the main process, requiring IPC setup if download triggers come from the renderer process, adding complexity for some architectures.
In the download() function, error dialogs are not shown, forcing developers to implement custom error handling, as noted in the API documentation.