svgfusion
v1.40.0
Published
Convert SVG files into blazing-fast React and Vue 3 components with automatic color extraction, full TypeScript support, and seamless integration into any modern workflow.
Downloads
1,305
Maintainers
Readme
SVGFusion
Convert SVG files into React, Vue 3, and React Native components
Documentation • CLI Reference • Interactive Playground
What's Included
This package includes everything you need for SVG to component conversion:
- CLI Tool - Convert SVG files from command line
- Node.js API - Programmatic conversion in Node.js
- Module API - Browser-compatible module for web apps
- React, Vue, and React Native Support - Generate components for all three frameworks
- TypeScript Ready - Full TypeScript support with proper types
Installation
npm install svgfusionQuick Start
CLI Usage
# Clone the repository
git clone https://github.com/lolvOid/svgfusion
cd svgfusion
pnpm install
# Build first (required)
pnpm build
# Use the CLI
pnpm svgfusion icon.svg --framework react --output ./components
pnpm svgfusion ./icons --framework vue --typescript --output ./components
pnpm svgfusion ./icons --framework react-native --typescript --output ./componentsModule Usage (Browser/Web Apps)
import {
convertToReact,
convertToVue,
convertToReactNative,
} from 'svgfusion/browser';
const svgCode = `<svg viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>`;
// React component
const reactResult = await convertToReact(svgCode, {
componentName: 'StarIcon',
typescript: true,
splitColors: true,
});
// Vue component
const vueResult = await convertToVue(svgCode, {
componentName: 'StarIcon',
typescript: true,
splitColors: true,
});
// React Native component (requires react-native-svg in the consuming app)
const rnResult = await convertToReactNative(svgCode, {
componentName: 'StarIcon',
typescript: true,
});Node.js API
import { SVGFusion } from 'svgfusion';
const engine = new SVGFusion();
const result = await engine.convert(svgContent, {
framework: 'react',
transformation: { splitColors: true },
generator: { typescript: true, componentName: 'MyIcon' },
});Documentation
For complete guides, API reference, and examples visit svgfusion.netlify.app
License
MIT
