Void, o toolkit full-stack que Cloudflare e VoidZero liberaram como open source em 15 de outubro de 2026, converte uma app Vite em uma app de Cloudflare Workers e deduz os bindings que você precisa a partir dos seus imports. Instalamos e compilamos um starter: importar void/db gerou um binding de D1 e importar void/kv gerou um de KV, sem escrever manualmente nenhuma configuração de Wrangler.
yoDEV Tested · 21 de outubro de 2026 Instalamos
void1.1.12 em Node 24.22 (Linux), geramos o starter Vite + React + D1, executamos em local e compilamos para produção; não executamosvoid deploy. Os resultados que reportamos como nossos saem dessa prova.
O que é Void do Cloudflare?
Void são três produtos open source distribuídos como um único pacote de JavaScript com plugin de Vite, que se instala com npm install void. É desenvolvido por VoidZero, o time por trás de Vite, Vitest, Rolldown e Oxc, que agora faz parte do Cloudflare:
- Void SDK: um SDK componível para apps full-stack com Vite. Inclui rotas de API baseadas em arquivos, loaders e actions do lado do servidor, pré-renderização, cache, islands e tipos que viajam do banco de dados até a interface. Tem adaptadores para React, Vue, Svelte e Solid (as quatro opções que oferece seu assistente), e segundo Cloudflare também convive com Vinext, React Router, SvelteKit, Nuxt, TanStack Start e Astro.
- Void CLI: provisiona recursos e faz deploy em Cloudflare. É construído sobre o novo CLI
cfdo Cloudflare. - Void Platform: uma plataforma de deploy auto-hospedável para que um time publique apps em uma conta compartilhada do Cloudflare sem dar acesso à nuvem para cada funcionário.
O registro do npm publica o pacote com licença MIT; o post do Cloudflare não menciona nenhuma licença. Um detalhe que convém deixar claro: void não é novo no npm. VoidZero publica desde a versão 0.7.0, de 7 de maio de 2026. O que chegou em 15 de outubro, junto com o anúncio, é a linha 1.x. No momento de publicar esta nota, a versão mais recente é a 1.1.12, de 19 de outubro.
A promessa, em resumo: converter uma app Vite em uma app full-stack de Cloudflare Workers. O que importa no dia a dia é que você não declara seus bancos de dados, namespaces de KV nem filas. Void os deduz do que seu código importa e os provisiona ao fazer deploy.
Como se instala Void em uma app Vite?
Em uma pasta vazia, o quickstart oficial usa dois comandos:
npm install -D void
npx void init
Os equivalentes são pnpm add -D void / pnpm void init, yarn add -D void / yarn void init e bun add -D void / bunx void init. Com pnpm você também pode executar pnpm create void my-app.
void init é um assistente interativo. Em nossa prova fez quatro perguntas:
- Toolchain: Vite+ (o toolchain de VoidZero, opção padrão) ou Vite puro. Escolhemos Vite.
- Framework: React, Vue, Svelte ou Solid. Escolhemos React.
- Starter: D1 (SQLite, o recomendado), PostgreSQL, MySQL ou Static Pages. Escolhemos D1.
- Destino do deploy: sua própria conta do Cloudflare, uma Void Platform ou omitir. Omitimos porque não fizemos login no Cloudflare.
Como o assistente precisa de um terminal interativo, ele se detém na primeira pergunta se você o executar sem um. Tenha isso em mente se quiser automatizá-lo.
Depois:
npm run dev
e abra http://localhost:5173.
Quais arquivos o starter gera?
O starter de D1 criou vite.config.ts, void.config.ts, uma página (pages/index.tsx) com seu arquivo de servidor (pages/index.server.ts), uma rota de API (routes/api/hello.ts), um schema de Drizzle (db/schema.ts), um arquivo de seed (db/seed.ts), tsconfig.json, um AGENTS.md com instruções para agentes de código e uma migração inicial em db/migrations/. Também copia toda a documentação de Void em node_modules/void/docs/, algo útil sem conexão e para os agentes.
A configuração de Vite é toda a integração:
import { defineConfig } from "vite";
import { voidPlugin } from "void";
import { voidReact } from "@void/react/plugin";
export default defineConfig({
plugins: [
voidPlugin(),
voidReact({ react: { compiler: true } }),
],
});
void.config.ts contém apenas uma compatibility_date de Workers fixada. Não há nenhum wrangler.jsonc no projeto.
O que aconteceu quando executamos?
O servidor de desenvolvimento iniciou em cerca de nove segundos e aplicou a migração local automaticamente. GET /api/hello retornou o JSON do starter, e a página inicial mostrou sua mensagem de lista vazia até que carregamos a linha de exemplo com:
npx void db seed
O CLI pede para reiniciar o servidor de desenvolvimento depois do seed; após fazer isso, a linha apareceu.
A página do starter inclui ainda um formulário respaldado por uma action em pages/index.server.ts, validada com um schema derivado da tabela de Drizzle. Ao enviar uma mensagem, a linha foi inserida e o loader foi executado novamente, então a página retornou com a lista atualizada. Ao enviar apenas espaços nada foi inserido e a resposta trouxe um erro tipado no campo text: o validador recorta o texto antes de verificar seu comprimento mínimo.
Void cria apenas os bindings de Cloudflare D1 e KV?
Sim, pelo menos até onde o resultado da compilação mostra. npm run build terminou em menos de cinco segundos e gerou dist/ssr/wrangler.json para o Worker. Esse arquivo continha um binding de D1 chamado DB, que saiu unicamente do import { db } from 'void/db' do starter.
Para verificar que não era um template fixo, adicionamos uma rota própria com a API de KV que a documentação incluída no pacote descreve:
// routes/api/visits.ts
import { defineHandler } from 'void';
import { kv } from 'void/kv';
export const GET = defineHandler(async () => {
const visits = ((await kv.get<number>('visits')) ?? 0) + 1;
await kv.put('visits', visits);
return { visits };
});
Após recompilar, a configuração gerada adicionou um binding de KV chamado KV. Localmente, o contador se manteve entre requisições: 1, 2, 3. Nunca editamos um arquivo de Wrangler.
O que não pudemos verificar é a outra metade da promessa: que void deploy converta esses bindings em recursos reais de D1 e KV em sua conta. Esse passo exige fazer login no Cloudflare e aí nos detemos.
Como se faz deploy em Cloudflare Workers com void deploy?
Segundo a documentação de deploy de Void, se você escolheu Cloudflare durante a configuração o comando é:
npx void deploy
Se omitiu esse passo:
npx void deploy --platform cloudflare
O primeiro deploy abre o navegador para fazer login e pergunta qual conta do Cloudflare usar; os seguintes reutilizam o destino salvo. Segundo o post do Cloudflare, o deploy compila a app com Vite, aplica as migrações, provisiona os recursos e publica. A documentação adiciona uma rede de segurança: antes de aplicar migrações, salva um ponto de restauração de D1 Time Travel, e se não conseguir salvá-lo se detém antes de migrar.
Para CI, a documentação indica adicionar CLOUDFLARE_API_TOKEN aos segredos do repositório; void init --github gera um workflow de GitHub Actions.
Se você já tem um Worker com um wrangler.jsonc ou wrangler.json na raiz, a documentação diz que Void pode vinculá-lo e preservar seus recursos.
Void é gratuito?
O toolkit tem licença MIT, e a documentação de Void indica que as apps nativas executam no plano gratuito de Workers dentro de suas quotas. Há duas exceções documentadas: os sandboxes requerem Workers Paid e acesso a Containers, e os pontos de restauração de D1 se salvam 7 dias em Workers Free contra 30 dias em Workers Paid. No momento de publicar esta nota, nem o post nem a documentação que revisamos forneciam preços para uma Void Platform auto-hospedável além dos produtos do Cloudflare que ela precisa.
Void substitui Wrangler?
Não exatamente: trabalham em camadas distintas. Wrangler é o CLI do Cloudflare em que você mesmo declara os bindings em um arquivo de configuração. Void gera essa configuração a partir do seu código (o wrangler.json que encontramos em dist/ foi escrito pela compilação) e seu CLI é construído sobre o CLI cf, mais recente. Se você já tem um Worker gerenciado com Wrangler, Void pode vinculá-lo em vez de substituí-lo. Contamos o passo de Wrangler para cf em nosso guia de migração.
Qual versão de Node.js o Void precisa?
O pacote declara Node 24.21.0 ou superior. Fizemos a prova em Node 24.22. Como verificação adicional, em Node 22.22 o CLI, a compilação de produção e o servidor de desenvolvimento funcionaram sobre o projeto já instalado, mas não testamos uma instalação do zero em Node 22. O recomendável é respeitar o mínimo declarado.
Se pode auto-hospedar Void Platform?
Sim, embora seja um projeto em si mesmo e não faça parte do quickstart. Cloudflare enumera o que você precisa:
- Uma conta do Cloudflare com Workers for Platforms e R2 habilitados
- Um banco de dados PostgreSQL
- Uma conta no provedor de login que você escolher
- Um domínio para suas apps
Uma vez em funcionamento, um administrador controla o acesso, fixa limites de recursos e revisa deploys e consumo desde o CLI ou um painel de administração. Os desenvolvedores se conectam com void connect <url-da-sua-plataforma> e fazem deploy com void deploy --platform void --project <nome>. O caso de uso que Cloudflare apresenta são empresas que querem que seus times, incluindo pessoas que não programam e trabalham com agentes de código, publiquem apps internas em um ambiente compartilhado e governado. Cloudflare sustenta que isso reduz o tempo para publicar uma app interna de dias ou semanas para minutos; é um número do provedor, não algo que tenhamos medido. VoidZero diz que usa o SDK, o CLI e a plataforma em produção há vários meses.
Para a maioria, a porta de entrada prática é o SDK e o CLI contra sua própria conta do Cloudflare. Vale a pena avaliar a plataforma se você gerencia ferramentas internas para um time.
O que não testamos?
void deploye o aprovisionamento real de recursos (requer login no Cloudflare)- Void Platform auto-hospedável
- Windows e macOS
- O toolchain Vite+, os adaptadores de Vue, Svelte e Solid, e os starters de PostgreSQL e MySQL
Uma nota se você reproduz em um ambiente com rede restrita: o servidor de desenvolvimento alertou que não conseguia obter os metadados Request.cf do Cloudflare e usou um valor padrão. Isso se deveu ao fato de que nosso sandbox bloqueia essa conexão, não a Void.
E você? O que te impede hoje de fazer deploy de suas apps em Cloudflare Workers?
- Cloudflare Workers ou Pages
- Vercel ou Netlify
- Meu próprio servidor ou VPS
- Prefiro outra opção (nos conte qual)
Comente abaixo ou, se este artigo chegou até você por email, responda diretamente ao email: sua resposta é publicada aqui.
Relacionado: Cloudflare Comprou Vite: O Frontend Enfim Entrou Oficialmente na Guerra do Edge