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
~/.twenty/config.test.json) a před spuštěním testů provede synchronizaci aplikace:
src/__tests__/global-setup.ts
Programová rozhraní SDK
Subcestatwenty-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é:Kontrola typů
Kontrolu typů můžete spustit i na vaší aplikaci bez spuštění testů: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.