Executando verificação de segurança...
19

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

Carregando publicação patrocinada...
2

Caraca, que projeto absurdo amigo, de verdade mesmo! Ele tem um potencial absurdo, acho que gostei da sinxate. E o fato de você ter feito a home em Astro me encantou mais ainda. Continua irmão

2
0
2

Rapaz, que orgulho de ver o quanto esse projeto andou, parabéns! E você adicionou exemplos realmente úteis e que despertam o desejo de usar.

1
1
0
1
0
0