Registry / devops / rollup-plugin-purge-icons

rollup-plugin-purge-icons

JSON →
library0.10.0jsnpmunverified

Rollup plugin for PurgeIcons, a tool that removes unused icon imports from icon libraries (e.g., Material Design, Font Awesome) to reduce bundle size. Version 0.10.0 is current stable; maintained by Anthony Fu. It works by analyzing your source code for used icon names and tree-shaking the rest. Key differentiators: automatic detection of icon usage, supports multiple icon sets, and integrates as a rollup plugin with zero configuration options needed in many cases. Requires @purge-icons/core and @purge-icons/generated as peer dependencies.

npm install rollup-plugin-purge-icons
INSTALL
IMPORT
SIG · ROLLUP-PLUGIN-PURG
R
rollup-plugin-purge-icons
devopsjavascriptv0.10.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import PurgeIcons from 'rollup-plugin-purge-icons'
const PurgeIcons = require('rollup-plugin-purge-icons')
This package is ESM-only and does not support CommonJS require. Use import statement.
@purge-icons/generated
import '@purge-icons/generated'
import { generated } from '@purge-icons/generated'
This import is a side-effect import that registers the icons. It has no named exports.
PurgeIconsOptions
import type { PurgeIconsOptions } from 'rollup-plugin-purge-icons'
TypeScript type for plugin options. Available for type-checking.

Minimal rollup config using PurgeIcons plugin with default options.

import PurgeIcons from 'rollup-plugin-purge-icons'; import '@purge-icons/generated'; export default { input: 'src/index.js', output: { file: 'dist/bundle.js', format: 'esm' }, plugins: [ PurgeIcons() ] };
Debug
Known issues
gotchaImport '@purge-icons/generated' must be in the entry file after the plugin is applied
fix
Ensure the import is present in your entry file and not tree-shaken away.
affects: >=0.0.1
breakingThe plugin is ESM-only; require() will fail
fix
Use import syntax. If you need CommonJS, consider using dynamic import() or transpile.
affects: >=0.5.0
deprecatedNode 12 support may be removed in future versions
fix
Upgrade to Node >=14 for future compatibility.
affects: >=0.10.0
gotchaThe plugin does not automatically install @purge-icons/core and @purge-icons/generated
fix
Install them as devDependencies: npm i @purge-icons/core @purge-icons/generated -D
affects: >=0.0.1
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module not supported
Trying to require() an ESM-only package in a CommonJS context.
fix
Use import syntax or set type: 'module' in package.json.
Module not found: Can't resolve '@purge-icons/generated' in '/path/to/project'
@purge-icons/generated is not installed.
fix
Run npm install @purge-icons/generated --save-dev
ReferenceError: exports is not defined in ES module scope
Using module.exports in an ES module file.
fix
Switch to export default or named exports syntax.
Upgrade
Version history
0.10.0latest on npm
Audit
Dependencies
@purge-icons/corerequiredCore library that provides PurgeIcons functionality
@purge-icons/generatedrequiredGenerated icon collection that must be imported in the entry file
Agent activity
4 hits · last 30 days
node
4
Resources
rollup-plugin-purge-icons — npm install rollup-plugin-purge-icons · libregistry