Utilisation de packages npm
Vous pouvez installer et utiliser n’importe quel package npm dans votre application. Les fonctions logiques et les composants frontaux sont tous deux empaquetés avec esbuild, qui intègre toutes les dépendances dans la sortie — aucunnode_modules n’est nécessaire à l’exécution.
Installation d’un package
src/logic-functions/fetch-data.ts
src/front-components/chart.tsx
Comment fonctionne le bundling
L’étape de build utilise esbuild pour produire un seul fichier autonome par fonction logique et par composant frontal. Tous les packages importés sont intégrés dans le bundle. Les fonctions logiques s’exécutent dans un environnement Node.js. Les modules intégrés de Node (fs, path, crypto, http, etc.) sont disponibles et n’ont pas besoin d’être installés.
Les composants frontaux s’exécutent dans un Web Worker. Les modules intégrés de Node ne sont pas disponibles — seules les API du navigateur et les packages npm qui fonctionnent dans un environnement navigateur sont pris en charge.
Les deux environnements disposent de twenty-client-sdk/core et twenty-client-sdk/metadata en tant que modules pré-fournis — ils ne sont pas intégrés au bundle mais résolus à l’exécution par le serveur.
Installation
L’application générée inclut déjà Vitest. Si vous le configurez manuellement, installez les dépendances :vitest.config.ts à la racine de votre application :
vitest.config.ts
~/.twenty/config.test.json) et synchronise l’application avant l’exécution des tests :
src/__tests__/global-setup.ts
APIs programmatiques du SDK
Le sous-chemintwenty-sdk/cli exporte des fonctions que vous pouvez appeler directement depuis le code de test :
Chaque fonction retourne un objet résultat avec
success: boolean et soit data soit error.
Écrire un test d’intégration
Voici un exemple complet qui construit, déploie et installe l’application, puis vérifie qu’elle apparaît dans l’espace de travail :src/__tests__/app-install.integration-test.ts
Exécuter les tests
Assurez-vous que votre serveur Twenty local est en cours d’exécution, puis :Vérification des types
Vous pouvez également exécuter une vérification des types sur votre application sans exécuter les tests :tsc --noEmit sur le tsconfig.json de votre application et signale toute erreur de type. Les applications générées contiennent également un script yarn typecheck qui couvre aussi les fichiers de test (tsconfig.spec.json).
CI avec GitHub Actions
Le générateur crée un workflow prêt à l’emploi dans.github/workflows/ci.yml. À chaque push sur main et à chaque pull request, il lance un serveur Twenty éphémère dans le runner (via l’action twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test), puis exécute yarn lint, yarn typecheck, yarn test:unit et yarn test avec TWENTY_API_URL / TWENTY_API_KEY pointant vers ce serveur. Aucun secret n’est requis, et vous pouvez fixer la version du serveur via la variable d’environnement TWENTY_VERSION en haut du workflow.
Voir Publication → CI/CD automatisé pour un guide complet des trois workflows générés (ci.yml, le pipeline de déploiement cd.yml et publish.yml pour la publication sur npm).