Directive Object Notation

Configuración que se lee como se escribe.

Un formato de serialización simple y expresivo, basado en directivas. Alternativa moderna a JSON y YAML.

Comenzar

npm | CLI incluido | MIT

app.donly
# Configuración legible, sin ruido
name "my-application"
version "1.0.0"
port 8080
enabled true

server {
  host "example.com"
  port 443

  route /api/* {
    handler "apiHandler"
    timeout 30
  }
}
index.ts
import { DON } from "donly";

const directives = DON.parse(text);

CLI

$ npx donly inspect app.donly
$ npx donly lint --rules rules.donly app.donly

Pensado para humanos y parsers.

Directivas

Cada línea es una directiva con argumentos. Sin comillas obligatorias en identificadores ni comas.

Bloques anidados

Subdirectivas con llaves y profundidad ilimitada. Un parseo sin ambigüedades.

Tipos primitivos

Strings, números, hex, octal, binario, BigInt, booleanos y null de forma nativa.

Heredocs

Contenido multilínea para HTML, SQL o scripts preservando formato e indentación.

Lint

Valida archivos .donly contra reglas JSON o .donly, con reporte legible o JSON.

Inspect

Inspecciona el AST de cualquier archivo en formato nested, tuple o raw.