Saltar al contenido principal

Componentes

Los componentes son las partes ejecutables de tu app. Cada componente tiene un type que determina cómo se ejecuta.

Componentes de UI

Un componente de UI es un frontend web — React, Vue, Svelte, HTML plano, o cualquier framework que se sirva en un puerto.
{ name: 'Dashboard', type: 'ui', path: '.', runtime: { dev: 'bun run dev' } }
  • Máximo 1 por app — Kazzle asigna una única URL de vista previa por app
  • runtime.dev — comando para el servidor de desarrollo (usado por “Iniciar vista previa”)
  • runtime.run — comando para servir la compilación de producción
Si runtime.dev no está configurado, el sistema de vista previa ejecuta bun run dev desde tu package.json.

Componentes de proceso

Un componente de proceso es un servicio backend, worker, o tarea programada.
{ name: 'API', type: 'process', path: './server/index.ts' }

Ciclo de vida: processMode

Un componente de proceso tiene uno de dos ciclos de vida:
  • processMode: 'persistent' (predeterminado) — servidor HTTP de larga duración. Los disparadores se envían por POST al servidor en ejecución en la path declarada.
  • processMode: 'triggered' — el script de entrada se genera por cada disparador y se cierra. Sin máquinas inactivas en producción.

Disparadores

Los disparadores de programación y webhook se declaran en el componente. Un componente puede tener muchos disparadores. Cada disparador tiene un name (único dentro del componente) y un kind.
{
  name: 'events',
  type: 'process',
  path: './components/events/index.ts',
  processMode: 'persistent',
  triggers: [
    { name: 'cleanup', kind: 'schedule', schedule: '0 * * * *', path: '/cron/cleanup' },
    { name: 'stripe',  kind: 'webhook',                          path: '/webhook/stripe' },
  ],
}
path es obligatorio para processMode: 'persistent'. Para processMode: 'triggered' se omite — el script lee TRIGGER_NAME del entorno en su lugar. Consulta Automations para el modelo completo de disparadores, contrato de variables de entorno, y encabezado de autenticación HTTP.

Comandos de runtime

FaseCuándo se ejecutaEjemplo
devDurante la vista previa en borradorbun run dev, vite, next dev
runEn producciónbun run start, node dist/server.js
Los scripts de paquete de vista previa en borrador pueden usar kazzle run -- <command> para que Kazzle pueda inyectar puertos locales y URLs de componentes hermanos. Los componentes de proceso de producción deben declarar el comando real en runtime.run porque el despliegue ejecuta ese comando en la imagen de producción.