Load analytics tags from config during Vite build

This commit is contained in:
legop3
2026-06-18 02:29:23 -04:00
parent a047e88646
commit 73928c60d6
+15 -1
View File
@@ -1,9 +1,23 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import fs from 'node:fs'
const ANALYTICS_PLACEHOLDER = '<!-- analytics:inject -->'
function analyticsTags() {
return {
name: 'analytics-tags',
transformIndexHtml(html) {
const tagsPath = new URL('./src/config/analytics.html', import.meta.url)
const tags = fs.existsSync(tagsPath) ? fs.readFileSync(tagsPath, 'utf8').trim() : ''
return html.replace(ANALYTICS_PLACEHOLDER, tags)
},
}
}
// https://vite.dev/config/
export default defineConfig({
plugins: [react()],
plugins: [react(), analyticsTags()],
build: {
outDir: '../server/public',
emptyOutDir: true,