Skip to content

Extensions

Extensions are optional packages and built-in modules that add functionality on top of the Ignis core framework. They are organized into two categories:

Components

Components are self-contained feature modules that plug into your application via the this.component() registration method. Each component encapsulates its own bindings, controllers, and configuration.

ComponentDescriptionKey Features
AuthenticationIdentity verificationJWT, Basic, JWKS strategies
AuthorizationAccess controlCasbin-based RBAC, per-route policies
Health CheckLiveness & readiness/health, /health/live, /health/ready
MailEmail deliveryNodemailer, Mailgun, queue support
Request TrackerRequest tracingx-request-id header, body parsing
Socket.IOReal-time (Socket.IO)Redis adapter, room-based messaging
Static AssetFile managementUpload/download, MinIO, Disk, BunS3
SwaggerAPI docsOpenAPI UI, Swagger UI, Scalar UI
WebSocketReal-time (native)Bun native WebSocket, encryption

Helpers

Helpers are standalone utility classes for infrastructure concerns. They extend BaseHelper for scoped logging and are typically used via dependency injection.

HelperDescriptionPeer Dependencies
CronScheduled taskscron
CryptoEncryption/signingBuilt-in
EnvironmentEnv var managementBuilt-in
ErrorError utilitiesBuilt-in
InversionDI containerBuilt-in
LoggerLoggingwinston
NetworkHTTP/TCP/UDP clientsaxios (optional)
KafkaKafka messaging@platformatic/kafka
QueueJob queuesbullmq, mqtt (optional)
RedisRedis clientioredis
Socket.IOSocket.IO serversocket.io
StorageFile storageminio (optional)
TestingTest utilitiesBuilt-in
TypesShared typesBuilt-in
UIDSnowflake IDsBuilt-in
WebSocketWebSocket serverBuilt-in
Worker ThreadWorker poolsBuilt-in

See Also

  • Core API -- Base framework abstractions
  • Guides -- Getting started and tutorials