https://github.com/wintercounter/purge-react-icons
React icons is a great library, but it has too many icons and bundlers choke on it. This tool will remove any unused icons from the source files.
https://github.com/wintercounter/purge-react-icons
Last synced: about 1 year ago
JSON representation
React icons is a great library, but it has too many icons and bundlers choke on it. This tool will remove any unused icons from the source files.
- Host: GitHub
- URL: https://github.com/wintercounter/purge-react-icons
- Owner: wintercounter
- License: mit
- Created: 2024-10-13T02:45:31.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-14T08:02:10.000Z (almost 2 years ago)
- Last Synced: 2025-07-19T14:36:28.501Z (about 1 year ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# purge-react-icons
> Purge unused icons from react-icons during development to solve memory issues
## Usage
```sh
# Default directorz is src
npx purge-react-icons
# Passing source directory
npx purge-react-icons lib
```
Over the years I had many issues using `react-icons` in my projects during development.
Recently I had to use a laptop having 8GB RAM only for a large Next.js project, and I wasn't able to run the project because of the memory usage caused by `react-icons`.
To solve this issue, I created this package to remove unused icons from `react-icons` and reduce memory usage.
## How it works
This package will scan the source directory for all the files and find all the icons used in the project.
Then it will remove all the unused icons from `react-icons` and create a new `react-icons` package with only the used icons.
The original `react-icons` package will be backed up in a `react-icons_backup` directory,
so every time you run the command it'll work from the backed up `react-icons` package.
You need to run this command every time you add new icons to your project. This is a minor inconvenience for mature projects,
for new projects it might be annoying to run this command every time you add new icons, but it's a viable tradeoff for those having
memory issues with `react-icons`.
TS types are untouched, so autocompletion will work as expected.
Next.js is optimizing barrel files, so you might need to remove the `.next` folder as well to clear caches.
Even if you have a large amount memory, you might want to use this package to reduce the overall memory usage of your project and to achieve faster startup times.
This tool is only intended for development purposes, you should not use it in production. In production tree shaking should be handled by your bundler, so there is no need to use this package in production.
## License
MIT © wintercounter