Typpruefung auf den ganzen Baum ausweiten
apps/desktop/electron-builder.ts:237 war der letzte Typfehler im eigenen Code: config.dmg ist moeglicherweise undefined, weil Upstreams Configuration-Interface zwar linux/win/mac/deb verpflichtend macht, dmg aber nicht. Der Wert steht literal in config - behoben mit ! statt mit einer Zeile in Upstreams Interface, weil der Kommentar direkt darueber genau diese Aenderung vermeiden will, um bei Upstream-Merges keinen Konflikt zu erzeugen. Dasselbe Idiom nutzt die Datei weiter unten fuer win.signtoolOptions. Damit ist der Baum typrein und der Job kann von apps/web auf pnpm -r wechseln. Bis heute brach die Baumpruefung an genau dieser Datei ab und erreichte apps/web nie - deshalb war das Tor am 19.08. eng gefasst; die Begruendung ist hinfaellig. desktop_linux und desktop_windows fuehren typecheck jetzt ebenfalls als needs. Ein Typfehler im Desktop-Code haette sonst weiter ein Paket erzeugt - genau das Loch, das fuer das Web-Image geschlossen wurde. Massstab bleibt unveraendert: kein Fehler ausserhalb von node_modules. Upstreams drei in matrix-js-sdk 42.2.0 bleiben ausgenommen.
This commit is contained in:
+13
-1
@@ -162,7 +162,11 @@ typecheck:
|
||||
# Farbcodes muessen raus: nx faerbt auch in der Pipe, und dann steht zwischen "error"
|
||||
# und "TS" eine Escape-Sequenz - ein grep auf "error TS" liefe ins Leere und das Tor
|
||||
# waere immer gruen, ohne je zu pruefen.
|
||||
- pnpm --dir apps/web lint:types 2>&1 | sed -r 's/\x1b\[[0-9;]*[mK]//g' | tee tsc.log || true
|
||||
# Ganzer Baum, nicht nur apps/web: Bis 2026-08-20 brach `pnpm -r lint:types` an
|
||||
# apps/desktop/electron-builder.ts ab (config.dmg moeglicherweise undefined) und
|
||||
# erreichte apps/web nie - deshalb war der Job anfangs eng gefasst. Der Fehler ist
|
||||
# behoben, damit deckt das Tor auch die Desktop-Pakete ab.
|
||||
- pnpm -r --workspace-concurrency=1 lint:types 2>&1 | sed -r 's/\x1b\[[0-9;]*[mK]//g' | tee tsc.log || true
|
||||
- |
|
||||
if grep -E "error TS[0-9]+" tsc.log | grep -v node_modules; then
|
||||
echo "FEHLER: Typfehler im eigenen Code (siehe oben)."
|
||||
@@ -254,6 +258,10 @@ desktop_linux:
|
||||
image: registry.git.lab/axion1337.chat/threadnet-web/desktop-build:bullseye
|
||||
needs:
|
||||
- job: web
|
||||
# Seit 2026-08-20 prueft typecheck den ganzen Baum, also auch apps/desktop -
|
||||
# dann darf auch kein Desktop-Paket ohne bestandene Pruefung entstehen.
|
||||
- job: typecheck
|
||||
artifacts: false
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^v/
|
||||
@@ -295,6 +303,10 @@ desktop_windows:
|
||||
- windows
|
||||
needs:
|
||||
- job: web
|
||||
# Seit 2026-08-20 prueft typecheck den ganzen Baum, also auch apps/desktop -
|
||||
# dann darf auch kein Desktop-Paket ohne bestandene Pruefung entstehen.
|
||||
- job: typecheck
|
||||
artifacts: false
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^v/
|
||||
|
||||
@@ -234,7 +234,12 @@ if (variant["mac.icon"]) {
|
||||
}
|
||||
|
||||
if (variant["dmg.badgeIcon"]) {
|
||||
config.dmg.badgeIcon = variant["dmg.badgeIcon"];
|
||||
// `!`, weil Upstreams Configuration-Interface oben zwar linux/win/mac/deb
|
||||
// verpflichtend macht, dmg aber nicht - der Wert steht literal in config.
|
||||
// Dort eine Zeile zu ergaenzen waere die schoenere Loesung und genau die
|
||||
// Aenderung an Upstreams Block, die der Kommentar oben vermeiden will.
|
||||
// Dasselbe Idiom nutzt die Datei weiter unten fuer win.signtoolOptions.
|
||||
config.dmg!.badgeIcon = variant["dmg.badgeIcon"];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user