Timothy Jaeryang Baek 3 天之前
父节点
当前提交
ed0659aca6
共有 1 个文件被更改,包括 17 次插入1 次删除
  1. 17 1
      svelte.config.js

+ 17 - 1
svelte.config.js

@@ -1,6 +1,7 @@
 import adapter from '@sveltejs/adapter-static';
 import adapter from '@sveltejs/adapter-static';
 import * as child_process from 'node:child_process';
 import * as child_process from 'node:child_process';
 import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
 import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
+import fs from 'node:fs';
 
 
 /** @type {import('@sveltejs/kit').Config} */
 /** @type {import('@sveltejs/kit').Config} */
 const config = {
 const config = {
@@ -18,7 +19,22 @@ const config = {
 		}),
 		}),
 		// poll for new version name every 60 seconds (to trigger reload mechanic in +layout.svelte)
 		// poll for new version name every 60 seconds (to trigger reload mechanic in +layout.svelte)
 		version: {
 		version: {
-			name: child_process.execSync('git rev-parse HEAD').toString().trim(),
+			name: (() => {
+				try {
+					return child_process.execSync('git rev-parse HEAD').toString().trim();
+				} catch {
+					// if git is not available, fallback to package.json version
+					// or current timestamp
+					try {
+						return (
+							JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url), 'utf8'))
+								?.version || Date.now().toString()
+						);
+					} catch {
+						return Date.now().toString();
+					}
+				}
+			})(),
 			pollInterval: 60000
 			pollInterval: 60000
 		}
 		}
 	},
 	},