fayzfayz sdk

Deploy estático

O app gerado é um projeto Vite. Publicar é o fluxo estático de sempre: você gera a pasta dist/ e a serve em qualquer host de arquivos estáticos — sem servidor, sem lock-in.

Gere o build

npm run build

Saída típica:

vite v5.4.21 building for production...
✓ 34 modules transformed.
dist/index.html                   0.40 kB │ gzip:  0.27 kB
dist/assets/index-...css          0.00 kB │ gzip:  0.02 kB
dist/assets/index-...js         143.00 kB │ gzip: 46.00 kB
✓ built in 274ms

O resultado é uma pasta dist/ com um index.html e os assets em dist/assets/. Para conferir localmente antes de subir:

npm run preview

A regra que todo host precisa: rewrite para o index.html

O app é uma SPA (single-page app): todas as rotas são servidas pelo index.html e o roteamento acontece no navegador. Por isso todo host precisa de uma regra de rewrite mandando qualquer caminho para o index.html — senão um refresh em /crm dá 404.

Vercel — crie um vercel.json na raiz:

{ "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] }

Build command: npm run build · Output directory: dist.

Netlify — crie um public/_redirects:

/*  /index.html  200

Build command: npm run build · Publish directory: dist.

Cloudflare Pages — mesmo _redirects do Netlify:

/*  /index.html  200

Build command: npm run build · Output directory: dist.

As variáveis de ambiente

No painel do host, defina as variáveis públicas — as mesmas do seu .env.local:

VITE_SUPABASE_URL=https://SEU-REF.supabase.co
VITE_SUPABASE_ANON_KEY=sua-anon-key

O SUPABASE_PAT não vai para o host. Ele serve só para o fayz db apply, que você roda da sua máquina. No host ficam apenas os valores VITE_ (públicos, embarcados no navegador). Nunca coloque o PAT numa variável de build de deploy.

Aponte o projeto para o repositório, configure build + output conforme o host acima, defina as variáveis e faça o deploy. O mesmo dist/ roda idêntico em qualquer um dos três.


Próximo: o deploy gerenciado que está chegando em Deploy Fayz.