Suporte ao Windows
- O Bun agora pode ser executado no Windows 10 ou superior
- Passa em 98% da suíte de testes do Bun no macOS e Linux
- Inclui um gerenciador de pacotes compatível com npm embutido e, ao instalar um app Vite React, é 18 vezes mais rápido que
yarn e 30 vezes mais rápido que npm
- Suporte a execução de scripts mais rápida no Windows com o formato de arquivo
.bunx
- API do Node.js otimizada no Windows usando as chamadas de sistema mais rápidas disponíveis
- Ex.:
fs.readdir() é 58% mais rápido que no Node.js
Bun é um runtime JavaScript
- Suporte a JavaScript, TypeScript e JSX
- Ferramentas de linha de comando como
tsc são até 2 vezes mais rápidas que no Bun 1.0
- O Bun Shell agora se tornou um shell multiplataforma disponível também no Windows
- Inclui utilitários principais como
ls, rm e cat
- É possível executar o shell em JavaScript e TypeScript usando a API
Bun.$
Bun.Glob
- Fornece uma API Glob embutida para correspondência de arquivos e strings
- Semelhante a
fast-glob e micromatch, mas com correspondência de strings 3 vezes mais rápida
Bun.Semver
- Nova API Semver para parsing e ordenação de strings semver
- Semelhante ao pacote
node-semver, mas 20 vezes mais rápida
Bun.stringWidth()
- Nova API para medir a largura visível de strings no terminal
- Suporte a códigos de escape ANSI, caracteres de largura total, grafemas e emoji
server.url: com Bun.serve(), é possível obter a URL do servidor HTTP criado pela propriedade server.url
server.requestIP(): é possível obter o endereço IP de uma requisição HTTP com o método server.requestIP()
subprocess.resourceUsage(): é possível acessar o uso de CPU e memória de um subprocesso criado com Bun.spawn() pelo método resourceUsage()
- Compatibilidade com Node.js aprimorada
- Várias APIs foram melhoradas, incluindo a API cliente de
node:http2, compatibilidade com Date.parse() e suporte a fs.readdir() recursivo
- IPC entre Bun e Node.js é possível
- Também há suporte a algumas APIs não documentadas do Node.js
- Web API: suporte a APIs padrão da Web como
WebSocket, performance.mark(), fetch() com compressão Brotli e URL.canParse()
Bun é um gerenciador de pacotes compatível com npm
- Com
bun install, é possível instalar pacotes npm até 29 vezes mais rápido
- Melhorias em recursos como scripts de ciclo de vida,
trustedDependencies e bun pm trust
Bun é um bundler JavaScript
- Suporte a empacotar código executável no Node.js com
bun build --target=node
- É possível compilar arquivos TypeScript e JavaScript em um executável de arquivo único usando a flag
--compile
Bun é um test runner
- Fornece um módulo de testes embutido com a mesma API do Jest
- Adição de novos matchers para
expect() e suporte a mocking de módulos
Suporte embutido ao SQLite
- Suporte a SQLite com uma API inspirada no
better-sqlite3
- Melhorias em consultas com múltiplas instruções, mensagens de erro detalhadas, importação de banco de dados e suporte embutido
Opinião do GN⁺
- O Bun é um kit de ferramentas JavaScript que melhora bastante o desempenho mantendo compatibilidade com Node.js, e com o suporte ao Windows passa a alcançar uma comunidade maior de desenvolvedores.
- O test runner embutido e o suporte a SQLite ajudam os desenvolvedores a trabalhar com eficiência sem ferramentas adicionais.
- O desempenho rápido do Bun e a experiência de desenvolvimento aprimorada podem se destacar especialmente em projetos grandes ou aplicações sensíveis a desempenho.
- Apesar das várias funcionalidades e melhorias oferecidas pelo Bun, ainda são necessários desenvolvimento contínuo e feedback da comunidade para atingir compatibilidade total com o amplo ecossistema de pacotes do Node.js.
- É necessária uma análise adicional sobre como os novos recursos do Bun podem competir ou cooperar com as ferramentas existentes baseadas em Node.js.
1 comentários
Comentários do Hacker News
Lista impressionante de mudanças no Bun
Recurso de macros do Bun
Dúvida sobre por que usar Bun e Deno
Grande fã do Bun
Avaliação do novo lançamento do Bun
.jsdo projeto e o runtime em um executável sem dependências. Isso é útil quando se quer distribuir um único binário para o usuário, mas no momento o tamanho do arquivo ainda é considerável (mais de 90 MB para um projeto pequeno em GNU/Linux).Pedido à equipe do Bun
Participação de um desenvolvedor do Bun
Pergunta sobre a estabilidade do Bun
Modelo de receita do Bun e financiamento por VC