Skip to main content

Componentes

Componentes são as partes executáveis do seu app. Cada componente tem um type que determina como ele é executado.

Componentes de UI

Um componente de UI é um frontend web — React, Vue, Svelte, HTML puro ou qualquer framework que rode em uma porta.
  • Máx 1 por app — Kazzle atribui uma única URL de preview por app
  • runtime.dev.command — comando para o servidor de desenvolvimento (usado por “Iniciar preview”)
  • runtime.prod.build — comando para construir a imagem de produção
  • runtime.prod.command — comando para iniciar um componente de processo de produção
Se runtime.dev.command não estiver definido, o sistema de preview executa bun run dev do seu package.json.

Componentes de processo

Um componente de processo é um serviço backend, worker ou tarefa agendada.

Ciclo de vida: processMode

Um componente de processo tem um de dois ciclos de vida:
  • processMode: 'persistent' (padrão) — servidor HTTP de longa duração. Triggers são POSTados no servidor em execução no path declarado.
  • processMode: 'triggered' — o script de entrada é executado por trigger e encerra. Sem máquinas ociosas em produção.

Triggers

Triggers de agendamento e webhook são declarados no componente. Um componente pode ter muitos triggers. Cada trigger tem um name (único dentro do componente) e um kind.
path é obrigatório para processMode: 'persistent'. Para processMode: 'triggered' é omitido — o script lê TRIGGER_NAME do ambiente. Veja Automações para o modelo completo de trigger, contrato de variáveis de ambiente e autenticação de header HTTP.

Comandos de runtime

Scripts de pacote de preview de rascunho podem usar kazzle run -- <command> para que Kazzle possa injetar portas locais e URLs de componentes irmãos. Componentes de processo de produção devem declarar o comando real em runtime.prod.command porque o deploy executa esse comando na imagem de produção.