Saltar al contenido

Renderizar configuración Pkl

Genere JSON, YAML y PCF a partir de archivos de configuración Pkl para aplicaciones, herramientas de despliegue y CI.

Leer sin conexiónelide help --lang es pkl-configuration

En esta página

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:

pkl
service = "api"
port = 8080
utf-8 · pkl · Líneas: 2

Elija el formato que consume su aplicación y redirija el resultado a un archivo:

Terminal
shell
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:

Terminal
shell
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:

Terminal
shell
elide --format=json config.pcf > config.json

Elegir un formato de salida

OpciónSalidaUso habitual
--format=jsonJSONAjustes de aplicaciones y herramientas que consumen JSON
--format=yamlYAMLConfiguración de despliegue
--format=pcfPkl Configuration FormatRevisar la configuración evaluada en notación Pkl
Sin --formatLa salida configurada del módulo; PCF por defectoRespetar 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/:

pkl
// defaults.pkl
port = 8080
utf-8 · pkl · Líneas: 2
pkl
// config.pkl
import "defaults.pkl"

service = "api"
port = defaults.port
utf-8 · pkl · Líneas: 5

Desde la raíz del repositorio, renderice la configuración con:

Terminal
shell
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:

Terminal
shell
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:

Terminal
shell
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:

Terminal
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:

Terminal
shell
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.

¿Te resultó útil esta página?