Salt la conținutul principal

Prezentare generală

O aplicație nouă generată de twenty app init arată astfel:

Fișiere cheie

Organizarea fișierelor ține de dvs. Folderele de mai sus sunt convenții — CLI-ul detectează entitățile prin analiză AST pe apelurile export default defineEntity(...) indiferent unde se află fișierul.

Dependențe

twenty app init adaugă twenty-sdk, twenty-client-sdk și twenty-ui în devDependencies, fixate la versiunea SDK selectată de acea versiune CLI. Păstrați versiunile generate pentru o aplicație nouă și mențineți toate cele trei pachete sincronizate la actualizare. CLI-ul poate primi versiuni patch în mod independent, astfel încât versiunea sa nu trebuie să corespundă cu cea a acestor pachete. Elementul generat engines.twenty stabilește versiunea minimă de server la versiunea majoră și minoră a acelui SDK. Fluxurile de lucru GitHub Actions generate fixează separat versiunea CLI.
  • twenty-sdk oferă definiții de aplicații, ajutoare pentru timpul de execuție și integrare cu motorul de randare. Utilizați pachetul twenty instalat separat pentru comenzile CLI și instrumentele de compilare/generare a structurii de bază.
  • twenty-client-sdk este importat de codul aplicației tale (CoreApiClient, MetadataApiClient, RestApiClient), dar Twenty îl furnizează la runtime — funcțiile de logică îl obțin dintr-un strat SDK generat, iar componentele de interfață îl rezolvă din module livrate de server. Copia instalată local este folosită doar pentru verificarea tipurilor și pentru build-ul la momentul de deploy, astfel că nu trebuie niciodată inclusă în bundle-ul livrat.
Păstrarea oricărui pachet sub dependencies îl include în bundle-ul de runtime al aplicației instalate, unde reprezintă o încărcătură inutilă. twenty app build emite un avertisment atunci când oricare dintre ele este încă listat sub dependencies. Adaugă dependențele de runtime proprii ale aplicației tale (bibliotecile pe care funcțiile tale de logică chiar le importă la runtime) sub dependencies, ca de obicei. Menține arborele suplu: dependencies sunt instalate într-un strat de execuție limitat la 250 MB necomprimat, iar o operațiune de sync sau install eșuează cu o eroare privind dimensiunea dependințelor dacă se depășește această limită — bibliotecile de UI și uneltele de dezvoltare trebuie să fie în devDependencies.