refactor: заменить shiki на самописный highlighter и обновить архитектуру

- Удалён shiki (9.5→0 МБ), создан regex-токенизатор для html/css/xml
- CLI переведён с аргументов на конфиг-файл svg-sprites.config.ts
- Превью переработано: React-приложение вместо инлайн HTML
- Добавлен футер с названием пакета и ссылкой на репозиторий
- Исправлена загрузка dev-data.js для Vite 8
- Футер прижат к низу, содержимое центрировано
This commit is contained in:
2026-04-22 16:54:35 +03:00
parent aad1c97f50
commit e77e7dfcf1
154 changed files with 9083 additions and 516 deletions

View File

@@ -6,7 +6,7 @@
* - Добавление transition к элементам с цветом
*/
import type { TransformOptions } from './types.js'
/** Элементы, которые могут содержать цвет (fill/stroke). */
const COLORABLE_TAGS = [
@@ -173,13 +173,15 @@ function addTransitions(svg: string): string {
})
}
import type { TransformOptions } from './types.js'
/**
* Shape transform для svg-sprite.
*
* Применяет трансформации в зависимости от опций:
* - removeSize: удаление width/height
* - replaceColors: замена цветов на CSS-переменные
* - addTransition: добавление transition к элементам с цветом
* - removeSize: удаление width/height (по умолчанию: true)
* - replaceColors: замена цветов на CSS-переменные (по умолчанию: true)
* - addTransition: добавление transition к элементам с цветом (по умолчанию: true)
*/
export function createShapeTransform(options: TransformOptions = {}): (
shape: { getSVG: (inline: boolean) => string; setSVG: (svg: string) => void },