- Bundler JavaScript de próxima geração escrito em Rust
- Compatível com a API e o ecossistema do Webpack, mas mais de 10 vezes mais rápido
- Desenvolvido e amplamente usado dentro da ByteDance, e também começou a ser adotado por muitas empresas como Microsoft, Amazon e Alibaba
Novos recursos adicionados desde a versão 0.1 (há 18 meses)
- Melhorias de desempenho: foram adicionadas otimizações e recursos importantes para garantir melhor desempenho mesmo em projetos de grande escala
- Melhorias de compatibilidade: compatibilidade aprimorada com plugins e loaders do webpack, com suporte a React, Preact, Vue, Solid, Svelte e NestJS
- Otimização do tamanho do bundle: oferece recursos de otimização em nível equivalente ao webpack
- Suporte ao Module Federation 2.0
- API estável e novo site
Por que escolher o Rspack
- Suporte a migração gradual
- Suporte a todos os ambientes onde JavaScript é executado, incluindo navegadores, Node.js, Deno, Electron, aplicações multiplataforma e MiniApps
- Fornece a toolchain Rstack ("Rspack Stack") baseada em Rspack
- Rspack: focado na implementação de um bundler de alto desempenho, com ênfase em equilibrar performance e configuração flexível
- Rsbuild: focado na construção de aplicações web, oferecendo uma experiência de desenvolvimento pronta para uso
- Rslib: focado na construção de bibliotecas, oferecendo saídas ESM e CJS de alta qualidade
- Rspress: focado na geração de sites estáticos, com suporte a MDX para criação de sites de documentação e blogs
- Rsdoctor: focado em análise de build, ajudando desenvolvedores a resolver problemas relacionados ao build
Compatibilidade com webpack
- O Rspack 1.0 foi projetado para ser compatível com o webpack v5, ajudando muitos projetos que usam webpack a migrar de forma fluida para o Rspack
- Mantendo a compatibilidade com webpack, o Rspack 1.0 também adota os padrões web modernos e busca desempenho máximo de build
- Em relação aos padrões web, o Rspack acompanha ativamente a evolução dos padrões web modernos e os desenvolvimentos mais recentes do TC39 e dos padrões web. Por exemplo, o Rspack já oferece suporte ao uso de Web Workers por meio de
new Worker(), à importação de módulos JSON com Import Attributes e à importação de CSS com base na especificação CSS Module Scripts
- Em termos de desempenho, muitas otimizações foram introduzidas na 1.0. Por exemplo, quando hooks do lado JavaScript não são usados, o lado Rust não chama a comunicação com o lado JavaScript. Além disso, o Rspack realiza carregamento sob demanda para muitos objetos de mensagem. Mesmo quando os objetos de mensagem são grandes, se o JavaScript usar apenas um subconjunto das propriedades, o Rspack transfere apenas os dados utilizados para minimizar a sobrecarga de comunicação entre Rust e JavaScript. No futuro, o Rspack planeja fornecer hooks mais leves para uma comunicação ainda mais eficiente entre Rust e JavaScript
- Em futuras versões principais, o Rspack continuará evoluindo com base na API do webpack para atender melhor às necessidades do desenvolvimento web moderno
Planos futuros
- Desenvolvimento do Rspack 1.x - estão previstas novas funcionalidades e melhorias ao longo dos próximos 12 a 18 meses
- Estão planejados suporte a HMR mais rápido, cache portátil, otimizações baseadas em TypeScript, API Rust estável, suporte a React Server Components e melhorias na saída ESM
- Desenvolvimento do Rsbuild 1.0, Rsdoctor 1.0, Rslib 0.x e Rspress 2.0
Ainda não há comentários.