@cheetah-labs-io/public-contracts
v0.1.0
Published
Wire contracts for the Cheetah Labs public content API (consumed by customer front-ends via @cheetah-labs-io/web-kit).
Downloads
160
Readme
@cheetah-labs-io/public-contracts
Cheetah Labs 公開內容 API(GET /api/public/...)的 wire 契約。
正典是 docs/api-spec.md §10/§13.2 與 docs/web-kit-spec.md §5,不是本檔。
安裝
pnpm add @cheetah-labs-io/web-kit @cheetah-labs-io/public-contracts⚠ 兩個都要裝。 本 package 是 @cheetah-labs-io/web-kit 的 peerDependency
(Item/ListResponse 等型別出現在 web-kit 的公開簽章上 ⇒ 消費端必須拿到同一份宣告),
而 peer 不會被自動安裝成頂層相依——只裝 web-kit 會拿不到那些型別。
不需要 .npmrc、不需要 token:兩個 package 都在公開 npm 上。
- 零 workspace 相依,且這是承重性質(
ADR-110決定 2):任何@cheetah-labs-io/*import 都會把被 import 的 package 一起拖上發佈通道。機械防線是本 package 自己的eslint.config.mjs(@cheetah-labs-io/*無排除號)+tools/check-publishable-packages.mjs。 - 唯一宣告在這裡:
packages/api-contracts的AdminItem/AdminListResponse是同一份宣告的型別別名,不是相容層(ADR-107決定 7、ADR-109決定 1)。 - 發佈到公開 npm(
ADR-110決定 1);版本策略與觸發點見docs/web-kit-spec.md§2。
