mirror of
https://github.com/kccleoc/seedpgp-web.git
synced 2026-03-07 01:47:52 +08:00
52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import wasm from 'vite-plugin-wasm'
|
|
import topLevelAwait from 'vite-plugin-top-level-await'
|
|
import { execSync } from 'child_process'
|
|
import fs from 'fs'
|
|
|
|
// Read version from package.json
|
|
const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf-8'))
|
|
const appVersion = packageJson.version
|
|
|
|
// Get git commit hash
|
|
const gitHash = execSync('git rev-parse --short HEAD').toString().trim()
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
wasm(),
|
|
topLevelAwait(),
|
|
react(),
|
|
{
|
|
name: 'html-transform',
|
|
transformIndexHtml(html) {
|
|
return html.replace(/__APP_VERSION__/g, appVersion);
|
|
}
|
|
}
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
buffer: 'buffer',
|
|
}
|
|
},
|
|
optimizeDeps: {
|
|
esbuildOptions: {
|
|
define: {
|
|
global: 'globalThis'
|
|
}
|
|
}
|
|
},
|
|
base: '/', // Always use root, since we're Cloudflare Pages only
|
|
publicDir: 'public', // ← Explicitly set (should be default)
|
|
build: {
|
|
outDir: 'dist',
|
|
emptyOutDir: false,
|
|
},
|
|
define: {
|
|
'__APP_VERSION__': JSON.stringify(appVersion),
|
|
'__BUILD_HASH__': JSON.stringify(gitHash),
|
|
'__BUILD_TIMESTAMP__': JSON.stringify(new Date().toISOString()),
|
|
'global': 'globalThis',
|
|
}
|
|
})
|