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:
32
preview/vite.config.ts
Normal file
32
preview/vite.config.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
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,
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user