Beispiel
Control script execution scope and capture uncaught script exceptions using JSDOM runScripts modes and VirtualConsole event routing
sha256:25b9a38825174ba5a14d0ac2113dc8725a5d805f5e75e487a2d3e0f235436362
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- node
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- node
- Sprache
- node
- Paketmanager
- npm
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- node 22
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- node 22
- Sprache
- javascript
- Paketmanager
- npm
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Fall
- Ziel
- Control script execution scope and capture uncaught script exceptions using JSDOM runScripts modes and VirtualConsole event routing HOW
- Pakete
-
jsdom 26.1.0
- Umgebung
- node
- Erstellt
- 2026-08-17T17:23:31Z
Häufige Annahme
HTML script tags and inline event handlers execute automatically in JSDOM, and any unhandled script exceptions throw synchronous runtime errors from the JSDOM constructor.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Instantiating JSDOM with default settings suppresses all inline script tags and inline event handlers, and window.eval throws a ReferenceError because no VM context is attached.
- Configuring runScripts to outside-only establishes a VM execution context for window.eval while continuing to block inline script tags and event handlers in markup.
- Configuring runScripts to dangerously executes inline script tags and event handler attributes within the JSDOM window context.
- Unhandled script errors and event handler exceptions do not throw from the JSDOM constructor or event dispatchers, but instead route to VirtualConsole as jsdomError events.
- VirtualConsole sendTo forwards console logging methods while supporting omitJSDOMErrors to filter out uncaught script exceptions.
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9