Compare commits
4 Commits
dev
...
91fb3d79c5
| Author | SHA1 | Date | |
|---|---|---|---|
| 91fb3d79c5 | |||
| aee8705fa3 | |||
| 99c03dccf2 | |||
| d450175871 |
@@ -64,37 +64,6 @@ install_dependencies() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_dependencies_if_needed() {
|
|
||||||
local cache_dir=".deploy-cache"
|
|
||||||
local lock_hash_file="$cache_dir/package-lock.sha256"
|
|
||||||
local current_lock_hash=""
|
|
||||||
local previous_lock_hash=""
|
|
||||||
|
|
||||||
if [ ! -f "package-lock.json" ]; then
|
|
||||||
echo " package-lock.json fehlt, führe npm install aus..."
|
|
||||||
install_dependencies
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$cache_dir"
|
|
||||||
current_lock_hash="$(sha256sum package-lock.json | awk '{print $1}')"
|
|
||||||
if [ -f "$lock_hash_file" ]; then
|
|
||||||
previous_lock_hash="$(cat "$lock_hash_file" 2>/dev/null || true)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "node_modules" ]; then
|
|
||||||
echo " node_modules fehlt, installiere Dependencies..."
|
|
||||||
install_dependencies
|
|
||||||
elif [ "$current_lock_hash" != "$previous_lock_hash" ]; then
|
|
||||||
echo " package-lock.json geändert, führe npm ci aus..."
|
|
||||||
install_dependencies
|
|
||||||
else
|
|
||||||
echo " package-lock.json unverändert, überspringe npm ci"
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '%s\n' "$current_lock_hash" > "$lock_hash_file"
|
|
||||||
}
|
|
||||||
|
|
||||||
use_project_node() {
|
use_project_node() {
|
||||||
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
|
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
|
||||||
if [ -s "$NVM_DIR/nvm.sh" ]; then
|
if [ -s "$NVM_DIR/nvm.sh" ]; then
|
||||||
@@ -270,7 +239,7 @@ echo ""
|
|||||||
echo "3. Installing dependencies..."
|
echo "3. Installing dependencies..."
|
||||||
use_project_node
|
use_project_node
|
||||||
ensure_node_version
|
ensure_node_version
|
||||||
install_dependencies_if_needed
|
install_dependencies
|
||||||
|
|
||||||
# 4. Remove old build (but keep data!)
|
# 4. Remove old build (but keep data!)
|
||||||
echo ""
|
echo ""
|
||||||
@@ -293,16 +262,11 @@ if [ -d ".output" ]; then
|
|||||||
echo " ✓ .output gelöscht"
|
echo " ✓ .output gelöscht"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# .nuxt standardmäßig behalten (beschleunigt Folge-Builds deutlich).
|
# Auch .nuxt Cache löschen für sauberen Build
|
||||||
# Für erzwungenen Clean-Build: CLEAN_NUXT_CACHE=1 ./deploy-production.sh
|
if [ -d ".nuxt" ]; then
|
||||||
if [ "${CLEAN_NUXT_CACHE:-0}" = "1" ]; then
|
echo " Removing .nuxt cache..."
|
||||||
if [ -d ".nuxt" ]; then
|
rm -rf .nuxt
|
||||||
echo " CLEAN_NUXT_CACHE=1 gesetzt: entferne .nuxt cache..."
|
echo " ✓ .nuxt gelöscht"
|
||||||
rm -rf .nuxt
|
|
||||||
echo " ✓ .nuxt gelöscht"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo " Behalte .nuxt cache für schnelleren Build (CLEAN_NUXT_CACHE=1 für Clean-Build)"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prüfe, ob node_modules vorhanden ist (für npm run build)
|
# Prüfe, ob node_modules vorhanden ist (für npm run build)
|
||||||
@@ -325,20 +289,17 @@ if [ ! -f "node_modules/.package-lock.json" ] && [ ! -f "package-lock.json" ]; t
|
|||||||
install_dependencies
|
install_dependencies
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build mit expliziter Fehlerbehandlung und gleichzeitiger Log-Datei
|
# Build mit expliziter Fehlerbehandlung und Output-Capture
|
||||||
BUILD_LOG_FILE=".deploy-cache/build-$(date +%Y%m%d-%H%M%S).log"
|
BUILD_OUTPUT=$(npm run build 2>&1)
|
||||||
mkdir -p ".deploy-cache"
|
BUILD_EXIT_CODE=$?
|
||||||
if npm run build 2>&1 | tee "$BUILD_LOG_FILE"; then
|
|
||||||
BUILD_EXIT_CODE=0
|
# Zeige Build-Output
|
||||||
else
|
echo "$BUILD_OUTPUT"
|
||||||
BUILD_EXIT_CODE=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$BUILD_EXIT_CODE" -ne 0 ]; then
|
if [ "$BUILD_EXIT_CODE" -ne 0 ]; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "ERROR: Build fehlgeschlagen mit Exit-Code $BUILD_EXIT_CODE"
|
echo "ERROR: Build fehlgeschlagen mit Exit-Code $BUILD_EXIT_CODE"
|
||||||
echo "Bitte prüfen Sie die Build-Ausgabe oben auf Fehler."
|
echo "Bitte prüfen Sie die Build-Ausgabe oben auf Fehler."
|
||||||
echo "Build-Log: $BUILD_LOG_FILE"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -347,11 +308,10 @@ echo " Synchronizing public documents into build output..."
|
|||||||
sync_public_documents_to_build
|
sync_public_documents_to_build
|
||||||
|
|
||||||
# Prüfe auf Warnungen im Build-Output, die auf Probleme hinweisen
|
# Prüfe auf Warnungen im Build-Output, die auf Probleme hinweisen
|
||||||
if rg -i "error|failed|missing" "$BUILD_LOG_FILE" >/dev/null 2>&1; then
|
if echo "$BUILD_OUTPUT" | grep -qi "error\|failed\|missing"; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "WARNING: Build-Output enthält möglicherweise Fehler oder Warnungen."
|
echo "WARNING: Build-Output enthält möglicherweise Fehler oder Warnungen."
|
||||||
echo "Bitte prüfen Sie die Ausgabe oben."
|
echo "Bitte prüfen Sie die Ausgabe oben."
|
||||||
echo "Build-Log: $BUILD_LOG_FILE"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prüfe, ob der Build erfolgreich war - mehrere Checks
|
# Prüfe, ob der Build erfolgreich war - mehrere Checks
|
||||||
|
|||||||
@@ -77,37 +77,6 @@ install_dependencies() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_dependencies_if_needed() {
|
|
||||||
local cache_dir=".deploy-cache"
|
|
||||||
local lock_hash_file="$cache_dir/package-lock.sha256"
|
|
||||||
local current_lock_hash=""
|
|
||||||
local previous_lock_hash=""
|
|
||||||
|
|
||||||
if [ ! -f "package-lock.json" ]; then
|
|
||||||
echo " package-lock.json fehlt, führe npm install aus..."
|
|
||||||
install_dependencies
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$cache_dir"
|
|
||||||
current_lock_hash="$(sha256sum package-lock.json | awk '{print $1}')"
|
|
||||||
if [ -f "$lock_hash_file" ]; then
|
|
||||||
previous_lock_hash="$(cat "$lock_hash_file" 2>/dev/null || true)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "node_modules" ]; then
|
|
||||||
echo " node_modules fehlt, installiere Dependencies..."
|
|
||||||
install_dependencies
|
|
||||||
elif [ "$current_lock_hash" != "$previous_lock_hash" ]; then
|
|
||||||
echo " package-lock.json geändert, führe npm ci aus..."
|
|
||||||
install_dependencies
|
|
||||||
else
|
|
||||||
echo " package-lock.json unverändert, überspringe npm ci"
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '%s\n' "$current_lock_hash" > "$lock_hash_file"
|
|
||||||
}
|
|
||||||
|
|
||||||
use_project_node() {
|
use_project_node() {
|
||||||
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
|
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
|
||||||
if [ -s "$NVM_DIR/nvm.sh" ]; then
|
if [ -s "$NVM_DIR/nvm.sh" ]; then
|
||||||
@@ -276,7 +245,7 @@ echo ""
|
|||||||
echo "3. Installing dependencies..."
|
echo "3. Installing dependencies..."
|
||||||
use_project_node
|
use_project_node
|
||||||
ensure_node_version
|
ensure_node_version
|
||||||
install_dependencies_if_needed
|
install_dependencies
|
||||||
|
|
||||||
# 4. Remove old build (but keep data!)
|
# 4. Remove old build (but keep data!)
|
||||||
echo ""
|
echo ""
|
||||||
@@ -299,16 +268,11 @@ if [ -d ".output" ]; then
|
|||||||
echo " ✓ .output gelöscht"
|
echo " ✓ .output gelöscht"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# .nuxt standardmäßig behalten (beschleunigt Folge-Builds deutlich).
|
# Auch .nuxt Cache löschen für sauberen Build
|
||||||
# Für erzwungenen Clean-Build: CLEAN_NUXT_CACHE=1 ./deploy-test.sh
|
if [ -d ".nuxt" ]; then
|
||||||
if [ "${CLEAN_NUXT_CACHE:-0}" = "1" ]; then
|
echo " Removing .nuxt cache..."
|
||||||
if [ -d ".nuxt" ]; then
|
rm -rf .nuxt
|
||||||
echo " CLEAN_NUXT_CACHE=1 gesetzt: entferne .nuxt cache..."
|
echo " ✓ .nuxt gelöscht"
|
||||||
rm -rf .nuxt
|
|
||||||
echo " ✓ .nuxt gelöscht"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo " Behalte .nuxt cache für schnelleren Build (CLEAN_NUXT_CACHE=1 für Clean-Build)"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prüfe, ob node_modules vorhanden ist (für npm run build)
|
# Prüfe, ob node_modules vorhanden ist (für npm run build)
|
||||||
@@ -331,20 +295,17 @@ if [ ! -f "node_modules/.package-lock.json" ] && [ ! -f "package-lock.json" ]; t
|
|||||||
install_dependencies
|
install_dependencies
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build mit expliziter Fehlerbehandlung und gleichzeitiger Log-Datei
|
# Build mit expliziter Fehlerbehandlung und Output-Capture
|
||||||
BUILD_LOG_FILE=".deploy-cache/build-$(date +%Y%m%d-%H%M%S).log"
|
BUILD_OUTPUT=$(npm run build 2>&1)
|
||||||
mkdir -p ".deploy-cache"
|
BUILD_EXIT_CODE=$?
|
||||||
if npm run build 2>&1 | tee "$BUILD_LOG_FILE"; then
|
|
||||||
BUILD_EXIT_CODE=0
|
# Zeige Build-Output
|
||||||
else
|
echo "$BUILD_OUTPUT"
|
||||||
BUILD_EXIT_CODE=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$BUILD_EXIT_CODE" -ne 0 ]; then
|
if [ "$BUILD_EXIT_CODE" -ne 0 ]; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "ERROR: Build fehlgeschlagen mit Exit-Code $BUILD_EXIT_CODE"
|
echo "ERROR: Build fehlgeschlagen mit Exit-Code $BUILD_EXIT_CODE"
|
||||||
echo "Bitte prüfen Sie die Build-Ausgabe oben auf Fehler."
|
echo "Bitte prüfen Sie die Build-Ausgabe oben auf Fehler."
|
||||||
echo "Build-Log: $BUILD_LOG_FILE"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -353,11 +314,10 @@ echo " Synchronizing public documents into build output..."
|
|||||||
sync_public_documents_to_build
|
sync_public_documents_to_build
|
||||||
|
|
||||||
# Prüfe auf Warnungen im Build-Output, die auf Probleme hinweisen
|
# Prüfe auf Warnungen im Build-Output, die auf Probleme hinweisen
|
||||||
if rg -i "error|failed|missing" "$BUILD_LOG_FILE" >/dev/null 2>&1; then
|
if echo "$BUILD_OUTPUT" | grep -qi "error\|failed\|missing"; then
|
||||||
echo ""
|
echo ""
|
||||||
echo "WARNING: Build-Output enthält möglicherweise Fehler oder Warnungen."
|
echo "WARNING: Build-Output enthält möglicherweise Fehler oder Warnungen."
|
||||||
echo "Bitte prüfen Sie die Ausgabe oben."
|
echo "Bitte prüfen Sie die Ausgabe oben."
|
||||||
echo "Build-Log: $BUILD_LOG_FILE"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prüfe, ob der Build erfolgreich war - mehrere Checks
|
# Prüfe, ob der Build erfolgreich war - mehrere Checks
|
||||||
|
|||||||
@@ -1,19 +1,12 @@
|
|||||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||||
export default defineNuxtConfig({
|
export default defineNuxtConfig({
|
||||||
devtools: { enabled: process.env.NODE_ENV !== 'production' },
|
devtools: { enabled: true },
|
||||||
|
|
||||||
modules: ['@nuxtjs/tailwindcss', '@pinia/nuxt'],
|
modules: ['@nuxtjs/tailwindcss', '@pinia/nuxt'],
|
||||||
|
|
||||||
nitro: {
|
nitro: {
|
||||||
preset: 'node-server',
|
preset: 'node-server',
|
||||||
dev: process.env.NODE_ENV !== 'production',
|
dev: process.env.NODE_ENV !== 'production'
|
||||||
sourceMap: false
|
|
||||||
},
|
|
||||||
|
|
||||||
vite: {
|
|
||||||
build: {
|
|
||||||
reportCompressedSize: false
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Erzwinge Dev-Port und Host zuverlässig für `npm run dev`
|
// Erzwinge Dev-Port und Host zuverlässig für `npm run dev`
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "harheimertc-website",
|
"name": "harheimertc-website",
|
||||||
"version": "1.1.4",
|
"version": "1.1.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "harheimertc-website",
|
"name": "harheimertc-website",
|
||||||
"version": "1.1.4",
|
"version": "1.1.3",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pinia/nuxt": "^0.11.2",
|
"@pinia/nuxt": "^0.11.2",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "harheimertc-website",
|
"name": "harheimertc-website",
|
||||||
"version": "1.1.6",
|
"version": "1.1.3",
|
||||||
"description": "Moderne Webseite für den Harheimer Tischtennis Club",
|
"description": "Moderne Webseite für den Harheimer Tischtennis Club",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -3,24 +3,9 @@ import path from 'path'
|
|||||||
import { getUserFromToken } from '../../utils/auth.js'
|
import { getUserFromToken } from '../../utils/auth.js'
|
||||||
|
|
||||||
async function readPackageVersion() {
|
async function readPackageVersion() {
|
||||||
const cwd = process.cwd()
|
const packageJsonPath = path.join(process.cwd(), 'package.json')
|
||||||
const candidatePaths = [
|
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'))
|
||||||
path.join(cwd, 'package.json'),
|
return String(packageJson.version || '')
|
||||||
path.join(cwd, '../package.json')
|
|
||||||
]
|
|
||||||
|
|
||||||
for (const packageJsonPath of candidatePaths) {
|
|
||||||
try {
|
|
||||||
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'))
|
|
||||||
if (packageJson?.version) {
|
|
||||||
return String(packageJson.version)
|
|
||||||
}
|
|
||||||
} catch (_error) {
|
|
||||||
// Try next candidate path (e.g. .output runtime)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ''
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
|
|||||||
@@ -15,11 +15,8 @@ export default defineEventHandler(async (event) => {
|
|||||||
const cwd = process.cwd()
|
const cwd = process.cwd()
|
||||||
const filename = 'mannschaften.csv'
|
const filename = 'mannschaften.csv'
|
||||||
|
|
||||||
// Prefer CMS write target first (server/data/public-data),
|
// Prefer server/data, then .output/public/data, then public/data
|
||||||
// then legacy locations.
|
|
||||||
const candidates = [
|
const candidates = [
|
||||||
path.join(cwd, 'server/data/public-data', filename),
|
|
||||||
path.join(cwd, '../server/data/public-data', filename),
|
|
||||||
path.join(cwd, '.output/server/data', filename),
|
path.join(cwd, '.output/server/data', filename),
|
||||||
path.join(cwd, 'server/data', filename),
|
path.join(cwd, 'server/data', filename),
|
||||||
path.join(cwd, '.output/public/data', filename),
|
path.join(cwd, '.output/public/data', filename),
|
||||||
|
|||||||
Reference in New Issue
Block a user