br-code
v5.0.0
Published
JavaScript em Português — Compile código PT-BR para JavaScript
Downloads
279
Maintainers
Readme
JSBr - JavaScript Brasil 🇧🇷
Programe em Português, Execute em JavaScript!
JSBr é uma linguagem de programação que permite escrever código JavaScript usando palavras-chave e sintaxe em português brasileiro. O código é transpilado para JavaScript padrão.
🚀 Instalação
npm install -g br-code📝 Exemplo Rápido
arquivo.jsbr:
funcao saudacao(nome) {
variavel mensagem = "Olá, " + nome + "!";
retorna mensagem;
}
variavel resultado = saudacao("Brasil");
escreva(resultado);
// Estruturas de controle
se (resultado) {
escreva("Sucesso!");
} senao {
escreva("Erro!");
}
// Loops
para (variavel i = 0; i < 5; i++) {
escreva("Número: " + i);
}
// Arrays
variavel numeros = [1, 2, 3, 4, 5];
numeros.paraCada(num => {
escreva(num * 2);
});Compilado para JavaScript:
function saudacao(nome) {
let mensagem = "Olá, " + nome + "!";
return mensagem;
}
let resultado = saudacao("Brasil");
console.log(resultado);
if (resultado) {
console.log("Sucesso!");
} else {
console.log("Erro!");
}
for (let i = 0; i < 5; i++) {
console.log("Número: " + i);
}
let numeros = [1, 2, 3, 4, 5];
numeros.forEach(num => {
console.log(num * 2);
});🛠️ Uso da CLI
Compilar arquivo
jsbr compilar arquivo.jsbr
jsbr compilar arquivo.jsbr -o saida.js
jsbr compilar arquivo.jsbr --watch # Modo observaçãoExecutar arquivo
jsbr executar arquivo.jsbrCriar novo projeto
jsbr iniciar meu-projeto
cd meu-projeto
npm install
npm run executar📚 Palavras-chave
Declarações
variavel→letconstante→constfuncao→function
Controle de Fluxo
se→ifsenao→elsesenao se→else ifpara→forenquanto→whilefaca→dointerrompa→breakcontinue→continueretorna→returncomuta→switchcaso→case
Try/Catch
tente→trycapture→catchfinalmente→finallylance→throw
Valores
verdadeiro→truefalso→falsenulo→nullindefinido→undefined
Classes e OOP
classe→classestende→extendsconstrutor→constructorestatico→staticnovo→neweste→thissuper→super
Async/Await
asincrono→asyncaguarde→await
Módulos
exporta→exportimporta→importpadrao→defaultcomo→asde→from
🔧 Funções Built-in
Console
escreva()→console.log()erro()→console.error()aviso()→console.warn()info()→console.info()
Arrays
.paraCada()→.forEach().mapeie()→.map().filtre()→.filter().reduza()→.reduce().encontre()→.find().algum()→.some().todo()→.every()
Strings
.inclui()→.includes().comecaCom()→.startsWith().terminaCom()→.endsWith().divida()→.split().maiuscula()→.toUpperCase().minuscula()→.toLowerCase()
Math
aleatorio()→Math.random()arredonde()→Math.round()piso()→Math.floor()teto()→Math.ceil()
💻 Uso Programático
const jsbr = require('jsbr');
// Compilar código
const codigoJSBr = `
funcao soma(a, b) {
retorna a + b;
}
escreva(soma(2, 3));
`;
const codigoJS = jsbr.compile(codigoJSBr);
console.log(codigoJS);
// Executar diretamente
jsbr.run(codigoJSBr);🎯 Exemplos Completos
Servidor Web (Express)
importa express de "express";
constante app = express();
constante porta = 3000;
app.get("/", (req, res) => {
res.send("Olá do JSBr!");
});
app.listen(porta, () => {
escreva("Servidor rodando na porta " + porta);
});Classe e Herança
classe Pessoa {
construtor(nome, idade) {
este.nome = nome;
este.idade = idade;
}
apresentar() {
retorna "Olá, sou " + este.nome;
}
}
classe Desenvolvedor estende Pessoa {
construtor(nome, idade, linguagem) {
super(nome, idade);
este.linguagem = linguagem;
}
programar() {
escreva(este.nome + " está programando em " + este.linguagem);
}
}
variavel dev = novo Desenvolvedor("João", 25, "JSBr");
escreva(dev.apresentar());
dev.programar();Async/Await
asincrono funcao buscarDados() {
tente {
variavel resposta = aguarde fetch("https://api.exemplo.com/dados");
variavel dados = aguarde resposta.json();
retorna dados;
} capture (erro) {
erro("Erro ao buscar dados:", erro);
}
}
buscarDados().then(dados => escreva(dados));🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para:
- Fazer fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abrir um Pull Request
📄 Licença
MIT License - veja o arquivo LICENSE para detalhes.
🌟 Roadmap
- [ ] Suporte a TypeScript (JSBr com tipos)
- [ ] Plugin para VS Code com syntax highlighting
- [ ] REPL interativo
- [ ] Geração de source maps
- [ ] Suporte a JSX/React
- [ ] Integração com frameworks (Vue, React, Angular)
- [ ] Playground online
- [ ] Documentação completa
👥 Autor
Feito com ❤️ para a comunidade brasileira de desenvolvedores!
JSBr - Porque programar em português é massa! 🚀🇧🇷
