Files
svg-sprites/preview/vite.config.ts
S.Gromov e77e7dfcf1 refactor: заменить shiki на самописный highlighter и обновить архитектуру
- Удалён shiki (9.5→0 МБ), создан regex-токенизатор для html/css/xml
- CLI переведён с аргументов на конфиг-файл svg-sprites.config.ts
- Превью переработано: React-приложение вместо инлайн HTML
- Добавлен футер с названием пакета и ссылкой на репозиторий
- Исправлена загрузка dev-data.js для Vite 8
- Футер прижат к низу, содержимое центрировано
2026-04-22 16:54:35 +03:00

33 lines
980 B
TypeScript

import { resolve } from 'node:path'
import { readFileSync, writeFileSync, unlinkSync, existsSync } from 'node:fs'
import { defineConfig } from 'vite'
import type { Plugin } from 'vite'
import react from '@vitejs/plugin-react'
import { viteSingleFile } from 'vite-plugin-singlefile'
/** Переименовывает index.html → preview-template.html после сборки. */
function renameOutput(): Plugin {
return {
name: 'rename-preview-template',
closeBundle() {
const outDir = resolve(__dirname, '../dist')
const src = resolve(outDir, 'index.html')
const dest = resolve(outDir, 'preview-template.html')
if (existsSync(src)) {
const content = readFileSync(src, 'utf-8')
writeFileSync(dest, content)
unlinkSync(src)
}
},
}
}
export default defineConfig({
plugins: [react(), viteSingleFile(), renameOutput()],
build: {
outDir: resolve(__dirname, '../dist'),
emptyOutDir: false,
},
})