SDK Node.js
Carga secretos directamente en una aplicación Node.js al iniciarse.
Node.js SDK
Carga secretos directamente en tu aplicación Node.js al inicio. API asíncrona con fachada de una línea o constructor fluido para control total.
Instalación
npm install @envilder/sdkInicio rápido: una línea
Carga secretos desde un archivo de mapeo e inyéctalos en process.env:
import { Envilder } from '@envilder/sdk';
// Resolve secrets and inject into process.env
await Envilder.load('envilder.json');
const dbPassword = process.env.DB_PASSWORD;Resolver sin inyectar
Obtén secretos como un Map sin modificar el entorno:
import { Envilder } from '@envilder/sdk';
const secrets = await Envilder.resolveFile('envilder.json');
const dbPassword = secrets.get('DB_PASSWORD');Constructor fluido con sobreescrituras
Sobreescribe la configuración del proveedor de forma programática con la API fluida:
import { Envilder, SecretProviderType } from '@envilder/sdk';
const secrets = await Envilder.fromMapFile('envilder.json')
.withProvider(SecretProviderType.Azure)
.withVaultUrl('https://my-vault.vault.azure.net')
.resolve();
// Or inject directly
await Envilder.fromMapFile('envilder.json')
.withProfile('staging')
.inject();Carga basada en entorno
Recomendado para aplicaciones multi-entorno. Mapea cada entorno a su archivo de secretos:
import { Envilder } from '@envilder/sdk';
const env = process.env.APP_ENV ?? 'development';
await Envilder.load(env, {
production: 'prod-secrets.json',
development: 'dev-secrets.json',
test: null, // no secrets loaded
});Validación de secretos
Validación opcional que asegura que todos los secretos resueltos tienen valores no vacíos:
import { Envilder, validateSecrets } from '@envilder/sdk';
const secrets = await Envilder.resolveFile('envilder.json');
validateSecrets(secrets); // throws SecretValidationError if any value is empty