Release 0.9.3
This commit is contained in:
2
frontend/src/globals.d.ts
vendored
2
frontend/src/globals.d.ts
vendored
@@ -1 +1,3 @@
|
||||
declare const __APP_VERSION__: string;
|
||||
|
||||
interface Worker {}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { NavLink, Outlet, useLocation, useNavigate } from "react-router-dom";
|
||||
import { useSession } from "../lib/session";
|
||||
import { APP_VERSION } from "../lib/version";
|
||||
|
||||
const PAGE_TITLES: Record<string, string> = {
|
||||
"/home": "Startseite",
|
||||
@@ -43,7 +42,7 @@ export default function AppShell() {
|
||||
<aside className="sidebar">
|
||||
<div className="sidebar__brand">
|
||||
<div className="sidebar__logo">
|
||||
MUH <span className="sidebar__version">({APP_VERSION})</span>
|
||||
MUH <span className="sidebar__version">({__APP_VERSION__})</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
/**
|
||||
* Application Version
|
||||
*
|
||||
* Semantic Versioning: MAJOR.MINOR.PATCH
|
||||
* - MAJOR: Incompatible API changes
|
||||
* - MINOR: New functionality (backward compatible)
|
||||
* - PATCH: Bug fixes (backward compatible)
|
||||
*/
|
||||
export const APP_VERSION = "0.9.2";
|
||||
|
||||
/**
|
||||
* Build date - set at build time
|
||||
*/
|
||||
export const BUILD_DATE = new Date().toISOString().split('T')[0];
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,44 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
const CONFIG_DIR = path.dirname(fileURLToPath(import.meta.url));
|
||||
const APPLICATION_CONFIG_PATH = path.resolve(CONFIG_DIR, "../backend/src/main/resources/application.yml");
|
||||
function resolveAppVersion() {
|
||||
const lines = fs.readFileSync(APPLICATION_CONFIG_PATH, "utf8").split(/\r?\n/);
|
||||
let inMuhSection = false;
|
||||
let inAppSection = false;
|
||||
for (const line of lines) {
|
||||
const trimmedLine = line.trim();
|
||||
if (!trimmedLine || trimmedLine.startsWith("#")) {
|
||||
continue;
|
||||
}
|
||||
const indentation = line.length - line.trimStart().length;
|
||||
if (indentation === 0) {
|
||||
inMuhSection = trimmedLine === "muh:";
|
||||
inAppSection = false;
|
||||
continue;
|
||||
}
|
||||
if (inMuhSection && indentation === 2) {
|
||||
inAppSection = trimmedLine === "app:";
|
||||
continue;
|
||||
}
|
||||
if (inMuhSection && inAppSection && indentation === 4 && trimmedLine.startsWith("version:")) {
|
||||
const version = trimmedLine.slice("version:".length).trim().replace(/^['"]|['"]$/g, "");
|
||||
if (/^\d+\.\d+\.\d+$/.test(version)) {
|
||||
return version;
|
||||
}
|
||||
throw new Error(`Ungueltige Versionsnummer in ${APPLICATION_CONFIG_PATH}: ${version}`);
|
||||
}
|
||||
}
|
||||
throw new Error(`muh.app.version konnte nicht aus ${APPLICATION_CONFIG_PATH} ermittelt werden.`);
|
||||
}
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
define: {
|
||||
__APP_VERSION__: JSON.stringify(resolveAppVersion()),
|
||||
},
|
||||
server: {
|
||||
port: 5173,
|
||||
host: "0.0.0.0",
|
||||
|
||||
@@ -1,8 +1,53 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
|
||||
const CONFIG_DIR = path.dirname(fileURLToPath(import.meta.url));
|
||||
const APPLICATION_CONFIG_PATH = path.resolve(CONFIG_DIR, "../backend/src/main/resources/application.yml");
|
||||
|
||||
function resolveAppVersion(): string {
|
||||
const lines = fs.readFileSync(APPLICATION_CONFIG_PATH, "utf8").split(/\r?\n/);
|
||||
let inMuhSection = false;
|
||||
let inAppSection = false;
|
||||
|
||||
for (const line of lines) {
|
||||
const trimmedLine = line.trim();
|
||||
if (!trimmedLine || trimmedLine.startsWith("#")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const indentation = line.length - line.trimStart().length;
|
||||
|
||||
if (indentation === 0) {
|
||||
inMuhSection = trimmedLine === "muh:";
|
||||
inAppSection = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (inMuhSection && indentation === 2) {
|
||||
inAppSection = trimmedLine === "app:";
|
||||
continue;
|
||||
}
|
||||
|
||||
if (inMuhSection && inAppSection && indentation === 4 && trimmedLine.startsWith("version:")) {
|
||||
const version = trimmedLine.slice("version:".length).trim().replace(/^['"]|['"]$/g, "");
|
||||
if (/^\d+\.\d+\.\d+$/.test(version)) {
|
||||
return version;
|
||||
}
|
||||
throw new Error(`Ungueltige Versionsnummer in ${APPLICATION_CONFIG_PATH}: ${version}`);
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error(`muh.app.version konnte nicht aus ${APPLICATION_CONFIG_PATH} ermittelt werden.`);
|
||||
}
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
define: {
|
||||
__APP_VERSION__: JSON.stringify(resolveAppVersion()),
|
||||
},
|
||||
server: {
|
||||
port: 5173,
|
||||
host: "0.0.0.0",
|
||||
|
||||
Reference in New Issue
Block a user