Používání balíčků npm
Ve své aplikaci můžete nainstalovat a používat libovolný balíček npm. Logické funkce i frontendové komponenty se bundlují pomocí esbuild, který vloží všechny závislosti přímo do výstupu — za běhu nejsou potřeba žádnénode_modules.
Instalace balíčku
src/logic-functions/fetch-data.ts
src/front-components/chart.tsx
Jak funguje bundlování
Krok sestavení používá esbuild k vytvoření jediného samostatného souboru pro každou logickou funkci a každou frontendovou komponentu. Všechny importované balíčky jsou vloženy přímo do bundlu. Logické funkce běží v prostředí Node.js. Vestavěné moduly Node (fs, path, crypto, http atd.) jsou k dispozici a není je třeba instalovat.
Frontendové komponenty běží ve Web Workeru. Vestavěné moduly Node nejsou k dispozici — pouze prohlížečová API a balíčky npm, které fungují v prohlížečovém prostředí.
V obou prostředích jsou jako předpřipravené moduly k dispozici twenty-client-sdk/core a twenty-client-sdk/metadata — nejsou součástí bundlu, ale server je za běhu načítá.
Nastavení
Vygenerovaná aplikace již obsahuje Vitest. Pokud to nastavujete ručně, nainstalujte závislosti:vitest.config.ts v kořeni vaší aplikace:
vitest.config.ts
src/__tests__/setup-test.ts
Programová rozhraní SDK
Subcestatwenty-sdk/cli exportuje funkce, které můžete volat přímo z testovacího kódu:
| Funkce | Popis |
|---|---|
appBuild | Sestaví aplikaci a volitelně zabalí tarball |
appDeploy | Nahraje tarball na server |
appInstall | Nainstaluje aplikaci do aktivního pracovního prostoru |
appUninstall | Odinstaluje aplikaci z aktivního pracovního prostoru |
success: boolean a buď data, nebo error.
Psání integračního testu
Zde je kompletní příklad, který aplikaci sestaví, nasadí a nainstaluje a poté ověří, že se objeví v pracovním prostoru:src/__tests__/app-install.integration-test.ts
Spuštění testů
Ujistěte se, že běží váš lokální server Twenty, a poté:Kontrola typů
Kontrolu typů můžete spustit i na vaší aplikaci bez spuštění testů:tsc --noEmit a nahlásí se případné chyby typů.
CI s GitHub Actions
Generátor kostry vytvoří připravený k použití workflow GitHub Actions v.github/workflows/ci.yml. Automaticky spouští integrační testy při každém pushi do main a u pull requestů.
Workflow:
- Načte váš kód (checkout).
- Spustí dočasný server Twenty pomocí akce
twentyhq/twenty/.github/actions/spawn-twenty-docker-image - Nainstaluje závislosti pomocí
yarn install --immutable - Spustí
yarn tests proměnnýmiTWENTY_API_URLaTWENTY_API_KEYvloženými z výstupů akce
.github/workflows/ci.yml
spawn-twenty-docker-image spustí dočasný server Twenty přímo v runneru a vypíše podrobnosti připojení. Secret GITHUB_TOKEN je poskytován GitHubem automaticky.
Chcete-li připnout konkrétní verzi Twenty místo latest, změňte proměnnou prostředí TWENTY_VERSION na začátku workflow.