From dd39bc3910ca04ad9f8cfa7d754445951a042e8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B3=E5=85=83=E7=9A=93?= Date: Sun, 8 Jun 2025 21:36:37 +0800 Subject: [PATCH] Add version tag system, for matching if the deployment is the newest one or not. --- Dockerfile | 2 +- components/app/windows/settings.vue | 3 ++- package.json | 5 +++-- versionTag.ts | 3 +++ versionTagGenerate.ts | 16 ++++++++++++++++ 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 versionTag.ts create mode 100644 versionTagGenerate.ts diff --git a/Dockerfile b/Dockerfile index 1ac5542..0de9d5c 100755 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ # Copy source files COPY . . - + RUN bun run generateVersionTag # Build the application RUN bun run build diff --git a/components/app/windows/settings.vue b/components/app/windows/settings.vue index 12ccde3..5c6c034 100644 --- a/components/app/windows/settings.vue +++ b/components/app/windows/settings.vue @@ -10,6 +10,7 @@ import { DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; +import getVersionTag from "~/versionTag"; import { Button } from "@/components/ui/button"; const { t, locale } = useI18n(); const user = ref(""); @@ -294,7 +295,7 @@ const submitChangeAction = async (action: string) => {
- {{ t("app.settings") }} v0.0.3 + {{ t("app.settings") }} v0.0.3 || Version: {{ getVersionTag() }}
diff --git a/package.json b/package.json index b2c449b..fe6b003 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs", - "wipedev": "./clean-dev-env.sh" + "wipedev": "./clean-dev-env.sh", + "generateVersionTag": "bun run versionTagGenerate.ts" }, "dependencies": { "@fontsource-variable/noto-sans-tc": "^5.2.5", @@ -63,4 +64,4 @@ "overrides": { "@vercel/nft": "^0.27.4" } -} \ No newline at end of file +} diff --git a/versionTag.ts b/versionTag.ts new file mode 100644 index 0000000..cc7b626 --- /dev/null +++ b/versionTag.ts @@ -0,0 +1,3 @@ +export default function versionTag() { + return "value"; +} diff --git a/versionTagGenerate.ts b/versionTagGenerate.ts new file mode 100644 index 0000000..c3b8bbb --- /dev/null +++ b/versionTagGenerate.ts @@ -0,0 +1,16 @@ +import { $ } from "bun"; +const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +function generateVersionTag() { + let slug = ""; + let length = 8; + for (let times = 0; times < length; times++) { + slug += characters.charAt(Math.floor(Math.random() * characters.length)); + } + return slug; +} +const tag = generateVersionTag(); +// Command +await $`echo 'export default function versionTag() {return "${tag}";}' > ./versionTag.ts`; + +console.log("Version Tag:", tag);