- Para reduzir a carga de montar separadamente as ferramentas de desenvolvimento web em cada projeto, o Vite+ reúne runtime, gerenciador de pacotes e ferramentas de build, teste e verificação em um único ponto de entrada
vp dev, vp check, vp test, vp build, vp pack, vp run se conectam a Vite 8, Vitest, Rolldown, tsdown, Oxlint, Oxfmt e oferecem um conjunto consistente de comandos
- Desde o alfa, passou por mais de 12 versões e mais de 500 PRs, com melhorias em cache, migração, templates organizacionais, suporte a redes corporativas e estabilidade multiplataforma
- Com base em repositórios públicos, mais de 1.300 dependem de
vite-plus, e projetos como Dify, critical, BlockNote, vinext, îles, Inkline e npmx já estão usando
- Como ainda está antes da versão 1.0, ainda restam cache remoto, suporte a GitLab CI/CD, compatibilidade com frameworks e plugins, migração, canais de distribuição e melhorias de diagnóstico
A toolchain unificada oferecida pelo Vite+
- Vite+ foi lançado em beta como uma toolchain unificada para desenvolvimento web
- Em um único ponto de entrada, gerencia o runtime e o gerenciador de pacotes, além de oferecer várias ferramentas de frontend juntas em uma stack testada
- É totalmente open source sob licença MIT e não é vinculado a nenhum framework específico
- Pode ser usado em vários tipos de projetos web, como CLI, bibliotecas e apps web
- Novos projetos começam com
vp create, e projetos existentes com vp migrate
Desenvolvimento, verificação e build com os mesmos comandos
- O Vite+ foi projetado para usar o mesmo sistema de comandos, em vez de exigir aprender combinações de ferramentas e comandos diferentes em cada repositório
- Os principais comandos são os seguintes
vp dev: inicia um servidor de desenvolvimento baseado no Vite 8 com hot module replacement
vp check: executa de uma vez formatação com Oxfmt, lint com Oxlint e verificação de tipos
vp test: executa testes unitários com base no Vitest
vp build: realiza build de produção com base no Vite 8
vp pack: empacota bibliotecas com base no tsdown e inclui boas práticas
vp run: executa scripts npm ou tarefas com um executor embutido de tarefas com reconhecimento de monorepo e usa cache inteligente
- À medida que equipes e bases de código crescem, os benefícios a seguir aumentam
- versões das ferramentas ficam alinhadas
- fica mais fácil compartilhar configurações
- o processo de setup para novos contribuidores diminui
- o CI executa os mesmos comandos do desenvolvimento local
- É voltado a desenvolvedores que não querem montar manualmente a toolchain repetidamente e a equipes que desejam configurações consistentes em todos os projetos
- O Vite+ não substitui o ecossistema do Vite
- plugins do Vite continuam sendo plugins do Vite
- os projetos podem continuar usando internamente o gerenciador de pacotes que preferirem
- o Vite+ fornece uma camada de integração para que esses elementos funcionem como uma única toolchain
O que mudou do alfa até o beta
- Desde o alfa do Vite+, após testes em projetos reais, foram lançadas mais de 12 versões e mesclados mais de 500 PRs
- As principais melhorias são as seguintes
- Cache mais inteligente: o
vp run combina rastreamento automático de dados com metadados reportados pelo Vite, fazendo o cache de build funcionar corretamente sem listar manualmente entradas, saídas e variáveis de ambiente
- Melhorias de migração: o
vp migrate lida com várias configurações de apps e também fornece prompts de migração para agentes
- Recursos corporativos: com templates organizacionais, padroniza configurações entre equipes, e com HTTP com reconhecimento de proxy e CA personalizada, permite executar
vp mesmo atrás de proxies corporativos e firewalls
- Multiplataforma: o
vp foi reforçado para funcionar melhor nos principais sistemas operacionais e shells
- Refinamento e melhorias: mais de 180 correções e melhorias foram aplicadas ao
vite-plus
- O histórico detalhado de mudanças pode ser visto no registro de releases do Vite+
As ferramentas base também evoluíram juntas
- Enquanto o Vite+ era desenvolvido, as ferramentas subjacentes também continuaram melhorando
- As principais mudanças desde o alfa são as seguintes
Casos reais de adoção
- Há mais de 1.300 repositórios públicos que dependem de
vite-plus, sem contar projetos privados e instalações globais de CLI
- O Vite+ está sendo usado em vários tipos de projeto
- Dify: plataforma open source para criação de apps com LLM
- critical: ferramenta de CSS critical-path independente de framework, de Addy Osmani
- BlockNote: editor rich text em estilo Notion, baseado em blocos, para React
- vinext: framework drop-in compatível com Next.js e baseado em Vite
- zerobyte: automação de backup para usuários self-hosted feita com TanStack e React
- îles: gerador de sites islands com hidratação parcial para Vue
- agentsview: ferramenta local-first de busca e análise de sessões para agentes de código, feita com Svelte
- Inkline: biblioteca de componentes UI com suporte a Vue, React, Svelte, Angular, Solid, Qwik, Astro
- npmx: navegador open source do registro npm baseado em Nuxt
- Daniel Roe, do npmx, afirmou que o Vite+ mantém a experiência de desenvolvimento rápida e também acelera CI e o processo de review
Desafios que ainda restam antes da 1.0
- O Vite+ é estável, mas ainda não está completo; sua adoção é recomendada se ele atender aos recursos necessários de uma toolchain integrada
- Até a 1.0, o foco será nos itens a seguir
- implementar cache remoto para o Vite Task do
vp run
- introduzir
setup-vp para GitLab CI/CD
- melhorar a compatibilidade com frameworks e plugins do Vite de forma ampla
- dar suporte a mais alvos de migração
- adicionar canais de distribuição como uma fórmula oficial do Homebrew
- tornar documentação e diagnósticos mais claros
- O feedback da comunidade é priorizado para reduzir as lacunas de compatibilidade restantes antes do lançamento da 1.0
Instalação e migração
- O comando global
vp pode ser instalado no macOS/Linux com o comando abaixo
curl -fsSL https://vite.plus | bash
- No Windows, use o seguinte comando PowerShell
irm https://vite.plus/ps1 | iex
- Para criar um novo projeto, use o comando abaixo
vp create
- Para testar o Vite+ em um projeto Vite existente, use o comando abaixo
vp migrate
- O
vp migrate mostra um plano de mudanças, mas projetos complexos podem exigir trabalho manual posterior
- Antes de adotar o Vite+ em um projeto de produção, é preciso ler o guia de migração
- Eles querem especialmente feedback de desenvolvedores que estão migrando projetos existentes, autores de frameworks e plugins, e equipes que mantêm grandes repositórios
- Canais relacionados
1 comentários
Comentários do Hacker News
Gosto muito do Vite, mas não faço ideia do que são as outras ferramentas
Fiquei um tempo de cabeça baixa trabalhando e, quando vi, o ecossistema de ferramentas de frontend tinha evoluído de repente; fico me perguntando se existe uma tendência em direção a uma stack chata, mas que funciona bem
O oxlint substitui o eslint, é compatível com o formato dos arquivos de configuração e, por não ser escrito em JavaScript, é muito rápido. Também usei o biome, mas o oxlint tinha mais regras e melhor compatibilidade com eslint
O oxfmt substitui o prettier e também é mais rápido por não ser escrito em JavaScript, e o rolldown substitui o rollup mantendo compatibilidade, mas sendo muito mais rápido. Em projetos novos, já estou usando principalmente essas ferramentas
Antes, era preciso usar ferramentas de projetos open source diferentes, cada uma com suas próprias configurações e ciclos de atualização; agora tudo isso é tratado como uma única cadeia de ferramentas simples
O Vite+ é, na prática, uma stack “chata, mas que funciona”, com desempenho melhor e menos necessidade de configuração
A ideia é reescrever em Rust para ficar mais rápido, como eslint → oxlint e prettier → oxfmt, e aceitar a transição de webpack → Vite, que já está amplamente difundida
rolldown → tsdown adiciona suporte a TypeScript, e jest → vitest combina bem com Vite
É como pegar as convenções estabelecidas na última década e reunir suporte a TypeScript, desempenho baseado em Rust e interoperabilidade em um só lugar
Também uso Deno e queria entender o que exatamente é útil aqui
Gosto de Vite, Vitest, Oxlint e Oxfmt, e na maioria dos projetos novos olho primeiro para esse lado
Espero que esse pessoal tenha financiamento suficiente para continuar desenvolvendo isso por pelo menos os próximos 10 anos
É muito melhor do que abrir um projeto antigo e encontrar Gulp, Grunt, webpack e várias outras ferramentas desconexas misturadas. Até migrei um desses projetos para a nova stack
A questão é se a Cloudflare vai deixar esse pessoal continuar criando funcionalidades do Vite e do Vite+. São recursos que beneficiam não só a Cloudflare, mas qualquer plataforma de nuvem
https://blog.cloudflare.com/voidzero-joins-cloudflare/
Especialmente se for um full-stack com renderização no lado do servidor; se você olhar só para frontend e tirar o TypeScript da jogada, fica bem mais simples
Ainda resta ver se o Vite+ ajuda nos casos mais complexos
Acho que esse projeto precisa encontrar um nome melhor
Na prática, não é exatamente um Vite melhor, mas sim um conjunto de outras ferramentas, então fica bem confuso
Talvez a Void Zero estivesse tentando monetizar com a marca Vite na época, mas agora que foi adquirida pela Cloudflare, isso nem parece mais necessário
Estou usando Vite, Vitest, Rolldown, tsdown, Oxlint e Oxfmt com bastante satisfação
Há muitos pacotes hard-forked e não quero voltar atrás. Simplesmente funciona tudo
Se o nome estiver te confundindo, vale começar por Oxlint https://oxc.rs/docs/guide/usage/linter e Rolldown https://rolldown.rs/
Ao adotar isso nos últimos 6 meses, quase não precisei mexer no tsconfig
Normalmente, a menos que seja algo como antd6, echart, um motor de renderização ou uma biblioteca geoespacial, eu pego um pacote novo, organizo com Claude, ajusto para um sistema de tipos rígido e uniforme e depois adapto ao meu gosto em Vite, tsconfig e oxlint
No fim, isso reduz a necessidade de ficar acompanhando problemas de inchaço de bibliotecas ou ataques à cadeia de suprimentos, além de facilitar leitura e manutenção
O Vite teve cinco grandes versões em quatro anos, de 2022 a 2026: 3 → 4 → 5 → 6 → 7 → 8
Toda vez houve mudanças incompatíveis e os desenvolvedores precisaram migrar; é coisa demais. E nem é como se tivesse melhorado de forma dramática em relação à versão 3
Não quero levar esse nível de mudança desnecessária e confusão constante para o resto da cadeia de ferramentas de desenvolvimento
Se no fim o Vite+ for só um invólucro dos tools existentes por meio de uma interface de linha de comando abstraída, isso significa atravessar ainda mais camadas de indireção para conseguir o comportamento desejado, então ainda não estou otimista
Não lembro de nenhum grande problema, e no geral sempre valeu a pena
Houve algumas mudanças incompatíveis, mas eram relativamente isoladas, e os ganhos de velocidade e melhorias entre essas versões foram bem grandes
Fico curioso para saber que tipos de quebra você enfrentou
As funcionalidades adicionadas para renderização no lado do servidor foram uma grande melhora
Queria que parassem de reclamar sem parar de um problema que não existe. Fico até em dúvida se vocês realmente usam essas ferramentas
É muito difícil acompanhar o frontend, ou até mesmo o ecossistema JavaScript
Sinto falta da época em que trabalhava com Laravel e queria que as vagas com Laravel pagassem melhor
Mesmo assim, precisa continuar acompanhando, e o resultado pode nem ser tão satisfatório
O que você usava antes ainda continua funcionando
Sinto muita falta da época do Laravel 6
Como funcionou com o uv, acho que uma equipe competente conseguiria fazer o mesmo no JavaScript
Para mim, é uma comparação bem óbvia, e isso parece um avanço muito bem-vindo para o ecossistema JavaScript
Graças ao uv, trabalhar com Python voltou a ser prazeroso
Fico curioso se isso também pode ser usado para builds de Node, como o Vite, ou se é só para navegador
Ainda assim, estou usando
vite-plugin-nodecom Vite em um servidor NestJS sem problemasVeja o exemplo em https://github.com/leosuncin/nest-vite-example/blob/master/v...
Basicamente, é só fingir que você mesmo é uma biblioteca
Nesse caso, não uso o Vite como servidor de desenvolvimento, mas lint, formatação, execução de tarefas e cache continuam lá
Qual seria a vantagem? É para ofuscar dentro de SEA?
Também fiquei curioso se isso tem assinatura
Quando vejo um “+” no nome, fico desconfiado e automaticamente assumo que vem com assinatura
Pelo que vi, não parece ser o caso
Agora “$name+” ficou fortemente marcado como “o serviço por assinatura de $name”
Fico curioso se dá para usar isso com Astro