Přejít na hlavní obsah
SDK poskytuje programová rozhraní, která vám umožní z testovacího kódu aplikaci sestavit, nasadit, nainstalovat a odinstalovat. V kombinaci s Vitest a typovanými klienty API můžete psát integrační testy, které ověří, že vaše aplikace funguje end-to-end proti reálnému serveru Twenty.

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

Poté jej importujte ve svém kódu:
src/logic-functions/fetch-data.ts
Stejně to funguje i pro frontendové komponenty:
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:
Vytvořte vitest.config.ts v kořeni vaší aplikace:
vitest.config.ts
Vytvořte globální soubor pro nastavení, který ověří, že je server dosažitelný, zapíše testovací konfiguraci pro SDK (~/.twenty/config.test.json) a před spuštěním testů provede synchronizaci aplikace:
src/__tests__/global-setup.ts

Programová rozhraní SDK

Subcesta twenty-sdk/cli exportuje funkce, které můžete volat přímo z testovacího kódu: Každá funkce vrací objekt výsledku se 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é:
Nebo v režimu watch během vývoje:

Kontrola typů

Kontrolu typů můžete spustit i na vaší aplikaci bez spuštění testů:
Spustí se tsc --noEmit proti souboru tsconfig.json vaší aplikace a nahlásí se případné chyby typů. Vygenerované aplikace také obsahují skript yarn typecheck, který pokrývá i testovací soubory (tsconfig.spec.json).

CI s GitHub Actions

Generátor kostry vytvoří připravený k použití workflow v .github/workflows/ci.yml. Při každém pushi do main a při každém pull requestu spustí efemérní server Twenty v runneru (pomocí akce twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test), poté spustí yarn lint, yarn typecheck, yarn test:unit a yarn test s TWENTY_API_URL / TWENTY_API_KEY směřujícími na tento server. Nejsou vyžadovány žádné tajné údaje a verzi serveru můžete připnout pomocí proměnné prostředí TWENTY_VERSION na začátku workflow. Úplný postup pro tři workflow generované kostrou (ci.yml, nasazovací pipeline cd.yml a publish.yml pro publikování na npm) najdete v části Publishing → Automated CI/CD.