tsconfig.client.json 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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.client.json",
  8. "compilerOptions": {
  9. "noEmit": true,
  10. "rewriteRelativeImportExtensions": false,
  11. // Tests execute under vitest on node (e2e files spawn processes); browser
  12. // purity of package src is each package's own tsconfig plus
  13. // scripts/client-bundle-purity.spec.ts.
  14. "types": ["node"]
  15. },
  16. "include": [
  17. // Source-subpath test imports can arrive through workspace links whose
  18. // realpath semantics vary by host. Load package CSS declarations directly.
  19. "packages/client/*/src/css-modules.d.ts",
  20. "packages/client/*/tests/**/*.ts",
  21. "packages/client/*/tests/**/*.tsx",
  22. "packages/api/gateway/tests/client.spec.ts",
  23. "packages/client/tsdown.client.ts",
  24. "scripts/client-bundle-css.spec.ts",
  25. "scripts/client-bundle-purity.spec.ts"
  26. ],
  27. // A `*.host.spec.ts` covers the Host half of a split client package and
  28. // belongs to the host aggregate, which excludes this program's `*.client.*`
  29. // in turn. `exclude` wins over `include`, so the test glob above stays broad.
  30. "exclude": [
  31. "packages/client/*/tests/**/*.host.spec.ts"
  32. ],
  33. "references": [
  34. // Shared leaf: web e2e boots the real host webserver (fixture + real-host
  35. // smoke policy). webserver has zero workspace deps and no cordis merge,
  36. // so it cannot drag host-side Context augmentation into this program.
  37. { "path": "./packages/host/webserver" },
  38. // Compaction seam: the client-runtime pin test value-imports the canonical
  39. // checkpoint const from the cordis-free dsh-compact/checkpoint leaf and
  40. // deliberately never loads the dsh-compact package root or the host-side
  41. // Context merges reachable through it. The client package pins the same
  42. // leaf through a type-only import in transcript-adapter.ts; composite
  43. // rootDir rules make both paths depend on this runtime project reference.
  44. { "path": "./packages/compact/compact" },
  45. { "path": "./packages/client/ui-slots" },
  46. { "path": "./packages/client/schema-form" },
  47. { "path": "./packages/client/ui-attachment" },
  48. { "path": "./packages/client/ui-primitives" },
  49. { "path": "./packages/client/web-react" },
  50. { "path": "./packages/client/modules" },
  51. { "path": "./packages/client/hmr" },
  52. { "path": "./packages/client/connection/tsconfig.client.json" },
  53. { "path": "./packages/typert/registry" },
  54. { "path": "./packages/api/gateway/tsconfig.client.json" },
  55. { "path": "./packages/api/remotes/tsconfig.client.json" },
  56. { "path": "./packages/client/runtime" },
  57. { "path": "./packages/client/test-runtime" },
  58. { "path": "./packages/client/ui-layout" },
  59. { "path": "./packages/client/ui-sidebar" },
  60. { "path": "./packages/client/ui-conversation" },
  61. { "path": "./packages/client/ui-tool" },
  62. { "path": "./packages/client/ui-deliverables" },
  63. { "path": "./packages/client/ui-workflow-run" },
  64. { "path": "./packages/client/ui-workspace" },
  65. { "path": "./packages/client/ui-slash" },
  66. { "path": "./packages/client/ui-command" },
  67. { "path": "./packages/client/ui-skill" },
  68. { "path": "./packages/client/ui-subagent" },
  69. { "path": "./packages/client/ui-task" },
  70. { "path": "./packages/client/ui-directory-picker" },
  71. { "path": "./packages/client/ui-directory-picker-native" },
  72. { "path": "./packages/client/ui-goal" },
  73. { "path": "./packages/client/ui-feedback" },
  74. { "path": "./packages/client/ui-model" },
  75. { "path": "./packages/client/ui-agent-preset" },
  76. { "path": "./packages/client/ui-permission" },
  77. { "path": "./packages/client/ui-plan" },
  78. { "path": "./packages/client/ui-plugin-config" },
  79. { "path": "./packages/client/ui-question" },
  80. { "path": "./packages/client/ui-trajectory" },
  81. { "path": "./packages/client/ui-theme" },
  82. { "path": "./packages/client/ui-settings" },
  83. { "path": "./packages/client/ui-settings-general" },
  84. { "path": "./packages/client/ui-models" },
  85. { "path": "./packages/client/locale" },
  86. { "path": "./packages/client/web" },
  87. { "path": "./apps/web" }
  88. ]
  89. }