Introduction
The philosophy, principles, and goals of JSSON.
What is JSSON?
JSSON (JavaScript Simplified Object Notation) is a programming language for configuration.
It sits between static data formats (JSON, YAML) and general-purpose programming languages (TypeScript, Python). It provides the logic needed to generate complex configurations without the complexity of maintaining full application code just for config files.
JSSON is a meta-format. You write JSSON, but your applications consume standard JSON, YAML, or TOML. No runtime dependencies required.
The Philosophy
1. Configuration is Logic
Configuration files are rarely static. They vary by environment (dev/prod), scale (1 replica vs 100), and context. Standard formats like JSON and YAML force you to duplicate data or use external templating tools (Helm, Jinja2) that break syntax highlighting.
JSSON treats configuration as code:
- Variables to avoid repetition
- Arithmetic for calculated values (
port + 1) - Conditionals for environment-specific logic
- Functions (Maps) for data transformation
2. Write Once, Output Anywhere
Why maintain a package.json, a docker-compose.yml, and a cargo.toml separately? JSSON aims to be the single source of truth.
Write your logic in .jsson, and let the compiler generate:
- JSON for web APIs
- YAML for Kubernetes/Docker
- TOML for Rust/Python tools
- TypeScript for type-safe frontend config
3. Developer Experience First
A configuration language must have excellent tooling. JSSON is built from day one with:
- LSP Support (Go-to-definition, real-time errors)
- Syntax Highlighting
- Strong Typing (via TypeScript output)
- Schema Validation
Core Concepts
Expressive
Do more with less. Generate 10,000 lines of JSON from 20 lines of JSSON using ranges and maps.
Safe
Catch errors at compile time, not runtime. Validate against schemas before checking in code.
Scalable
From a single config file to a modular system with includes, presets, and imports.
Maturity & Ecosystem
JSSON is currently in v0.0.6 (Beta), but is built on a stable core.
- Compiler: Written in Go, fast and dependency-free.
- Spec: Strictly defined grammar.
- Tooling: VS Code Extension, CLI, and HTTP Server are stable.
- Features: Presets, Validators, and Streaming are production-ready.