Evalúe directamente un archivo .pkl o .pcf y envíe su salida renderizada a stdout. Úselo
para generar la configuración de una aplicación, alimentar herramientas de despliegue o revisar una configuración antes
de confirmarla. No se necesita ningún proyecto de Elide.
Generar JSON o YAML
Empiece con config.pkl:
service = "api"
port = 8080
Elija el formato que consume su aplicación y redirija el resultado a un archivo:
elide --format=json config.pkl > config.json
elide --format=yaml config.pkl > config.yaml
La salida JSON contiene service y port con los mismos valores y tipos. El comando explícito run también funciona:
elide run --format json config.pkl
Las entradas .pkl y .pcf aceptan las mismas opciones. Por ejemplo, convierta una configuración PCF existente a
JSON:
elide --format=json config.pcf > config.json
Elegir un formato de salida
| Opción | Salida | Uso habitual |
|---|---|---|
--format=json | JSON | Ajustes de aplicaciones y herramientas que consumen JSON |
--format=yaml | YAML | Configuración de despliegue |
--format=pcf | Pkl Configuration Format | Revisar la configuración evaluada en notación Pkl |
Sin --format | La salida configurada del módulo; PCF por defecto | Respetar la definición de salida propia del módulo |
La salida TOML no está admitida. Un formato no admitido falla con el código de salida 2.
Compartir configuración entre archivos
Las importaciones relativas se resuelven desde el archivo de entrada, así que una configuración puede reutilizar valores
predeterminados cercanos aunque se invoque desde otro directorio. Por ejemplo, coloque defaults.pkl y config.pkl
juntos en config/:
// defaults.pkl
port = 8080
// config.pkl
import "defaults.pkl"
service = "api"
port = defaults.port
Desde la raíz del repositorio, renderice la configuración con:
elide --format=json config/config.pkl
Usar la salida en scripts y CI
Stdout contiene solo el documento renderizado; los diagnósticos y los errores de evaluación van a stderr. No hace falta
--quiet para redirecciones ni pipelines. Por ejemplo, con jq instalado, inspeccione una propiedad:
elide --format=json config.pkl | jq '.port'
El manifiesto del proyecto se renderiza igual, lo que muestra su configuración totalmente evaluada, con los valores predeterminados incluidos:
elide --format=json elide.pkl | jq '.dependencies'
Un fallo de evaluación termina con el código 1 y no escribe contenido renderizado en stdout. Para actualizar un
archivo de forma atómica, use --out en lugar de una redirección de la shell:
elide --format=json --out config.json config.pkl
--out config.json escribe un archivo temporal en el directorio de destino y reemplaza config.json de forma atómica
solo cuando la evaluación y la escritura tienen éxito. Los fallos dejan el archivo existente sin cambios y terminan con
un código distinto de cero. El directorio de destino debe existir y admitir el reemplazo atómico. Las rutas relativas
se resuelven desde su directorio de trabajo.
Use --out - para seleccionar stdout de forma explícita:
elide --format=json --out - config.pkl
La representación de documentos rechaza --sandbox y --limit; esos controles de ejecución no se aplican a este
comando. Para ver todas las opciones del comando, consulte la referencia de la CLI. Para leer un
README o un runbook en la misma terminal, consulte Markdown en la terminal.