JSSON – a evolução do projeto e como você pode ajudar
Quando eu comecei o JSSON (JavaScript Simplified Object Notation) a ideia era só ter uma sintaxe mais humana pra gerar JSON sem sofrer. Literalmente isso.
Um projetinho pessoal pra evitar digitar {} e "" o dia todo. Só que… vocês sabem como é dev: a gente inventa moda.
E quando eu publiquei o primeiro post aqui no TabNews (que rendeu 33 upvotese e mais de 25 estrelas no repo do github e valeu demais🙏), o JSSON era basicamente um “JSON fofinho”. Hoje, na v0.0.5.1 (atual), isso tudo virou praticamente um mini-DSL de dados, com features que eu nunca imaginei colocar no início.
Então deixa eu contar rapidinho como evoluiu, o que essa versão trouxe, e como você pode ajudar a construir as próximas.
1. v0.0.1 ~ v0.0.3.1:
-
Só transpila JSON.
-
Sintaxe mais limpa.
-
Ainda tudo simples, sem magia.
-
E mesmo assim, já tinha suporte a templates, map, includes, ranges, mas somente transpilava para JSON no final
2. v0.0.4 ~ v0.0.5.1:
- O projeto finalmente ficou mais “real”
- playground,
- Landing Page
- Transpila já para: TOML, YAML e TYPESCRIPT, e desde daí eu nomeei o JSSON como um Universal Multi-Format Output (pq ele tem a capacidade de se exapandir para outros formatos, como CSV por exemplo).
- Nova CLI.
- Novas Features que considero as que vão definir o futuro dessa linguagem
- Declaração de variaveis globais e locais, com a sintaxe parecendo com golang (:=)
- Maps Avançados, onde vc pode simplesmente transformar valores declarativamente com map() e gerar campos derivados, objetos dinâmicos e pipelines de dados multidimensionais com mapeamentos aninhados. Brinque com isso no playground:
rows := 5
cols := 5
table = (1..rows map (row) = (
1..cols map (col) = row * col
))
- O JSSON ficou mais poderoso em questão de gerar milhares de dados padronizados em High-Scale, por exemplo:
totalUsers := 1000
users = (0..(totalUsers - 1) map (id) = {
id = id
username = "user_" + id
tier = id < 100 ? "bronze" : "silver"
})
E por que desenvolver o JSSON me motiva?
-
Porque, sinceramente, eu sempre tive essa sensação de que a gente aceita umas dores no desenvolvimento só porque “sempre foi assim”.
JSON é ótimo, mas escrever JSON é um castigo: tudo verboso, cheio de aspas, chaves pra todo lado, repetição infinita, impossível escalar sem criar dor de cabeça. E eu pensei: mano… não precisa ser desse jeito. -
Cada vez que eu adiciono um recurso no JSSON, eu vejo o negócio ficando mais limpo, mais lógico, mais legível.
É tipo pegar um dialeto feio e transformar numa língua bonita. -
O JSSON me motiva porque ele junta várias coisas que eu curto:
-
linguagens de programação
-
design de sintaxe
-
compiladores e parsers
-
performance absurda
-
resolver problemas reais com soluções simples
-
-
Outra coisa: o JSSON é aquele tipo de projeto que cresce por si só.
Eu começo tentando resolver um detalhe, e de repente descubro uma ideia nova, um recurso inesperado ou uma forma mais elegante de representar dados. É um projeto que me desafia, mas de um jeito gostoso, não daquele tipo que faz você querer fechar o notebook e virar poeta. -
E principalmente porque eu vejo que mais gente também sente essa mesma dor.
O JSSON tá crescendo, e agora eu quero abrir mais o projeto para colaboração, ideias e PRs.
Aqui vai o que está no radar:
1. Sintaxe de query (v0.0.6)
- Algo estilo array[*].campo, mas simples e sem virar um TONL da vida.
2. Ordenação customizada das propriedades na saída
- JSON com chaves em ordem previsível ajuda MUITO em CI/CD.
3. Inferência de schema e tipo-safe real
- JSSON virar tipo uma ponte entre dados > JSON > TS.
4. CSV oficial
- Esse aqui já tá no forno. Mas opiniões são bem-vindas.
Você pode ajudar de várias formas:
1. Dando sugestões
- Se você usa JSON/YAML/TOML, tem 100% chance de ter alguma dor que o JSSON pode resolver.
2. Abrindo issues
- Se algo quebrar: manda mesmo.
- Se possível, com um trecho de código que reproduza o bug.
3. Abrindo PRs (mesmo pequenos)
- Refator, limpeza, correções, docs, testes — qualquer coisa ajuda.
4. Testando features novas (preview)
- Em breve vou liberar builds nightly com flags experimentais.
5. Divulgando o projeto
- Quanto mais gente usando, mais feedback real aparece.
Por que isso importa?
-
A real é: JSSON tá evoluindo rápido e tá virando uma ferramenta sólida para trabalhar com dados estruturados, com foco em simplicidade, velocidade e sintaxe limpa.
-
E eu quero construir isso junto com a comunidade, desde o TabNews até o GitHub.
-
Se você curte linguagens, parsers, DSLs, frameworks, config, performance — cola junto.
Repositório: https://github.com/carlosedujs/jsson
Playground: https://www.jssonlang.tech/playground
Documentação: https://docs.jssonlang.tech