nienv
v1.0.0
Published
Minimalist environment variable loader for React Native and JavaScript projects
Maintainers
Readme
nienv
Un plugin minimalista de Babel para cargar variables de entorno en proyectos JavaScript y React Native, inspirado en react-native-dotenv pero con un enfoque en la simplicidad y el rendimiento.
Características
- ✅ Carga variables desde archivos
.env - ✅ Compatible con React Native
- ✅ Soporte para TypeScript
- ✅ Mínimas dependencias
- ✅ Transformación a nivel de compilación para máximo rendimiento
Instalación
npm install --save-dev nienv
# o
yarn add --dev nienvConfiguración
1. Añade el plugin a tu configuración de Babel
En tu archivo babel.config.js:
module.exports = {
plugins: [
["nienv", {
path: ".env", // opcional, por defecto es .env
safe: true, // opcional, falla si no existe el archivo .env
allowUndefined: false // opcional, permite importar variables no definidas
}]
]
};2. Crea tu archivo .env
API_URL=https://api.example.com
AIRVANA_APP_API=https://airvana.example.com/api
DEBUG=false3. Importa y usa tus variables de entorno
import { API_URL, AIRVANA_APP_API } from "nienv";
console.log(API_URL); // https://api.example.com
console.log(AIRVANA_APP_API); // https://airvana.example.com/apiOpciones de configuración
| Opción | Tipo | Por defecto | Descripción |
|--------|------|-------------|-------------|
| path | string | .env | Ruta al archivo de variables de entorno |
| safe | boolean | false | Si es true, el plugin fallará si el archivo no existe |
| allowUndefined | boolean | false | Si es true, permite importar variables no definidas (con valor vacío) |
Soporte para TypeScript
Para TypeScript, crea un archivo de declaración nienv.d.ts en tu proyecto:
declare module 'nienv' {
export const API_URL: string;
export const AIRVANA_APP_API: string;
// Añade aquí todas tus variables de entorno
}Cómo funciona
nienv es un plugin de Babel que:
- Intercepta las importaciones desde
"nienv" - Lee y parsea el archivo
.env - Reemplaza las importaciones con declaraciones de constantes con los valores correspondientes
Este enfoque garantiza que no hay sobrecarga en tiempo de ejecución y que tus variables de entorno están disponibles en el bundle final.
Licencia
MIT
