mirror of
https://github.com/gromlab-ru/svg-sprites.git
synced 2026-07-22 12:40:21 +03:00
3.1 KiB
3.1 KiB
Конфигурация
Каждый config-файл описывает один независимый спрайт. CLI не ищет конфиг автоматически, поэтому всегда передавайте путь явно:
npx --yes @gromlab/svg-sprites path/to/svg-sprite.config.json
JSON
JSON подходит для большинства проектов и не требует локальной установки пакета:
{
"mode": "next@app/turbopack",
"name": "app",
"description": "Общие иконки приложения",
"input": [
"./icons",
"../../assets/icons/**/*.svg",
"!../../assets/icons/deprecated-*.svg"
],
"transform": {
"removeSize": true,
"replaceColors": true,
"addTransition": true
},
"generatedNotice": true
}
| Поле | По умолчанию | Назначение |
|---|---|---|
mode |
Нет | Exact mode, соответствующий framework и сборщику |
name |
Kebab-case имени каталога модуля; для svg-sprite и svg-sprites — имени родительского каталога |
Имя спрайта; в modes с компонентом также задаёт имя компонента и типов |
description |
Нет | Описание для типов и Viewer |
input |
./icons |
Каталог, SVG-файл, glob-шаблон или массив источников |
transform |
Все включены | Настройки подготовки SVG |
generatedNotice |
true |
Вид предупреждения в generated-файлах |
Пути и glob-шаблоны в input считаются от каталога config-файла. Паттерн с префиксом ! исключает совпадения.
JavaScript
JavaScript-конфиг экспортирует обычный объект по умолчанию:
export default {
mode: 'react@vite',
name: 'icons',
input: './icons',
}
Передайте CLI путь к .js-файлу так же, как к JSON:
npx --yes @gromlab/svg-sprites path/to/svg-sprite.config.js
TypeScript
Для проверки конфига TypeScript установите пакет как dev dependency:
npm install --save-dev @gromlab/svg-sprites
Используйте defineSpriteConfig:
import { defineSpriteConfig } from '@gromlab/svg-sprites'
export default defineSpriteConfig({
mode: 'react@vite',
name: 'icons',
input: './icons',
})
Или примените satisfies с type-only импортом:
import type { SpriteConfig } from '@gromlab/svg-sprites'
export default {
mode: 'react@vite',
name: 'icons',
input: './icons',
} satisfies SpriteConfig
CLI загружает .ts-конфиг напрямую:
npx --yes @gromlab/svg-sprites path/to/svg-sprite.config.ts
Полный список modes, CLI-флагов, правил именования и transform-опций находится в техническом справочнике.