Skip to content

Components ​

Self-contained feature modules you register with this.component(SomeComponent).

Built-in components ​

ComponentWhat it doesImport fromWhen you reach for it
AuthenticationJWT, Basic and service-assertion auth - token generation, protected routes, multi-strategy@venizia/ignisA route needs to know who the caller is
Authorization ExperimentalEnforcer-based RBAC/ABAC, voters, Casbin integration@venizia/ignisA route needs a permission check beyond authentication
Health Check/health endpoint, ping/pong@venizia/ignisA load balancer or Kubernetes needs a liveness probe
MailEmail sending - multiple transports, templating, queue-based@venizia/ignis/mailThe app sends transactional or templated email
Request TrackerRequest ID, timing, structured request logging@venizia/ignisAlways on - registered automatically, nothing to configure
Socket.IOReal-time over Socket.IO - Redis adapter, event-based@venizia/ignis/socket-ioClients need rooms or Socket.IO-specific features
WebSocketNative Bun WebSocket, Redis pub/sub, heartbeat@venizia/ignis/websocketClients need a raw WebSocket without Socket.IO
Static AssetUpload/download files - S3-compatible or local disk@venizia/ignis/static-assetThe app stores or serves user-uploaded files
API ReferenceOpenAPI generation, Scalar UI by default, Swagger UI optional@venizia/ignisYou want a browsable UI for your REST routes
gRPCConnectRPC transport, unary RPC, decorator-based@venizia/ignis/grpcThe app serves gRPC alongside or instead of REST

Mail, Socket.IO, WebSocket and Static Asset are kept off the root barrel on purpose, so importing one never drags the others' optional peers into your bundle. gRPC lives on its own subpath for the same reason. Use the exact specifier in the table.

See also ​