Gestión de varaiables de entorno en Deno

Las variables de entorno son una herramienta esencial para gestionar configuraciones y datos sensibles, como claves API, que varían según el entorno de ejecución. Por ejemplo, al implementar pagos con Stripe, utilizaríamos una clave de prueba en desarrollo local y una clave de producción real en el servidor para procesar los pagos de nuestros usuarios.

En Deno, podemos manipular variables de entorno usando Deno.env. Veamos un ejemplo básico:

main.ts
Deno.env.get("APP");

La API proporciona métodos para obtener (get), establecer (set) y eliminar (delete) variables de entorno. Aunque es posible configurarlas programáticamente, lo más común es recuperar variables establecidas de forma externa.

Existen varias formas de establecer variables de entorno:

  1. Mediante terminal Bash:
export APP=deno
  1. En tareas de Deno:
deno.json
{
"tasks": {
"dev": "export APP=deno && deno run app.ts"
}
}

Para proyectos que requieren múltiples variables, se recomienda usar un archivo .env. Este archivo debe ubicarse en la raíz del proyecto:

.env
APP=deno

Nota importante: En Deno versión 2, es fundamental incluir el indicador --env al ejecutar tareas para poder obtener las variables:

deno.json
{
"tasks": {
"dev": "deno run --env app.ts"
}
}

También es importante tener en cuenta que Deno.env es una API asíncrona, por lo que no es necesario usar await para obtener una variable de entorno.

#Consideraciones de seguridad

Para proteger datos sensibles:

  • Añade .env al archivo .gitignore para evitar que lo comprometamos accidentalmente en un repositorio público Git
  • Utiliza servicios de gestión de secretos en producción
  • Configura variables de entorno directamente en plataformas como Deno Deploy
  • Considera servicios cloud como AWS, GCP o Azure para gestión de secretos

El archivo .env está pensado principalmente para desarrollo local. En producción, utiliza las herramientas de configuración que proporciona tu plataforma para hacer despliegues.