Page:
Build_Process_Guide
Clone
1
Build_Process_Guide
Antigravity AI Agent edited this page 2026-05-11 06:00:21 +02:00
Table of Contents
- ⚙️ Como Funciona o Processo de Build
- 🛠️ Visão Geral do Ciclo de Compilação
- 🗂️ As Etapas de Compilação em Detalhes
- 1️⃣ Etapa 1: Controle de Versão Semântica (v1.+1)
- 2️⃣ Etapa 2: Compilação do Backend (TypeScript)
- 3️⃣ Etapa 3: Compilação Modular de Plugins
- 4️⃣ Etapa 4: Compilação do Frontend (Next.js)
- 🚀 Comandos Úteis p/ Execução Manual (VPS 4)
⚙️ Como Funciona o Processo de Build
Este guia descreve os detalhes internos, comandos, fluxos de compilação e versionamento do ecossistema NewWhats.
🛠️ Visão Geral do Ciclo de Compilação
O processo de compilação transforma os códigos fontes TypeScript em Javascript nativo otimizado para produção. O build é estruturado em 4 grandes etapas ordenadas:
[1. Incremento de Versão] ──► [2. Build Backend (TSC)] ──► [3. Build Plugins (TSC)] ──► [4. Build Frontend (Next.js)]
🗂️ As Etapas de Compilação em Detalhes
1️⃣ Etapa 1: Controle de Versão Semântica (v1.+1)
O script update-version.js gerencia de forma segura o registro de deploys em dois locais para serem consumidos em tempo real pelo front e back-end:
- Arquivos Gerados:
deploys.jsoneversion.json(gravados na raiz e na pasta/publicdo frontend). - Mapeamento de Informações:
- Incrementar a versão menor (ex:
v1.0.8parav1.0.9). - Incrementar o número do build de deploy (ex:
build #9). - Capturar o hash abreviado do último commit do Git.
- Capturar a mensagem do commit e o autor.
- Registrar a data e hora UTC exatas da compilação.
- Incrementar a versão menor (ex:
2️⃣ Etapa 2: Compilação do Backend (TypeScript)
O backend reside em /backend.
- Instalação de Dependências:
npm installbaixa e sintoniza as dependências em produção. - Compilação TS:
npm run buildexecuta o compilador TypeScripttscmapeado no tsconfig.json. - Geração Prisma Client:
npx prisma generatesintoniza os modelos de dados ORM e expõe os arquivos de tipagem estática do banco de dados na pastanode_modules/@prisma/client. - Destino: Todo o código transpilado é gravado na pasta
/backend/dist/.
3️⃣ Etapa 3: Compilação Modular de Plugins
Como o NewWhats usa um carregador dinâmico de plugins em produção, os plugins (localizados em /plugins) devem ser compilados de forma unificada.
- Mapeamento de Dependências: O compilador aponta para as dependências instaladas no core do backend utilizando as chaves
"paths"no tsconfig.json do diretório de plugins:"paths": { "*": ["../backend/node_modules/*"] } - Comando de Compilação:
/backend/node_modules/.bin/tsc -p /plugins/tsconfig.json - Arquivos Gerados: Os arquivos Javascript correspondentes (
.jse.js.map) são criados dentro de cada pasta específica do plugin correspondente (ex:/plugins/UnifiedStorageProvider/index.js), que serão consumidos pelo loader do backend.
4️⃣ Etapa 4: Compilação do Frontend (Next.js)
O frontend reside em /frontend.
- Injeção de Variáveis: O build do Next.js estaticiza parâmetros de API e URLs do servidor. Passamos a chave correspondente no disparo:
NEXT_PUBLIC_API_URL=https://clube67.com npm run build - Compilação Next.js: O comando
next buildexecuta o bundler SWC/Webpack, minifica o HTML/CSS/JS, divide os chunks de carregamento e otimiza as páginas. - Destino: A pasta oculta
/frontend/.next/e a pasta/frontend/public/recebem todos os arquivos finais estáticos prontos para renderização acelerada no navegador.
🚀 Comandos Úteis p/ Execução Manual (VPS 4)
# Entrar no backend e buildar manualmente
cd /home/deploy/stack/clube67/newwhats.local/backend
npm run build
# Gerar Prisma client manualmente
npx prisma generate
# Buildar plugins individualmente
npx tsc -p ../plugins/tsconfig.json
# Testar compilação Next.js localmente
cd ../frontend
npm run build