JS-Syntaxpruefung: node --check als Stufe B in check_nfalle
CLAUDE.md behauptete "kein node im Env" - das stimmte nicht mehr, Node
v24.18.0 ist installiert. Die Zeile hat die Frage jahrelang falsch
beantwortet.
Gemessen an 5 realistischen Fehlern findet die alte Klammern-Balance 1,
node --check findet 5 (86 ms):
Klammer zu viel Balance ok node ok
const x = ; Balance blind
let doppelt Balance blind
const doppelt Balance blind
return ausserhalb Fkt. Balance blind
Ein Syntaxfehler in app.js bricht den GESAMTEN Render - das Dashboard
friert auf Altwerten ein. Bei 95 direkt dereferenzierten $("id")-Zugriffen
(0 davon mit ?.) ist das kein theoretisches Risiko.
Geprueft wird als MODUL (.mjs), nicht als CommonJS: als CJS haelt Node ein
top-level return fuer legal, der Browser laedt app.js aber als klassisches
Script, wo es ein Syntaxfehler ist. Verifiziert, dass das echte app.js den
strengeren Modus ohne Anpassung besteht.
Kein npm, keine package.json, kein node_modules - node --check ist die
Laufzeit selbst. Damit entsteht NICHT die Divergenz "Pruefumgebung ist nicht
die Laufumgebung" (der .ps1-BOM-Fehler, das pre-commit-Framework): Node und
Chrome benutzen denselben Parser (V8).
Drei Richtungen verifiziert:
sauber -> gruen
mit eingebautem Fehler-> Exit 1, Commit gestoppt
ohne node im PATH -> Rueckfall auf alte Pruefung, Exit 0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fd3c7f57a5
commit
e7112e1ab6
@@ -257,8 +257,28 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
(WR/PF/Verhältnis/Worst je KW, Ausrichtungs-Split mit/gegen/ohne) gegen die
|
||||
Backtest-Erwartung (WR~68 % · PF~1,3 · Verh~0,55) und flaggt Leckagen (Gegen-Signal-
|
||||
Anteil, WR-Verfall, PF<1, Einzelverlust). **Wöchentlich** laufen lassen (B4/B5).
|
||||
- **Vor „fertig":** immer `python -m py_compile <datei>`; JS grob via Klammern-
|
||||
Balance prüfen (kein node im Env).
|
||||
- **Vor „fertig":** immer `python -m py_compile <datei>`; JS via **`node --check`**
|
||||
(Stufe B in `tools/check_nfalle.py`, läuft im pre-commit-Hook mit).
|
||||
⚠⚠ **KORREKTUR 2026-08-07: „kein node im Env" stimmte nicht mehr** — Node
|
||||
**v24.18.0** ist installiert. Die Zeile hat die Frage „können wir Node nutzen?"
|
||||
jahrelang falsch beantwortet.
|
||||
**Gemessen, warum das zählt:** die alte Klammern-Balance findet **1 von 5**
|
||||
realistischen Fehlern — `const x = ;`, doppeltes `let`/`const` und `return`
|
||||
ausserhalb einer Funktion laufen glatt durch; `node --check` findet **5 von 5**
|
||||
in **86 ms**. Ein Syntaxfehler in `app.js` bricht den **GESAMTEN** Render
|
||||
(Dashboard friert auf Altwerten ein) — bei **95 direkt dereferenzierten**
|
||||
`$("id")`-Zugriffen ist das kein theoretisches Risiko.
|
||||
⚠ **Geprüft wird als MODUL (`.mjs`), nicht als CommonJS:** als CJS hält Node ein
|
||||
top-level `return` für legal, der Browser lädt `app.js` aber als klassisches
|
||||
Script, wo es ein Syntaxfehler ist. Verifiziert, dass das echte `app.js` den
|
||||
strengeren Modus **ohne Anpassung** besteht.
|
||||
⚠ **Kein npm, keine `package.json`, kein `node_modules`** — `node --check` ist
|
||||
die Laufzeit selbst. Damit entsteht NICHT die Divergenz „Prüfumgebung ≠
|
||||
Laufumgebung" (die beim `.ps1`-BOM und beim `pre-commit`-Framework das Problem
|
||||
war): Node und Chrome benutzen **denselben Parser (V8)**.
|
||||
✅ **Drei Richtungen verifiziert:** sauber → grün · mit eingebautem Fehler →
|
||||
**Exit 1**, Commit gestoppt · **ohne Node im PATH** → Rückfall auf die alte
|
||||
Prüfung, Exit 0 (eine frische Maschine darf am Hook nicht hängenbleiben).
|
||||
- **✅ BOOT-LÜCKE GESCHLOSSEN: Auto-Logon AKTIV (2026-08-07).**
|
||||
`OilTradingServer` und `HyperliquidDashboard` hängen an einem **Logon**-Trigger
|
||||
— nach einem Update-Reboot läuft nichts bis zur Anmeldung (real 20.07.:
|
||||
|
||||
Reference in New Issue
Block a user