Upload via GUI (39 Dateien)

This commit is contained in:
Git Manager GUI
2026-08-02 17:01:18 +02:00
parent a803f297ea
commit eff6403dd5
26 changed files with 3536 additions and 134 deletions

View File

@@ -0,0 +1,43 @@
'use strict';
/*
* write-build-config.js Vorgaben aus der Umgebung ins Paket schreiben
* ---------------------------------------------------------------------
* Läuft automatisch vor jedem Build und erzeugt src/build-config.json.
*
* Damit landen Adresse und Token der CurseForge-Weiterleitung im fertigen
* Paket, ohne je im Quelltext oder in einem Repository zu stehen. Gesetzt
* werden sie beim Bauen als Umgebungsvariablen:
*
* PowerShell:
* $env:AEROMC_CF_PROXY_URL = "https://cf.example.de"
* $env:AEROMC_CF_PROXY_TOKEN = "..."
* npm run build
*
* bash:
* AEROMC_CF_PROXY_URL=https://cf.example.de AEROMC_CF_PROXY_TOKEN=... npm run build
*
* Ohne gesetzte Variablen wird eine leere Vorgabe geschrieben der Launcher
* verhält sich dann wie bisher und jeder Nutzer trägt selbst etwas ein.
*
* Zur Ehrlichkeit: Ein Token im ausgelieferten Paket ist auslesbar. Es hält
* Gelegenheitsnutzer ab, keine entschlossenen. Der API-Schlüssel selbst
* bleibt davon unberührt der liegt ausschließlich auf dem Server.
*/
const fs = require('fs');
const path = require('path');
const ziel = path.join(__dirname, '..', 'src', 'build-config.json');
const config = {
curseforgeProxyUrl: String(process.env.AEROMC_CF_PROXY_URL || '').trim().replace(/\/+$/, ''),
curseforgeProxyToken: String(process.env.AEROMC_CF_PROXY_TOKEN || '').trim(),
};
fs.writeFileSync(ziel, JSON.stringify(config, null, 2) + '\n', 'utf8');
// Den Token selbst nie ausgeben Build-Protokolle landen schnell woanders.
const wo = config.curseforgeProxyUrl || '(keine)';
const tok = config.curseforgeProxyToken ? 'gesetzt (' + config.curseforgeProxyToken.length + ' Zeichen)' : 'keins';
console.log(`build-config.json geschrieben Weiterleitung: ${wo}, Token: ${tok}`);