reactvora
v1.0.2
Published
A complex SVG fetcher and sanitizer with advanced file management
Readme
⚛️ reactvora
A lightweight Node.js utility for handling SVGs safely and efficiently — without
xmldom.
reactvora is built for backend pipelines, asset processing, and scalable icon systems where security, performance, and clean SVG output are essential.
🚀 Why reactvora?
Working with SVGs can get messy — especially when dealing with untrusted input or large icon sets. reactvora simplifies the process by giving you a safe, minimal, and dependency-light toolkit.
🧩 Core Capabilities
🔎 Input Detection
- Supports raw SVG strings
- Handles base64-encoded SVGs
🧼 SVG Sanitization
Removes:
<script>tags- Inline event handlers (
onclick, etc.) javascript:URLs
Helps prevent XSS vulnerabilities
📉 Minification
- Strips unnecessary whitespace and metadata
- Optimized for smaller payload size
💾 Smart File Saving
- Saves files using content-based hash names
- Prevents duplicates and ensures cache efficiency
🖼 SVG → PNG Conversion
- Converts SVG files into PNG format using
sharp - Ideal for previews, thumbnails, or legacy support
📝 Logging System
- Built-in logging for debugging and pipeline visibility
🚫 Zero xmldom Dependency
- No heavy XML parsers
- Faster and more lightweight execution
📦 Installation
npm install reactvora⚡ Example Use Case
import { sanitizeSVG, minifySVG, saveSVG } from 'reactvora';
const input = `<svg onclick="alert(1)">...</svg>`;
const clean = sanitizeSVG(input);
const minified = minifySVG(clean);
const filePath = saveSVG(minified);
console.log(filePath);🛠 Use Cases
- 🔹 Icon pipelines for React / frontend apps
- 🔹 NFT or asset preprocessing
- 🔹 Upload sanitization for user-submitted SVGs
- 🔹 Backend media processing services
🧠 Design Philosophy
- Security-first — never trust SVG input
- Minimal dependencies — keep it fast & lightweight
- Developer-friendly — simple APIs, no overhead
📌 Future Ideas
- SVG optimization presets
- Batch processing utilities
- CLI support
📄 License
MIT License © 2026
