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"
|
# 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
|
# und "TS" eine Escape-Sequenz - ein grep auf "error TS" liefe ins Leere und das Tor
|
||||||
# waere immer gruen, ohne je zu pruefen.
|
# 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
|
if grep -E "error TS[0-9]+" tsc.log | grep -v node_modules; then
|
||||||
echo "FEHLER: Typfehler im eigenen Code (siehe oben)."
|
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
|
image: registry.git.lab/axion1337.chat/threadnet-web/desktop-build:bullseye
|
||||||
needs:
|
needs:
|
||||||
- job: web
|
- 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
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG =~ /^v/
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
@@ -295,6 +303,10 @@ desktop_windows:
|
|||||||
- windows
|
- windows
|
||||||
needs:
|
needs:
|
||||||
- job: web
|
- 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
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG =~ /^v/
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
|
|||||||
@@ -234,7 +234,12 @@ if (variant["mac.icon"]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (variant["dmg.badgeIcon"]) {
|
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