Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Paquete cross-env y consideraciones en otros sistemas operativos

5/19
Recursos

Aportes 3

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

cross-env: es una utilidad que sirve para que las variables de entorno sean reconocidas y se puedan utilizar independientemente del sistema operativo en el que estemos desarrollando.
La gran mayoría de los servicios de internet y de servidores ya cuentan con soporte para incorporar variables de entorno, tal es el caso de:
-Vercel
-Heroku
-Github Actions, entre otras

🎎 Paquete cross-env y consideraciones en otros sistemas operativos

Recursos

Apuntes

  • Si bien las variables de entorno existen hace mucho tiempo, no significa que funcionen de la misma forma en todos los sistemas operativos

“La forma de cargar variables de entorno puede variar por sistema operativo”

  • Principalmente en Windows y Linux existe una gran diferencia
# Windows
set MY_SECRET=<your token here>

# Unix (macOS + Linux)
export MY_SECRET=<your token here>
  • La solución es utilizar siempre cross-env

    • Es una buena práctica
  • Next.js ya cuenta integrado por si mismo este paquete, pero para otro tipo de proyectos o aplicaciones, es muy buena práctica utilizar dicho de paquetes

  • Además, que la mayoría de los servidores ya cuenta soporte con las variables de entorno

    Secretos en GH Actions

    steps:
    	- name: Hello world action
    		width: # Set the secret as an input
    			super_secret: ${{ secrets.SuperSecret }}
    		env: # Or as an evironment variable
    			super_secret: ${{ secrets.SuperSecret }}
    

    Secretos en Heroku

    Secretos en Vercel

📌 **RESUMEN:**  Es buena práctica utilizar un paquete como `cross-env` el cual se encargue de la compatibilidad entre diferentes sistemas operativos, aunque ya diferentes servicios implementen los mismos

Entre windows y Linux hay una diferencia en como se usan las variables de entorno →

  • Windows → set MY_SECRET=<your token here>
  • Unix(macOS + Linux) → export MY_SECRET=<your token here>

Cross-env →
Nosotros lo q vamos a lograr es q las variables de entorno funcionen tanto como en windows como en linux y como en cualquier otro sistema. Esta utilidad se encargará de setear el valor según el sistema operativo donde se corra y se ejecute nuestra app.

NextJS ya tiene esto solucionado, desde q nosotros utilicemos los archivos .env no nos tenemos q ocupar mucho por el sistema operativo.

Tener en cuenta → para otro tipo de NodeJS o JavaScript seria muy buena práctica tener en cuenta cross-env para utilizarla en nuestros proyectos.

Así mismo la gran mayoría de servicios de internet y de servidores ya tienen soporte para variables de entorno, por ejemplo, en Github Actions para poner variables de entorno basta con que en nuestro archivo YML escribamos el nombre clave env seguido del secreto, el cual se configura dentro de los settings del repositorio. Sucede lo mismo con Heroku → se llama config-variables y funciona lo mismo, dentro de nuestra configuración tenemos un espacio para agregar nuestro KEY y nuestro VALOR según el ambiente q Heroku nos esté ejecutando. Otro ejemplo sería Vercel, nos ofrece lo mismo y trae opciones adicionales para que lo habilitemos en production, preview o development. El concepto sigue siendo lo mismo y la forma de utilizarlo en nuestra app como es NodeJS sigue siendo proccess.env.Myvariable