npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ozzzpo/svg-to-react

v1.0.0

Published

package that converts SVGs to React components

Readme

SVG to React

Утилита для конвертации SVG-файлов в React-компоненты с типизацией TypeScript.

Возможности

  • Конвертация SVG-файлов в React-компоненты с поддержкой TypeScript
  • Автоматическое создание компонентов, типов и конфигурации
  • Поддержка цветовых тем (замена цветов на currentColor)
  • Опции для управления размерами и стилями SVG
  • Удобное использование через командную строку

Установка

Глобально (рекомендуется)

npm install -g svg-to-react

Локально в проекте

npm install --save-dev svg-to-react

Использование

Базовое использование

Конвертация всех SVG-файлов в указанной директории:

svg-to-react --dir путь/к/директории/с/svg

Опции командной строки

| Опция | Описание | По умолчанию | |-------------------------|-----------------------------------------------------|------------------------------| | -d, --dir <path> | Путь к директории с SVG-файлами | ./icons или из .env | | -n, --name <name> | Имя компонента (опционально) | Имя файла (в PascalCase) | | --remove-size | Удалить атрибуты width и height | false | | --keep-original-colors | Сохранить оригинальные цвета SVG | false (использует currentColor) |

Примеры

Обработка всех SVG в директории src/assets/icons:

svg-to-react --dir src/assets/icons

Обработка с сохранением оригинальных цветов:

svg-to-react --dir src/assets/icons --keep-original-colors

Обработка с удалением размеров (для гибкого масштабирования):

svg-to-react --dir src/assets/icons --remove-size

Структура создаваемых файлов

Утилита создает следующую структуру файлов:

icons/
├── types.ts             # Типы для всех иконок
├── config.ts            # Конфигурация и экспорт всех иконок
├── IconName1/           # Директория для каждой иконки
│   └── IconName1.tsx    # Компонент иконки
└── IconName2/
    └── IconName2.tsx

Пример использования в React-проекте

import React from 'react';
import { IconType } from './icons/types';
import { iconComponents } from './icons/config';

const IconExample: React.FC = () => {
  // Используем компонент напрямую
  const { Menu } = iconComponents;
  
  return (
    <div>
      <h1>Иконки</h1>
      
      {/* Через компонент */}
      <Menu size={24} color="red" />
      
      {/* Через тип */}
      {iconComponents[IconType.menu]({ size: 32, color: "blue" })}
    </div>
  );
};

export default IconExample;

Настройка через .env

Можно настроить директорию по умолчанию через файл .env:

ICONS_DIR=путь/к/директории/с/иконками

Возможные проблемы и решения

SVG не корректно преобразуется

Убедитесь, что SVG файл правильно форматирован. Некоторые редакторы могут добавлять лишние атрибуты или метаданные.

Решение: Очистите SVG перед конвертацией с помощью инструментов типа SVGO.

Ошибка при создании типов

Если возникают ошибки при создании типов, убедитесь, что в проекте установлены все необходимые зависимости:

npm install --save-dev @types/react

Лицензия

MIT