tsconfig.client.json 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. {
  2. // Client-side typecheck aggregate: packages/client tests (.ts and .tsx).
  3. // Split from the host aggregate because both sides merge cordis Context
  4. // under the same keys (sessions, loader) with different services; shared
  5. // leaves (session/llm/tools/apiproxy/...) build once and are referenced by
  6. // both programs through each client package's own references.
  7. "extends": "./tsconfig.base.json",
  8. "compilerOptions": {
  9. "noEmit": true,
  10. "rewriteRelativeImportExtensions": false,
  11. "jsx": "react-jsx",
  12. "lib": ["ES2024", "DOM", "DOM.Iterable"],
  13. // Tests execute under vitest on node (e2e files spawn processes); browser
  14. // purity of package src is each package's own tsconfig + verify-client-closure.
  15. "types": ["node"]
  16. },
  17. "include": [
  18. "packages/client/*/tests/**/*.ts",
  19. "packages/client/*/tests/**/*.tsx",
  20. "packages/client/tsdown.client.ts",
  21. "scripts/client-bundle-purity.spec.ts"
  22. ],
  23. "references": [
  24. // Shared leaf: web e2e boots the real host webserver (fixture + real-host
  25. // smoke policy). webserver has zero workspace deps and no cordis merge,
  26. // so it cannot drag host-side Context augmentation into this program.
  27. { "path": "./packages/host/webserver" },
  28. { "path": "./packages/client/ui-slots" },
  29. { "path": "./packages/client/ui-primitives" },
  30. { "path": "./packages/client/web-react" },
  31. { "path": "./packages/client/connection" },
  32. { "path": "./packages/client/runtime" },
  33. { "path": "./packages/client/ui-layout" },
  34. { "path": "./packages/client/ui-sidebar" },
  35. { "path": "./packages/client/ui-conversation" },
  36. { "path": "./packages/client/ui-trajectory" },
  37. { "path": "./packages/client/ui-theme" },
  38. { "path": "./packages/client/i18n" },
  39. { "path": "./packages/client/web" },
  40. { "path": "./apps/web" }
  41. ]
  42. }