feat: allow clients to fetch drop version

This commit is contained in:
Huskydog9988
2025-05-29 13:27:38 -04:00
parent be793ce0f7
commit 15806a3c9f
3 changed files with 39 additions and 6 deletions

View File

@ -1,6 +1,20 @@
import tailwindcss from "@tailwindcss/vite";
import { execSync } from "node:child_process";
const dropVersion = "v0.3.0";
// get drop version
const dropVersion =
process.env.BUILD_DROP_VERSION === undefined
? "v0.3.0-alpha.1"
: process.env.BUILD_DROP_VERSION;
// example nightly: "v0.3.0-nightly.2025.05.28"
// get git ref or supply during build
const commitHash =
process.env.BUILD_GIT_REF === undefined
? execSync("git rev-parse --short HEAD").toString().trim()
: process.env.BUILD_GIT_REF;
console.log(`Building Drop ${dropVersion} #${commitHash}`);
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
@ -42,16 +56,17 @@ export default defineNuxtConfig({
plugins: [tailwindcss()],
},
runtimeConfig: {
gitRef: commitHash,
dropVersion: dropVersion,
},
app: {
head: {
link: [{ rel: "icon", href: "/favicon.ico" }],
},
},
appConfig: {
dropVersion: dropVersion,
},
routeRules: {
"/api/**": { cors: true },
},

View File

@ -1,5 +1,9 @@
import { systemConfig } from "~/server/internal/config/sys-conf";
export default defineEventHandler((_h3) => {
return {
appName: "Drop",
version: systemConfig.getDropVersion(),
ref: systemConfig.getGitRef(),
};
});

View File

@ -1,13 +1,23 @@
class SystemConfig {
private libraryFolder = process.env.LIBRARY ?? "./.data/library";
private dataFolder = process.env.DATA ?? "./.data/data";
private dropVersion = "v0.3.0";
private dropVersion;
private gitRef;
private checkForUpdates =
process.env.CHECK_FOR_UPDATES !== undefined &&
process.env.CHECK_FOR_UPDATES.toLocaleLowerCase() === "true"
? true
: false;
constructor() {
// get drop version and git ref from nuxt config
const config = useRuntimeConfig();
this.dropVersion = config.dropVersion;
this.gitRef = config.gitRef;
}
getLibraryFolder() {
return this.libraryFolder;
}
@ -20,6 +30,10 @@ class SystemConfig {
return this.dropVersion;
}
getGitRef() {
return this.gitRef;
}
shouldCheckForUpdates() {
return this.checkForUpdates;
}