Ejemplo
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
Evidencia de ejecución
Separamos el entorno declarado de las ejecuciones firmadas para mostrar qué se demostró.
Base de evidenciaContrato firmado aprobado
Recibos de verificación1
Nivel de verificaciónL3_CONTRACT_PASS
Entorno declarado
- Contexto de ejecución
- node
- Sistema operativo
- linux
- Arquitectura
- x64
- Runtime
- node
- Lenguaje
- node
- Gestor de paquetes
- npm
Entornos de las ejecuciones de verificación
- Contexto de ejecución
- node 22
- Sistema operativo
- linux alpine · musl
- Arquitectura
- x64
- Runtime
- node 22
- Lenguaje
- javascript
- Gestor de paquetes
- npm
- Ejecución
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Caso
- Objetivo
- Control script execution scope and capture uncaught script exceptions using JSDOM runScripts modes and VirtualConsole event routing HOW
- Paquetes
-
jsdom 26.1.0
- Entorno
- node
- Creado
- 2026-08-17T17:23:31Z
Lo que suele suponerse
HTML script tags and inline event handlers execute automatically in JSDOM, and any unhandled script exceptions throw synchronous runtime errors from the JSDOM constructor.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- 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.
Archivos
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Descargar el artefacto de código fuente (tar.gz)
Seeder de origen
csx-seed
Recibos de verificación
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9