svgfusion-cmd

Command-line interface for converting SVG files into React and Vue 3 components with TypeScript support and batch processing capabilities.
22,093
Install
npm install svgfusion-cmd
Latest Version:1.9.0
License:MIT
Last Updated:May 20, 2026
Links: npm
Maintainer: lolvoid

SVGFusion CLI

Command-line interface for converting SVG files into production-ready React, Vue 3, and React Native components with TypeScript support and batch processing capabilities.

Installation

npm install -g svgfusion-cmd
# or
npx svgfusion-cmd

Quick Start

# Convert single SVG to React component
svgfusion-cmd input.svg --output ./components --framework react

# Batch convert all SVGs in a directory
svgfusion-cmd ./icons --output ./components --framework vue --typescript

# Convert SVGs to React Native components (uses react-native-svg)
svgfusion-cmd ./icons --output ./components --framework react-native --typescript

# Watch mode for development
svgfusion-cmd ./icons --output ./components --watch

Features

  • Batch Processing - Convert entire directories of SVG files
  • Fast & Efficient - Optimized for large-scale conversions
  • Framework Support - React, Vue 3, and React Native components
  • TypeScript Ready - Generate .tsx/.ts files with full type support
  • Watch Mode - Automatically convert files on changes
  • Customizable - Extensive configuration options
  • Zero Dependencies - Standalone CLI tool

Usage

Basic Commands

# Convert single file
svgfusion-cmd icon.svg --framework react --output ./components

# Convert directory
svgfusion-cmd ./icons --framework vue --output ./src/components

# With TypeScript
svgfusion-cmd ./icons --framework react --typescript --output ./components

# Watch mode
svgfusion-cmd ./icons --framework react --watch --output ./components

Options

Option Alias Description Default
--framework -f Target framework (react, vue, react-native) react
--output -o Output directory ./output
--typescript -t Generate TypeScript files false
--watch -w Watch for file changes false
--config -c Configuration file path -
--help -h Show help -
--version -v Show version -

Configuration File

Create a svgfusion.config.js file:

export default {
  framework: 'react',
  typescript: true,
  output: './src/components/icons',
  template: 'functional',
  naming: 'PascalCase',
  // Add custom transformations
  transforms: {
    removeIds: true,
    addDisplayName: true,
  },
};

Examples

React Component Output

// Generated IconHome.tsx
import React from 'react';

interface IconHomeProps extends React.SVGProps<SVGSVGElement> {}

export const IconHome: React.FC<IconHomeProps> = props => {
  return (
    <svg
      width="24"
      height="24"
      viewBox="0 0 24 24"
      fill="currentColor"
      {...props}
    >
      <path d="M12 3l8 8v10h-6v-6H10v6H4V11l8-8z" />
    </svg>
  );
};

export default IconHome;

Vue Component Output

<!-- Generated IconHome.vue -->
<template>
  <svg
    width="24"
    height="24"
    viewBox="0 0 24 24"
    fill="currentColor"
    v-bind="$attrs"
  >
    <path d="M12 3l8 8v10h-6v-6H10v6H4V11l8-8z" />
  </svg>
</template>

<script setup lang="ts">
interface Props extends SVGAttributes {}

defineProps<Props>();
</script>

Advanced Usage

Batch Processing with Naming Patterns

# Convert with custom naming
svgfusion-cmd ./icons --framework react --typescript \
  --output ./components \
  --naming "Icon{name}" \
  --case PascalCase

Integration with Build Tools

{
  "scripts": {
    "icons:build": "svgfusion-cmd ./assets/icons --framework react --typescript --output ./src/components/icons",
    "icons:watch": "svgfusion-cmd ./assets/icons --framework react --typescript --output ./src/components/icons --watch"
  }
}

Documentation

Visit svgfusion.netlify.app for complete documentation, examples, and advanced configuration options.

License

MIT © lolvoid

Related Packages

svgfusion-core

Core engine and utilities for SVGFusion - the foundation library that powers SVG...

27,955
svgfusion

Convert SVG files into blazing-fast React and Vue 3 components with automatic co...

20,640 1
svgfusion-dom

Browser-optimized package for converting SVG files into React and Vue 3 componen...

18,806
svgpipe

A flexible CLI tool around svgo for further postprocessing.

951
@yzfe/svgicon-loader

Webpack loader to load svg icon

64,575 911

Version History

Version Released License
1.9.0 MIT
1.8.0 MIT
1.7.1 MIT
1.7.0 MIT
1.6.2 MIT