Sugerencias
← TIL
~2 min de lectura
#astro#cloudflare#workerd#devops

[Astro 6] Unified Runtime: workerd en tu local

El mayor problema de las arquitecturas Edge era la inconsistencia sistémica: históricamente desarrollábamos sobre Node.js pero desplegábamos en runtimes restringidos y basados en estándares web como Cloudflare Workers. Esta brecha generaba errores silenciosos que solo aparecían en producción. Astro 6 elimina esta incertidumbre mediante el Unified Runtime, basado en la Vite 7 Environment API.

¿Cómo garantiza Astro 6 la paridad?

Astro activa un plugin que levanta una instancia real de workerd. Cuando hacés una petición local, el código corre dentro del worker real, no en el proceso Node. Esto garantiza que si un binding de R2 o una query a D1 funciona en tu máquina, funcionará igual al desplegar.

El reto del CommonJS (CJS)

A diferencia de Node.js, workerd solo soporta EcmaScript Modules (ESM). Si usás librerías legacy (CJS), van a fallar.

// astro.config.mjs
export default defineConfig({
  adapter: cloudflare(),
  vite: {
    optimizeDeps: {
      include: ['mi-libreria-legacy', 'otro-package-cjs'],
    },
  },
});

Dominar esta configuración elimina definitivamente los bugs de "en mi local funcionaba", permitiéndote enfocar el desarrollo en estándares web modernos. Si querés profundizar en las implicancias arquitectónicas de este cambio, leé mi análisis sobre Astro 6 y la soberanía tecnológica.

Enlace copiado al portapapeles