diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/project-structure.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/project-structure.mdx index 5cf4ba951f..608bd18147 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/project-structure.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/project-structure.mdx @@ -38,3 +38,24 @@ my-twenty-app/ **Die Dateiorganisation liegt bei Ihnen.** Die oben genannten Ordner sind Konventionen – das SDK erkennt Entitäten über eine AST-Analyse von `export default defineEntity(...)`-Aufrufen, unabhängig davon, wo sich die Datei befindet. + +## Abhängigkeiten + +Beide Twenty-SDK-Pakete gehören unter `devDependencies`, nicht unter `dependencies`: + +```json filename="package.json" +{ + "dependencies": {}, + "devDependencies": { + "twenty-client-sdk": "^2.13.0", + "twenty-sdk": "^2.13.0" + } +} +``` + +* **`twenty-sdk`** stellt die `twenty`-CLI sowie die Build-/Scaffolding-Tools bereit. Es läuft nur während der Entwicklung und beim Build und wird zur Laufzeit der veröffentlichten App niemals importiert. +* **`twenty-client-sdk`** *wird* hingegen von deinem App-Code importiert (`CoreApiClient`, `MetadataApiClient`, `RestApiClient`), aber Twenty stellt es zur Laufzeit bereit – Logikfunktionen beziehen es aus einer generierten SDK-Schicht, und Frontend-Komponenten lösen es aus serverseitig ausgelieferten Modulen auf. Deine installierte Kopie wird nur für die Typprüfung und den Build zum Zeitpunkt des Deployments verwendet, daher muss sie niemals im ausgelieferten Bundle enthalten sein. + +Wenn eines der Pakete unter `dependencies` bleibt, wird es in das Runtime-Bundle der installierten App gezogen, wo es nur Ballast ist. `twenty build` gibt eine Warnung aus, wenn eines von beiden weiterhin unter `dependencies` aufgeführt ist. + +Füge die eigenen Runtime-Abhängigkeiten deiner App (Bibliotheken, die deine Logikfunktionen zur Laufzeit tatsächlich importieren) wie gewohnt unter `dependencies` hinzu. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx index 780a5ab76a..f6f40f1378 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/troubleshooting.mdx @@ -9,5 +9,6 @@ icon: Schraubenschlüssel * **Yarn 4 fehlt** — Führen Sie `corepack enable` aus. * **Abhängigkeiten defekt** — `rm -rf node_modules && yarn install`. * **`twenty-sdk`-Fehler nach dem Upgrade auf v2.8.0** — es wurde in v2.8.0 von `dependencies` zu `devDependencies` verschoben. Siehe [Projektstruktur → Abhängigkeiten](/l/de/developers/extend/apps/getting-started/project-structure#dependencies). +* **`twenty build` warnt vor `twenty-client-sdk` unter `dependencies`** — Es wird zur Laufzeit von Twenty bereitgestellt, daher sollte es in `devDependencies` neben `twenty-sdk` verschoben werden. Siehe [Projektstruktur → Abhängigkeiten](/l/de/developers/extend/apps/getting-started/project-structure#dependencies). Hängen Sie fest? Bitten Sie im [Twenty-Discord](https://discord.com/channels/1130383047699738754/1130386664812982322) um Hilfe. diff --git a/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx index e5e5b59ce8..55f7451c83 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx @@ -338,13 +338,14 @@ export default defineFrontComponent({ Verfügbare Hooks: -| Hook | Gibt zurück | Beschreibung | -| --------------------------------------------- | -------------------- | --------------------------------------------------------------------------- | -| `useUserId()` | `string` oder `null` | Die ID des aktuellen Benutzers | -| `useSelectedRecordIds()` | `string[]` | Alle ausgewählten Datensatz-IDs (leeres Array, wenn keine ausgewählt sind) | -| `useRecordId()` | `string` oder `null` | **Veraltet.** Verwenden Sie stattdessen `useSelectedRecordIds()` | -| `useFrontComponentId()` | `string` | Die ID dieser Komponenteninstanz | -| `useFrontComponentExecutionContext(selector)` | variiert | Zugriff auf den vollständigen Ausführungskontext mit einer Selektorfunktion | +| Hook | Gibt zurück | Beschreibung | +| --------------------------------------------- | ----------------------- | --------------------------------------------------------------------------- | +| `useUserId()` | `string` oder `null` | Die ID des aktuellen Benutzers | +| `useSelectedRecordIds()` | `string[]` | Alle ausgewählten Datensatz-IDs (leeres Array, wenn keine ausgewählt sind) | +| `useRecordId()` | `string` oder `null` | **Veraltet.** Verwenden Sie stattdessen `useSelectedRecordIds()` | +| `useFrontComponentId()` | `string` | Die ID dieser Komponenteninstanz | +| `useColorScheme()` | `'light'` oder `'dark'` | Das aktive Farbschema der Host-UI (`System` ist bereits aufgelöst) | +| `useFrontComponentExecutionContext(selector)` | variiert | Zugriff auf den vollständigen Ausführungskontext mit einer Selektorfunktion | ## Anwendungsvariablen diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/project-structure.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/project-structure.mdx index dd2ab12aad..bef909168d 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/project-structure.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/project-structure.mdx @@ -38,3 +38,24 @@ my-twenty-app/ **A organização de arquivos fica a seu critério.** As pastas acima são convenções — o SDK detecta entidades por meio de análise de AST em chamadas a `export default defineEntity(...)`, independentemente de onde o arquivo esteja. + +## Dependências + +Ambos os pacotes Twenty SDK pertencem a `devDependencies`, não a `dependencies`: + +```json filename="package.json" +{ + "dependencies": {}, + "devDependencies": { + "twenty-client-sdk": "^2.13.0", + "twenty-sdk": "^2.13.0" + } +} +``` + +* **`twenty-sdk`** inclui a CLI `twenty` e as ferramentas de build/scaffolding. Ele é executado apenas durante o desenvolvimento e o build e nunca é importado pelo runtime do aplicativo publicado. +* **`twenty-client-sdk`** *é* importado pelo código do seu aplicativo (`CoreApiClient`, `MetadataApiClient`, `RestApiClient`), mas a Twenty o fornece em tempo de execução — as funções de lógica o obtêm de uma camada SDK gerada, e os componentes de front o resolvem a partir de módulos servidos pelo servidor. A cópia instalada é usada apenas para verificação de tipos e para o build no momento do deploy, então ela nunca precisa ser incluída no bundle implantado. + +Manter qualquer um dos pacotes em `dependencies` o inclui no bundle de runtime do aplicativo instalado, onde ele é peso morto. `twenty build` emite um aviso quando qualquer um deles ainda está listado em `dependencies`. + +Adicione as dependências de runtime do próprio aplicativo (bibliotecas que as suas funções de lógica realmente importam em tempo de execução) em `dependencies`, como de costume. diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx index ff5d846e7d..c0b1fbe3e2 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/troubleshooting.mdx @@ -9,5 +9,6 @@ icon: wrench * **Falta o Yarn 4** — Execute `corepack enable`. * **Dependências com problemas** — `rm -rf node_modules && yarn install`. * **Erros do `twenty-sdk` após a atualização para a v2.8.0** — Ele foi movido de `dependencies` para `devDependencies` na v2.8.0. Veja [Estrutura do projeto → Dependências](/l/pt/developers/extend/apps/getting-started/project-structure#dependencies). +* **`twenty build` emite um aviso sobre `twenty-client-sdk` em `dependencies`** — Ele é fornecido em tempo de execução pela Twenty, então deve ser movido para `devDependencies` junto com `twenty-sdk`. Veja [Estrutura do projeto → Dependências](/l/pt/developers/extend/apps/getting-started/project-structure#dependencies). Travou? Peça ajuda no [Discord da Twenty](https://discord.com/channels/1130383047699738754/1130386664812982322). diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx index 6d19c0f09b..69122a91cf 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx @@ -338,13 +338,14 @@ export default defineFrontComponent({ Hooks disponíveis: -| Hook | Retorna | Descrição | -| --------------------------------------------- | ------------------ | ----------------------------------------------------------------------------------- | -| `useUserId()` | `string` ou `null` | O ID do usuário atual | -| `useSelectedRecordIds()` | `string[]` | Todos os IDs dos registros selecionados (array vazio se nenhum estiver selecionado) | -| `useRecordId()` | `string` ou `null` | **Obsoleto.** Use `useSelectedRecordIds()` em vez disso | -| `useFrontComponentId()` | `string` | O ID desta instância do componente | -| `useFrontComponentExecutionContext(selector)` | varia | Acesse o contexto de execução completo com uma função seletora | +| Hook | Retorna | Descrição | +| --------------------------------------------- | --------------------- | ----------------------------------------------------------------------------------- | +| `useUserId()` | `string` ou `null` | O ID do usuário atual | +| `useSelectedRecordIds()` | `string[]` | Todos os IDs dos registros selecionados (array vazio se nenhum estiver selecionado) | +| `useRecordId()` | `string` ou `null` | **Obsoleto.** Use `useSelectedRecordIds()` em vez disso | +| `useFrontComponentId()` | `string` | O ID desta instância do componente | +| `useColorScheme()` | `'light'` ou `'dark'` | O esquema de cores ativo da interface do host (`System` já está resolvido) | +| `useFrontComponentExecutionContext(selector)` | varia | Acesse o contexto de execução completo com uma função seletora | ## Variáveis de aplicação diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/project-structure.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/project-structure.mdx index e0e74ef3d8..d790de419e 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/project-structure.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/project-structure.mdx @@ -38,3 +38,24 @@ my-twenty-app/ **Organizarea fișierelor ține de dvs.** Folderele de mai sus sunt convenții — SDK-ul detectează entitățile prin analiză AST pe apelurile `export default defineEntity(...)`, indiferent unde se află fișierul. + +## Dependențe + +Ambele pachete Twenty SDK trebuie plasate sub `devDependencies`, nu sub `dependencies`: + +```json filename="package.json" +{ + "dependencies": {}, + "devDependencies": { + "twenty-client-sdk": "^2.13.0", + "twenty-sdk": "^2.13.0" + } +} +``` + +* **`twenty-sdk`** livrează CLI-ul `twenty` și uneltele de build/scaffolding. Acesta rulează doar în timpul dezvoltării și al build-ului și nu este niciodată importat de runtime-ul aplicației tale publicate. +* **`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 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. diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx index 672101baff..dbcdf81378 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/troubleshooting.mdx @@ -9,5 +9,6 @@ icon: wrench * **Lipsește Yarn 4** — Rulați `corepack enable`. * **Dependențe nefuncționale** — `rm -rf node_modules && yarn install`. * **Erori ale `twenty-sdk` după actualizarea la v2.8.0** — A fost mutat din `dependencies` în `devDependencies` în v2.8.0. Vezi [Structura proiectului → Dependințe](/l/ro/developers/extend/apps/getting-started/project-structure#dependencies). +* **`twenty build` afișează un avertisment despre `twenty-client-sdk` aflat în `dependencies`** — Este furnizat în timpul execuției de către Twenty, așa că ar trebui mutat în `devDependencies` alături de `twenty-sdk`. Vezi [Structura proiectului → Dependințe](/l/ro/developers/extend/apps/getting-started/project-structure#dependencies). Blocat? Întrebați pe [Discordul Twenty](https://discord.com/channels/1130383047699738754/1130386664812982322). diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx index 657a3c5636..8554f5407d 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx @@ -338,13 +338,14 @@ export default defineFrontComponent({ Hook-uri disponibile: -| Hook | Returnează | Descriere | -| --------------------------------------------- | ------------------- | ----------------------------------------------------------------------------------- | -| `useUserId()` | `string` sau `null` | ID-ul utilizatorului curent | -| `useSelectedRecordIds()` | `string[]` | Toate ID-urile înregistrărilor selectate (array gol dacă nu este selectată niciuna) | -| `useRecordId()` | `string` sau `null` | **Învechit.** Folosiți `useSelectedRecordIds()` în schimb | -| `useFrontComponentId()` | `string` | ID-ul acestei instanțe de componentă | -| `useFrontComponentExecutionContext(selector)` | variază | Accesați întregul context de execuție cu o funcție selector | +| Hook | Returnează | Descriere | +| --------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------- | +| `useUserId()` | `string` sau `null` | ID-ul utilizatorului curent | +| `useSelectedRecordIds()` | `string[]` | Toate ID-urile înregistrărilor selectate (array gol dacă nu este selectată niciuna) | +| `useRecordId()` | `string` sau `null` | **Învechit.** Folosiți `useSelectedRecordIds()` în schimb | +| `useFrontComponentId()` | `string` | ID-ul acestei instanțe de componentă | +| `useColorScheme()` | `'light'` sau `'dark'` | Schema de culori activă a interfeței de utilizator a gazdei (`System` este deja rezolvat) | +| `useFrontComponentExecutionContext(selector)` | variază | Accesați întregul context de execuție cu o funcție selector | ## Variabile de aplicație diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/project-structure.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/project-structure.mdx index 46c1fe480f..218f0a6158 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/project-structure.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/project-structure.mdx @@ -38,3 +38,24 @@ my-twenty-app/ **Организация файлов — на ваше усмотрение.** Приведенные выше папки являются соглашениями — SDK обнаруживает сущности с помощью AST-анализа вызовов `export default defineEntity(...)` независимо от того, где расположен файл. + +## Зависимости + +Оба пакета Twenty SDK должны находиться в `devDependencies`, а не в `dependencies`: + +```json filename="package.json" +{ + "dependencies": {}, + "devDependencies": { + "twenty-client-sdk": "^2.13.0", + "twenty-sdk": "^2.13.0" + } +} +``` + +* **`twenty-sdk`** поставляет `twenty` CLI и инструменты сборки/скэффолдинга. Он выполняется только на этапах разработки и сборки и никогда не импортируется во время выполнения опубликованного приложения. +* **`twenty-client-sdk`** *действительно* импортируется кодом вашего приложения (`CoreApiClient`, `MetadataApiClient`, `RestApiClient`), но Twenty предоставляет его во время выполнения — функции логики получают его из сгенерированного слоя SDK, а фронтенд‑компоненты получают его из модулей, отдаваемых сервером. Установленная вами копия используется только для проверки типов и сборки на этапе деплоя, поэтому её не нужно включать в развертываемый бандл. + +Если любой из пакетов находится в `dependencies`, он попадает в бандл среды выполнения установленного приложения, где он является лишним грузом. `twenty build` выдаёт предупреждение, если любой из них всё ещё указан в `dependencies`. + +Добавляйте собственные зависимости среды выполнения вашего приложения (библиотеки, которые ваши функции логики действительно импортируют во время выполнения) в `dependencies`, как обычно. diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx index 739d9f926f..e93b06c639 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/troubleshooting.mdx @@ -9,5 +9,6 @@ icon: wrench * **Отсутствует Yarn 4** — выполните `corepack enable`. * **Зависимости повреждены** — `rm -rf node_modules && yarn install`. * **Ошибки `twenty-sdk` после обновления до v2.8.0** — он был перенесен из `dependencies` в `devDependencies` в v2.8.0. См. [Структура проекта → Зависимости](/l/ru/developers/extend/apps/getting-started/project-structure#dependencies). +* **`twenty build` предупреждает о `twenty-client-sdk` в разделе `dependencies`** — он предоставляется Twenty во время выполнения, поэтому его следует перенести в `devDependencies` рядом с `twenty-sdk`. См. [Структура проекта → Зависимости](/l/ru/developers/extend/apps/getting-started/project-structure#dependencies). Застряли? Попросите помощи на [Discord-сервере Twenty](https://discord.com/channels/1130383047699738754/1130386664812982322). diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx index b175f21ef9..2f27d1470e 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx @@ -338,13 +338,14 @@ export default defineFrontComponent({ Доступные хуки: -| Хук | Возвращает | Описание | -| --------------------------------------------- | ------------------- | ---------------------------------------------------------------------------- | -| `useUserId()` | `string` или `null` | ID текущего пользователя | -| `useSelectedRecordIds()` | `string[]` | Все выбранные идентификаторы записей (пустой массив, если ничего не выбрано) | -| `useRecordId()` | `string` или `null` | **Устарело.** Используйте `useSelectedRecordIds()` вместо этого | -| `useFrontComponentId()` | `string` | ID этого экземпляра компонента | -| `useFrontComponentExecutionContext(selector)` | различается | Доступ к полному контексту выполнения с помощью функции-селектора | +| Хук | Возвращает | Описание | +| --------------------------------------------- | ---------------------- | ---------------------------------------------------------------------------- | +| `useUserId()` | `string` или `null` | ID текущего пользователя | +| `useSelectedRecordIds()` | `string[]` | Все выбранные идентификаторы записей (пустой массив, если ничего не выбрано) | +| `useRecordId()` | `string` или `null` | **Устарело.** Используйте `useSelectedRecordIds()` вместо этого | +| `useFrontComponentId()` | `string` | ID этого экземпляра компонента | +| `useColorScheme()` | `'light'` или `'dark'` | Активная цветовая схема интерфейса хоста (значение `System` уже определено) | +| `useFrontComponentExecutionContext(selector)` | различается | Доступ к полному контексту выполнения с помощью функции-селектора | ## Переменные приложения diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/project-structure.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/project-structure.mdx index 9944c8c1c0..cf97904ba4 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/project-structure.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/project-structure.mdx @@ -38,3 +38,24 @@ my-twenty-app/ **Dosya organizasyonu size kalmış.** Yukarıdaki klasörler birer konvansiyondur — SDK, dosyanın nerede olduğundan bağımsız olarak `export default defineEntity(...)` çağrılarını AST analizi yoluyla algılar. + +## Bağımlılıklar + +Her iki Twenty SDK paketi de `dependencies` değil, `devDependencies` altında olmalıdır: + +```json filename="package.json" +{ + "dependencies": {}, + "devDependencies": { + "twenty-client-sdk": "^2.13.0", + "twenty-sdk": "^2.13.0" + } +} +``` + +* **`twenty-sdk`**, `twenty` CLI'yi ve derleme/iskelet oluşturma araçlarını sağlar. Yalnızca geliştirme ve derleme zamanında çalışır ve yayımlanmış uygulamanızın çalışma zamanında asla içe aktarılmaz. +* **`twenty-client-sdk`** uygulama kodunuz tarafından (`CoreApiClient`, `MetadataApiClient`, `RestApiClient`) içe aktarılır, ancak Twenty bunu çalışma zamanında sağlar — mantık fonksiyonları bunu oluşturulan bir SDK katmanından alır ve ön yüz bileşenleri bunu sunucu tarafından sunulan modüllerden çözümler. Yüklediğiniz kopya yalnızca tür denetimi ve dağıtım zamanındaki derleme için kullanılır, bu yüzden dağıtılan paket ile birlikte gönderilmesine gerek yoktur. + +`dependencies` altında bu paketlerden herhangi birinin tutulması, onu kurulu uygulamanın çalışma zamanı paketine dahil eder ve orada gereksiz yük haline getirir. `twenty build`, bunlardan herhangi biri hâlâ `dependencies` altında listelendiğinde bir uyarı verir. + +Uygulamanızın kendi çalışma zamanı bağımlılıklarını (mantık fonksiyonlarınızın çalışma zamanında gerçekten içe aktardığı kütüphaneler) her zamanki gibi `dependencies` altına ekleyin. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx index 448d22035b..03ef0ae333 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/troubleshooting.mdx @@ -9,5 +9,6 @@ icon: anahtar * **Yarn 4 eksik** — `corepack enable` çalıştırın. * **Bağımlılıklar bozuk** — `rm -rf node_modules && yarn install`. * **`twenty-sdk` v2.8.0 sürümüne yükselttikten sonra oluşan hatalar** — v2.8.0 sürümünde `dependencies` içinden `devDependencies` içine taşındı. [Proje Yapısı → Bağımlılıklar](/l/tr/developers/extend/apps/getting-started/project-structure#dependencies) bölümüne bakın. +* **`twenty build`, `dependencies` altındaki `twenty-client-sdk` konusunda uyarır** — Bu paket, çalışma zamanında Twenty tarafından sağlanır, bu nedenle `twenty-sdk` ile birlikte `devDependencies` altına taşınmalıdır. [Proje Yapısı → Bağımlılıklar](/l/tr/developers/extend/apps/getting-started/project-structure#dependencies) bölümüne bakın. Takıldınız mı? [Twenty Discord](https://discord.com/channels/1130383047699738754/1130386664812982322) üzerinde yardım isteyin. diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx index bcee492d7d..40bd1b3e62 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx @@ -338,13 +338,14 @@ export default defineFrontComponent({ Kullanılabilir hook'lar: -| Hook | Döndürür | Açıklama | -| --------------------------------------------- | -------------------- | -------------------------------------------------------------------------- | -| `useUserId()` | `string` veya `null` | Geçerli kullanıcının ID'si | -| `useSelectedRecordIds()` | `string[]` | Tüm seçili kayıt kimlikleri (hiçbiri seçilmediyse boş dizi) | -| `useRecordId()` | `string` veya `null` | **Kullanımdan kaldırıldı.** Bunun yerine `useSelectedRecordIds()` kullanın | -| `useFrontComponentId()` | `string` | Bu bileşen örneğinin ID'si | -| `useFrontComponentExecutionContext(selector)` | değişir | Bir seçici işlevle tam yürütme bağlamına erişin | +| Hook | Döndürür | Açıklama | +| --------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------- | +| `useUserId()` | `string` veya `null` | Geçerli kullanıcının ID'si | +| `useSelectedRecordIds()` | `string[]` | Tüm seçili kayıt kimlikleri (hiçbiri seçilmediyse boş dizi) | +| `useRecordId()` | `string` veya `null` | **Kullanımdan kaldırıldı.** Bunun yerine `useSelectedRecordIds()` kullanın | +| `useFrontComponentId()` | `string` | Bu bileşen örneğinin ID'si | +| `useColorScheme()` | `'light'` veya `'dark'` | Ana makine kullanıcı arayüzünün etkin renk şeması (`System` zaten çözümlenmiştir) | +| `useFrontComponentExecutionContext(selector)` | değişir | Bir seçici işlevle tam yürütme bağlamına erişin | ## Uygulama değişkenleri diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/project-structure.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/project-structure.mdx index feee2e7678..2a3fda647a 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/project-structure.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/project-structure.mdx @@ -38,3 +38,24 @@ my-twenty-app/ **文件组织由你决定。** 上述文件夹只是约定——SDK 通过对 `export default defineEntity(...)` 调用进行 AST 分析来检测实体,而不受文件所在位置影响。 + +## 依赖项 + +这两个 Twenty SDK 软件包都应放在 `devDependencies` 下,而不是 `dependencies`: + +```json filename="package.json" +{ + "dependencies": {}, + "devDependencies": { + "twenty-client-sdk": "^2.13.0", + "twenty-sdk": "^2.13.0" + } +} +``` + +* **`twenty-sdk`** 提供 `twenty` CLI 以及构建/脚手架工具。 它只在开发和构建阶段运行,且永远不会在已发布应用的运行时环境中被导入。 +* **`twenty-client-sdk`** 会被你的应用代码(`CoreApiClient`、`MetadataApiClient`、`RestApiClient`)导入,但 Twenty 会在运行时提供它——逻辑函数从生成的 SDK 层获取它,前端组件则从服务器提供的模块中解析它。 你安装的副本仅用于类型检查和部署时的构建,因此不需要被打包进已部署的 bundle 中。 + +把任意一个软件包放在 `dependencies` 下,都会把它拉入已安装应用的运行时 bundle 中,在那里只是累赘。 当任一软件包仍然列在 `dependencies` 下时,`twenty build` 会发出警告。 + +像往常一样,把你的应用自身的运行时依赖项(逻辑函数在运行时实际导入的库)添加到 `dependencies` 下。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx index f40ed77768..54785db587 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/troubleshooting.mdx @@ -9,5 +9,6 @@ icon: wrench * **缺少 Yarn 4** — 运行 `corepack enable`。 * **依赖损坏** — `rm -rf node_modules && yarn install`。 * **`twenty-sdk` 升级到 v2.8.0 后出现错误** — 在 v2.8.0 中,它从 `dependencies` 移动到了 `devDependencies`。 请参阅[项目结构 → 依赖项](/l/zh/developers/extend/apps/getting-started/project-structure#dependencies)。 +* **`twenty build` 会对 `dependencies` 下的 `twenty-client-sdk` 发出警告** — 它由 Twenty 在运行时提供,因此应与 `twenty-sdk` 一起移动到 `devDependencies` 中。 请参阅[项目结构 → 依赖项](/l/zh/developers/extend/apps/getting-started/project-structure#dependencies)。 卡住了吗? 在 [Twenty 的 Discord](https://discord.com/channels/1130383047699738754/1130386664812982322) 上提问。 diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx index c3e37f9746..3ec216d4de 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx @@ -338,13 +338,14 @@ export default defineFrontComponent({ 可用的 hooks: -| 钩子 | 返回值 | 描述 | -| --------------------------------------------- | ----------------- | ------------------------------------- | -| `useUserId()` | `string` 或 `null` | 当前用户的 ID | -| `useSelectedRecordIds()` | `字符串[]` | 所有已选择的记录 ID(如果未选择,则为空数组) | -| `useRecordId()` | `string` 或 `null` | **已弃用。** 请改用 `useSelectedRecordIds()` | -| `useFrontComponentId()` | `string` | 此组件实例的 ID | -| `useFrontComponentExecutionContext(selector)` | 因情况而异 | 使用选择器函数访问完整的执行上下文 | +| 钩子 | 返回值 | 描述 | +| --------------------------------------------- | -------------------- | ------------------------------------- | +| `useUserId()` | `string` 或 `null` | 当前用户的 ID | +| `useSelectedRecordIds()` | `字符串[]` | 所有已选择的记录 ID(如果未选择,则为空数组) | +| `useRecordId()` | `string` 或 `null` | **已弃用。** 请改用 `useSelectedRecordIds()` | +| `useFrontComponentId()` | `string` | 此组件实例的 ID | +| `useColorScheme()` | `'light'` 或 `'dark'` | 宿主 UI 当前的配色方案(`System` 已解析) | +| `useFrontComponentExecutionContext(selector)` | 因情况而异 | 使用选择器函数访问完整的执行上下文 | ## 应用程序变量