mirror of
https://github.com/lobehub/lobehub.git
synced 2026-03-26 13:19:34 +07:00
✨ feat(version): display actual desktop app version with canary suffix (#13110)
* ✨ feat(version): display actual desktop app version with canary suffix Add support for fetching and displaying the desktop application's actual version number in the About section. When running on desktop, the version now displays the desktop app's version (including canary suffix if applicable), falling back to the web version if unavailable. - Add getAppVersion IPC method in SystemController - Create versionDisplay utility module with comprehensive tests - Integrate desktop version fetching in Version component * ♻️ refactor(desktop): inject about version at build time
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { resolve } from 'node:path';
|
||||
import { readFileSync } from 'node:fs';
|
||||
import path from 'node:path';
|
||||
|
||||
import dotenv from 'dotenv';
|
||||
import { defineConfig } from 'electron-vite';
|
||||
@@ -34,11 +35,14 @@ function electronDesktopHtmlPlugin(): PluginOption {
|
||||
dotenv.config();
|
||||
|
||||
const isDev = process.env.NODE_ENV === 'development';
|
||||
const ROOT_DIR = resolve(__dirname, '../..');
|
||||
const ROOT_DIR = path.resolve(__dirname, '../..');
|
||||
const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development';
|
||||
|
||||
Object.assign(process.env, loadEnv(mode, ROOT_DIR, ''));
|
||||
const updateChannel = process.env.UPDATE_CHANNEL;
|
||||
const desktopPackageJson = JSON.parse(
|
||||
readFileSync(path.resolve(__dirname, 'package.json'), 'utf8'),
|
||||
) as { version: string };
|
||||
|
||||
console.info(`[electron-vite.config.ts] Detected UPDATE_CHANNEL: ${updateChannel}`);
|
||||
|
||||
@@ -74,8 +78,8 @@ export default defineConfig({
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve(__dirname, 'src/main'),
|
||||
'~common': resolve(__dirname, 'src/common'),
|
||||
'@': path.resolve(__dirname, 'src/main'),
|
||||
'~common': path.resolve(__dirname, 'src/common'),
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -88,21 +92,24 @@ export default defineConfig({
|
||||
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve(__dirname, 'src/main'),
|
||||
'~common': resolve(__dirname, 'src/common'),
|
||||
'@': path.resolve(__dirname, 'src/main'),
|
||||
'~common': path.resolve(__dirname, 'src/common'),
|
||||
},
|
||||
},
|
||||
},
|
||||
renderer: {
|
||||
root: ROOT_DIR,
|
||||
build: {
|
||||
outDir: resolve(__dirname, 'dist/renderer'),
|
||||
outDir: path.resolve(__dirname, 'dist/renderer'),
|
||||
rollupOptions: {
|
||||
input: resolve(__dirname, 'index.html'),
|
||||
input: path.resolve(__dirname, 'index.html'),
|
||||
output: sharedRollupOutput,
|
||||
},
|
||||
},
|
||||
define: sharedRendererDefine({ isMobile: false, isElectron: true }),
|
||||
define: {
|
||||
...sharedRendererDefine({ isMobile: false, isElectron: true }),
|
||||
__MAIN_VERSION__: JSON.stringify(desktopPackageJson.version),
|
||||
},
|
||||
optimizeDeps: sharedOptimizeDeps,
|
||||
plugins: [
|
||||
electronDesktopHtmlPlugin(),
|
||||
|
||||
Reference in New Issue
Block a user