Desktop-App (Electron + Vite + Svelte 5 + TypeScript) zum Export von InfluxDB-v2-Rohdaten als CSV. Zugangsdaten werden nur im Main-Prozess aus einer .env-Datei geladen.
- Node.js 20+ (empfohlen: aktuelle LTS)
- Windows 10/11 zum Erzeugen der
.exe
- Repository klonen bzw. Ordner öffnen.
- Abhängigkeiten installieren:
npm install.envanlegen (Vorlage:.env.example):
INFLUX_URL=http://localhost:8086
INFLUX_TOKEN=…
INFLUX_ORG=…- Entwicklung starten:
npm run devUnter Datei → Einstellungen… (oder Strg+,) bzw. dem Button Einstellungen kannst du URL, Organisation, Token und optionalen HTTP-Timeout setzen. Sie werden als .env im Electron-userData-Ordner gespeichert (Windows typisch %APPDATA%\influx2farm\.env). Diese Datei hat Vorrang vor einer .env im Projektordner.
Leeres Token-Feld beim Speichern bedeutet: vorhandenes Token aus der App-.env beibehalten.
- App bauen und Installer + portable EXE erzeugen:
npm run buildDie Konfiguration setzt signAndEditExecutable: false, damit der Build auf Windows ohne Code-Signing-Toolchain und ohne Symlink-Rechte (Entwickler-Modus) durchläuft. Für die Auslieferung kannst du später echtes Signing ergänzen.
- Ausgabe liegt unter
release/(u. a. NSIS-Setup und portableInflux2Farm … .exe).
Nur Vite/Electron-Build ohne Installer:
npm run build:appEs gibt einen GitHub-Actions-Workflow unter .github/workflows/build-windows-exe.yml.
- Trigger:
pushaufmain, Pull Requests aufmain, manuell viaworkflow_dispatch - Ergebnis: portable Windows-EXE als Artifact
influx2farm-windows-release
Es wird nacheinander die erste vorhandene Datei geladen:
userData(z. B.%APPDATA%\\influx2farm\\.env) — inkl. per UI gespeicherte Einstellungen- Aktuelles Arbeitsverzeichnis (
process.cwd()) - Neben der ausführbaren Datei (
<Installationsordner>\\.env), wenn die App gepackt ist
- Renderer (Svelte): nur UI und IPC; keine DB-Secrets.
- Main:
dotenv, Zod-Validierung, Influx-Client, Flux-Streaming, CSV-Schreiben per Stream (fast-csv+fs.createWriteStream), Fortschritt per IPC-Events.
npm run typecheck