svg-icons is a command-line interface (CLI) tool that allows you to download and store specific SVG icons locally from various icon sets, avoiding the need to import entire libraries and reducing the bundle size.
The icon sets are temporarily stored on the user's system to facilitate future interactions without the need for repeated downloads.
- 📦 Downloads only the necessary icons, optimizing bundle size.
- 🚀 Supports most popular icon sets.
- ⚡ Simple and easy to use.
It's recommended to install Graphics Magick. If it's not installed, the library will automagically try to install lwip by compiling the C/C++ stuff.
# Ubuntu
$ sudo apt-get install graphicsmagick
# Fedora
$ sudo dnf install GraphicsMagick
# CentOS / RHEL
$ sudo yum install --enablerepo epel GraphicsMagick
# OS X
$ brew install graphicsmagick
# Windows users can install the binaries from http://www.graphicsmagick.org/
...or using the command line:
# Chocolatey (package manager for Windows)
# (Restart of cmd/PowerShell is required)
$ choco install graphicsmagickInstallation should be done per project, using npm or yarn:
npm install @raulduartep/svg-icons --save-dev
# or
yarn add @raulduartep/svg-icons --devAfter installation, you need to create a svg-icons.config.json file in the root directory of your project with the following content:
{
"dir": "relative path where the icons will be saved"
}Simply type the following command in the terminal:
svg-iconsThe CLI will ask which icon set you want to use, and then it will request the names of the icons you need.
- Ant Design Icons
- BoxIcons
- Bootstrap Icons
- Circum Icons
- css.gg
- Devicons
- Feather
- Flat Color Icons
- Font Awesome 5
- Font Awesome 6
- Grommet-Icons
- Heroicons
- IcoMoon Free
- Icons8 Line Awesome
- Ionicons
- Lucide
- Material Design Icons
- Octicons
- Phosphor Icons
- Radix Icons
- Remix Icon
- Simple Icons
- Simple Line Icons
- Tabler Icons
- Themify Icons
- Typicons
- VS Code Icons
- Weather Icons
The svg-icons project was inspired by the React Icons library.
Contributions are welcome! Feel free to open issues or submit pull requests.
This project is licensed under the MIT License.