버전명 표시
This commit is contained in:
@@ -1,6 +1,39 @@
|
||||
import { defineConfig, createLogger } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
import { visualizer } from 'rollup-plugin-visualizer';
|
||||
import { readFileSync } from 'fs';
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const repoRoot = path.resolve(__dirname, '..');
|
||||
|
||||
function readAppVersionForBuild(): string {
|
||||
const fromEnv =
|
||||
process.env.VITE_APP_VERSION?.trim()
|
||||
|| process.env.FRONTEND_APP_VERSION?.trim()
|
||||
|| process.env.DESKTOP_APP_VERSION?.trim();
|
||||
if (fromEnv) return fromEnv;
|
||||
|
||||
try {
|
||||
const latestPath = path.resolve(__dirname, 'public/desktop/updates/latest.json');
|
||||
const latest = JSON.parse(readFileSync(latestPath, 'utf8')) as { version?: string };
|
||||
const fromLatest = latest.version?.trim();
|
||||
if (fromLatest) return fromLatest;
|
||||
} catch {
|
||||
/* optional */
|
||||
}
|
||||
|
||||
try {
|
||||
const confPath = path.resolve(repoRoot, 'desktop/src-tauri/tauri.conf.json');
|
||||
const conf = JSON.parse(readFileSync(confPath, 'utf8')) as { version?: string };
|
||||
return String(conf.version ?? '').trim();
|
||||
} catch {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
const appVersion = readAppVersionForBuild();
|
||||
|
||||
// WebSocket proxy 재연결/종료 시 발생하는 ECONNRESET·EPIPE 는 정상 TCP 이벤트이므로 로그 억제
|
||||
const SUPPRESS = ['ECONNRESET', 'EPIPE', 'ws proxy socket error'];
|
||||
@@ -13,6 +46,9 @@ logger.error = (msg, opts) => {
|
||||
|
||||
export default defineConfig({
|
||||
customLogger: logger,
|
||||
define: {
|
||||
'import.meta.env.VITE_APP_VERSION': JSON.stringify(appVersion),
|
||||
},
|
||||
plugins: [
|
||||
react(),
|
||||
visualizer({ filename: 'dist/stats.html', open: false, gzipSize: true, brotliSize: true }),
|
||||
|
||||
Reference in New Issue
Block a user