JavaScript Simplified Object Notation — A universal configuration meta-format.
Write once, transpile to JSON, YAML, TOML, or TypeScript.
JSSON:
@preset "api" {
timeout = 30
retries = 3
}
users [
template { id, role }
map (u) = @use "api" {
id = @uuid
email = @email
role = u.role
active = yes
}
1..5, "admin"
6..100, "user"
]Output (100 users):
{
"users": [
{
"timeout": 30,
"retries": 3,
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"email": "user_kx7m@example.com",
"role": "admin",
"active": true
}
// ... 99 more
]
}- Logic-First: Variables, ranges, maps, conditionals, arithmetic
- Presets: Reusable configuration templates with
@presetand@use - Validators: Auto-generate UUIDs, emails, dates with
@uuid,@email,@datetime - Multi-Format: Transpile to JSON, YAML, TOML, TypeScript
- VS Code Extension: Full LSP support (syntax highlighting, diagnostics, auto-complete)
- HTTP Server: Built-in REST API for integration
- Schema Validation: Validate output against JSON Schema
- Streaming: Handle millions of records efficiently
# Download from releases
curl -L https://github.com/carlosedujs/jsson/releases/latest/download/jsson-linux-amd64 -o jsson
chmod +x jsson && sudo mv jsson /usr/local/bin/
# Or build from source
go build -o jsson ./cmd/jssonInstall from the VS Code Marketplace.
# Transpile to JSON
jsson -i config.jsson > config.json
# Transpile to YAML
jsson -i config.jsson -f yaml > config.yaml
# Minified output
jsson -i config.jsson -m > config.min.json
# Start HTTP server
jsson serve📚 Full documentation: docs.jssonlang.tech
- Getting Started
- Syntax Reference
- Presets Guide
- Validators Guide
- Patterns & Anti-Patterns
- CLI Reference
- HTTP Server API
- VS Code Extension
- Presets: Reusable configuration blocks with
@presetand@use - Validators: Auto-generate data with
@uuid,@email,@datetime,@url,@ipv4, etc. - Boolean Literals: Use
yes/noandon/offas alternatives totrue/false - Minify Flag:
--minifyfor compact JSON output - Bug Fixes: Int/float comparison, bare identifier handling
See the Changelog for full details.
Contributions are welcome! Please read the Contributing Guide.
MIT © Carlos Eduardo
