Guides
Import is free. Trust is never free. Anything that enters a .poi file is checked by Poi’s rules — no exemption for being external.
any module ──import──▶ .poi ──[Poi checks]──▶ .js + .d.ts
(.poi / npm / .ts) no "external, skip rules" pass
as Shape on unknown errors (not an escape hatch)match v { { name: String } => …, _ => … } with real runtime checks_ — it cannot lie| Direction | Supported |
|---|---|
.poi → .poi | Yes, normal modules |
npm / .ts into .poi | Yes; value is unknown until match |
| Silent trust of claimed foreign types | No |
| Poi consumed by TS | Yes — emit .js + .d.ts |
| Embed arbitrary React trees inside Poi JSX | No (migrate at route / bridge boundary) |
Authoritative: docs/03-interop.md.