Vivari: un entorno Node.js completo que se ejecuta dentro del navegador

Fuentes: Vivari — Run Node.js in the browser

Vivari es un runtime compatible con Node.js que funciona íntegramente en el navegador, sin servidor backend. Reúne un sistema de archivos virtual POSIX (escrito en Rust y compilado a WebAssembly), un núcleo con tabla de PID y shell, módulos CommonJS síncronos con resolución de node_modules y builtins como fs, path, process, http y child_process, además de una capa de red virtual. El truco técnico que lo hace posible es Atomics.wait() sobre un Web Worker: la única primitiva del navegador que permite bloquear la ejecución síncrona, requisito imprescindible para que fs.readFileSync() y el resto de la API de Node se comporten como en un sistema real. Los proyectos se montan en el OPFS, lo que permite persistir archivos entre recargas y restaurar dependencias a partir del lockfile sin reinstalar. Un Service Worker intercepta las peticiones HTTP de los iframes y las redirige a un servidor virtual in-memory, de modo que cada puerto obtiene semánticas de localhost reales y los previews se sirven sin tráfico de red.

El SDK se distribuye con núcleo agnóstico de framework y bindings oficiales para React, y admite importar repositorios de GitHub, paquetes de npm, carpetas locales, exportar a .zip o compartir el proyecto como enlace autónomo. Entre los casos de uso que el proyecto describe están sitios de documentación con ejemplos ejecutables, plataformas educativas que no pueden obligar al alumno a instalar un toolchain, productos de IA que necesitan ejecutar código generado en un entorno seguro, y desarrolladores que quieran un sandbox autoalojable en su propio dominio. Vivari se posiciona explícitamente como alternativa a WebContainer de StackBlitz, con la que asegura competir en la misma categoría de proyectos, añadiendo autoalojamiento, embedibilidad comercial y modificabilidad sin licencia negociada.