Velisch Hot Reload
Überwacht Dateiänderungen und kompiliert oder startet den Server automatisch neu.
Installation
cd tools/hot-reload
cargo build --releaseWatch Mode
Überwacht Dateien und kompiliert bei Änderungen:
velin-hot-reload --watchOptionen
--directory <path>Verzeichnis zu überwachen (Standard: .)
--compile-command <cmd>Kompilier-Befehl (Standard: velin-compiler compile)
velin-hot-reload --watch --directory src/ --compile-command "cargo build"Server Mode
Startet einen Development Server, der bei Änderungen automatisch neu startet:
velin-hot-reload --serverOptionen
--port <port>Port für Development Server (Standard: 3000)
--run-command <cmd>Start-Befehl für Server (Standard: cargo run)
velin-hot-reload --server --port 8080 --run-command "cargo run --bin my-server"Features
Automatische Datei-Überwachung
Überwacht alle .velin Dateien rekursiv
Intelligente Kompilierung
Kompiliert nur geänderte Dateien
Server-Neustart
Startet Server automatisch neu bei Änderungen
Live-Logs
Zeigt Server-Logs und Kompilierungsfehler
Konfiguration
Erstelle eine Konfigurationsdatei im Projekt-Root:
{
"watch": {
"directory": "src/",
"compile_command": "velin-compiler compile",
"ignore": [
"target/**",
"vendor/**",
"*.tmp"
]
},
"server": {
"port": 3000,
"run_command": "cargo run",
"env": {
"RUST_LOG": "debug"
}
}
}VS Code Integration
{
"version": "2.0.0",
"tasks": [
{
"label": "Hot Reload",
"type": "shell",
"command": "velin-hot-reload --server",
"isBackground": true,
"problemMatcher": []
}
]
}Docker Integration
FROM rust:latest
WORKDIR /app
COPY . .
# Installiere Hot Reload
RUN cd tools/hot-reload && cargo build --release
CMD ["velin-hot-reload", "--server", "--port", "3000"]Best Practices
Separate Terminals
Verwende separate Terminals für Hot Reload und Logs
Ignoriere Build-Artefakte
Ignoriere target/, vendor/, etc.
Port-Konfiguration
Verwende unterschiedliche Ports für verschiedene Services
Nur in Development
Verwende Hot Reload nur in Development, nicht in Production