diff --git a/src/components/BuildVersion.vue b/src/components/BuildVersion.vue new file mode 100644 index 0000000..fb4b904 --- /dev/null +++ b/src/components/BuildVersion.vue @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..b8f1d9e --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,11 @@ +/// + +declare const __BUILD_VERSION__: string + +interface ImportMetaEnv { + readonly VITE_APP_TITLE: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 64cb2b4..1d1f1ae 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,9 +1,17 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' +import { execSync } from 'child_process' + +const gitHash = execSync('git log --format="%h" -1', { encoding: 'utf-8' }).trim() +const buildTime = new Date().toISOString().slice(0, 19).replace(/[-:T]/g, '') +const buildVersion = `${buildTime}-${gitHash}` export default defineConfig({ plugins: [vue()], + define: { + __BUILD_VERSION__: JSON.stringify(buildVersion) + }, resolve: { alias: { '@': resolve(__dirname, 'src')