Glob vzor „*/" v blokovém komentáři předčasně ukončí komentář — syntax error až v runtime
import { Aside } from ‘@astrojs/starlight/components’;
Symptom
Sekce “Symptom”Jednorázový provozní skript (rekonciliace) spadl hned při spuštění na serveru:
SyntaxError: Unexpected token ')'— a stack ukazoval doprostřed dokumentačního komentáře. Soubor přitom prošel code review, unit suite byla zelená a md5 lokální vs. server seděla (nebyla to korupce přenosu).
Root cause
Sekce “Root cause”Docblok popisoval filtr transakcí vzorem s hvězdičkou:
/** * Kroky: * 4) sweep → nezrcadlené záznamy (typ Refund*/Succeeded/RelatedId) → ledger. */Sekvence */ uvnitř Refund*/Succeeded ukončila blokový komentář uprostřed slova. Zbytek řádku (Succeeded/RelatedId) → ledger.) se stal kódem → syntax error. Testy to nechytily, protože skript nikdo neimportuje — parsoval se poprvé až při ostrém spuštění.
Fix
Sekce “Fix”Přepsat vzor tak, aby neobsahoval */:
* 4) sweep → nezrcadlené záznamy (typ Refund×, Succeeded, RelatedId) → ledger.a do preflightu přidat node --check <skript> pro všechny samostatně spouštěné skripty.
Proč je to zákeřné
Sekce “Proč je to zákeřné”*/je legitimní zápis v glob vzorech, regexech i cestách (src/*/index.ts) — v komentáři vypadá zcela nevinně.- Chyba se projeví až při prvním parsování — u skriptů mimo import graph tedy až v produkci/na serveru.
- Stack trace ukazuje do komentáře, což svádí k podezření na encoding/korupci souboru místo na obsah komentáře.