Mantén nativos los runtimes
React, Svelte y Lit conservan sus paquetes y APIs normales del navegador. PliegoRS no reimplementa sus renderers. Cada fixture se expone mediante un Custom Element y se admite mediante adapter API v1, dejando visible para el desarrollador el punto real de integración.
Coincide con el descriptor admitido
Antes del registro, el tag exportado del componente, versión de API del adapter, exports de lifecycle y capabilities deben coincidir con el descriptor exacto admitido en el manifest. Se rechazan nombres reservados o inválidos de Custom Elements y combinaciones incoherentes de lifecycle.
- mount
- Crea un root controlado del framework
- update
- Aplica propiedades en vivo a la generación admitida
- HMR
- Dispone el root anterior antes de importar y montar una generación nueva
- destroy
- Retira roots, listeners, timers, channels y scopes del adapter
Ejecuta conformidad real en navegador
npm run check:opensdk:browser-frameworksEl gate de Chrome headless cubre mount, actualización de propiedades, propagación de reduced motion, reemplazo HMR, destrucción del runtime y cleanup de listeners para React, Svelte y Lit.
Mide cleanup bajo ownership adversarial
Un adapter adversarial separado controla un interval real, listener del documento, abort scope y MessageChannel. HMR debe reemplazarlos sin duplicación; destroy debe reducir los cuatro contadores a cero y los eventos o el tiempo posteriores no pueden cambiar el stream de contadores retirado.