VOLVER

Habilita variables de entorno en tus configuraciones con env-interpolation

2 min de lectura

Lancé env-interpolation, un pequeño ayudante de TS que interpola ${VAR} y ${VAR:default} dentro de valores de configuración. Recorre cadenas en objetos/arrays y nunca toca las claves, por lo que las formas se mantienen estables y predecibles—muy orientado a configuración.

Nacido de mcp-tool-selector, donde necesitaba configuración en capas sin filtrar secretos o llenar de llamadas a process.env. Se convirtió en una pequeña utilidad afilada, así que la publiqué.

De un vistazo

  • Resuelve marcadores de posición en valores solamente (objetos/arrays), claves intactas
  • Soporta valores predeterminados y resolución de múltiples pasadas
  • Cero dependencias, TS-first, Node 18+, ESM/CJS

Docs & API: lee el repositorio de GitHub y la página del paquete npm.

Prueba rápida: cargar JSON → interpolar

config.json

{
"api": "${API_URL:https://api.example.com}",
"timeoutMs": "${TIMEOUT:5000}",
"flags": ["${PRIMARY:alpha}", "${SECONDARY:beta}"],
"service": {
"url": "${SERVICE_URL:${API_URL}/v1}",
"headers": { "x-tenant": "${TENANT:public}" }
}
}

load-config.ts

import { readFileSync } from "node:fs";
import { interpolate } from "env-interpolation";
const raw = readFileSync("config.json", "utf8");
const input = JSON.parse(raw);
const resolved = interpolate(input, {
API_URL: "https://api.example.com",
TIMEOUT: "8000",
TENANT: "public",
});
console.log(resolved);

Este es mi segundo proyecto diseñado con IA (el primero fue mcp-server-giphy), construido con múltiples agentes de IA (Claude, Copilot, Gemini & Codex). Si tus configuraciones abarcan archivos, entornos y herramientas, esto debería eliminar algunas molestias.

Relacionado: Para almacenamiento seguro de secretos sin archivos de texto plano, echa un vistazo a cross-keychain, que almacena credenciales en el gestor de credenciales nativo de tu SO.