Saltar al contenido principal
El SDK proporciona APIs programáticas que te permiten compilar, desplegar, instalar y desinstalar tu aplicación desde código de pruebas. Combinado con Vitest y los clientes de API tipados, puedes escribir pruebas de integración que verifiquen que tu aplicación funciona de extremo a extremo contra un servidor real de Twenty.

Uso de paquetes de npm

Puedes instalar y usar cualquier paquete de npm en tu aplicación. Tanto las funciones de lógica como los componentes de frontend se empaquetan con esbuild, que incorpora todas las dependencias en la salida — no se necesitan node_modules en tiempo de ejecución.

Instalar un paquete

Luego impórtalo en tu código:
src/logic-functions/fetch-data.ts
Lo mismo funciona para los componentes de frontend:
src/front-components/chart.tsx

Cómo funciona el empaquetado

El paso de compilación usa esbuild para producir un solo archivo autónomo por función de lógica y por componente de frontend. Todos los paquetes importados se insertan en el bundle. Las funciones de lógica se ejecutan en un entorno Node.js. Los módulos integrados de Node (fs, path, crypto, http, etc.) están disponibles y no necesitan instalarse. Los componentes de frontend se ejecutan en un Web Worker. Los módulos integrados de Node no están disponibles — solo las APIs del navegador y paquetes de npm que funcionen en un entorno de navegador. Ambos entornos tienen twenty-client-sdk/core y twenty-client-sdk/metadata disponibles como módulos preproporcionados — estos no se incluyen en el bundle sino que se resuelven en tiempo de ejecución por el servidor.

Configuración

La aplicación generada ya incluye Vitest. Si lo configuras manualmente, instala las dependencias:
Crea un vitest.config.ts en la raíz de tu aplicación:
vitest.config.ts
Crea un archivo de configuración global que verifique que el servidor es accesible, escriba una configuración de prueba para el SDK (~/.twenty/config.test.json) y sincronice la aplicación antes de que se ejecuten las pruebas:
src/__tests__/global-setup.ts

APIs programáticas del SDK

La subruta twenty-sdk/cli exporta funciones que puedes invocar directamente desde el código de pruebas: Cada función devuelve un objeto de resultado con success: boolean y data o error.

Escribir una prueba de integración

Aquí tienes un ejemplo completo que compila, despliega e instala la aplicación, y luego verifica que aparezca en el espacio de trabajo:
src/__tests__/app-install.integration-test.ts

Ejecutar pruebas

Asegúrate de que tu servidor local de Twenty esté en ejecución y luego:
O en modo watch durante el desarrollo:

Comprobación de tipos

También puedes ejecutar la comprobación de tipos en tu aplicación sin ejecutar pruebas:
Esto ejecuta tsc --noEmit contra el tsconfig.json de tu aplicación e informa cualquier error de tipo. Las aplicaciones generadas también incluyen un script yarn typecheck que cubre los archivos de prueba (tsconfig.spec.json).

CI con GitHub Actions

El generador crea un flujo de trabajo listo para usar en .github/workflows/ci.yml. En cada push a main y en cada pull request, inicia un servidor efímero de Twenty en el runner (mediante la acción twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test), luego ejecuta yarn lint, yarn typecheck, yarn test:unit y yarn test con TWENTY_API_URL / TWENTY_API_KEY apuntando a ese servidor. No se requieren secretos y puedes fijar la versión del servidor mediante la variable de entorno TWENTY_VERSION en la parte superior del flujo de trabajo. Consulta Publicación → CI/CD automatizado para ver una guía completa de los tres flujos de trabajo generados (ci.yml, la canalización de despliegue cd.yml y publish.yml para la publicación en npm).