Skip to content

Helpers

Standalone utility classes for infrastructure concerns - extend BaseHelper for scoped logging, and inject them wherever you need them.

Every peer dependency below is optional. You install one only when you use the helper that needs it.

HelperWhat it doesWhen you reach for itPeer dependency
TypesShared utility typesYou need IGNIS's shared TypeScript utility typesNone
CronScheduled tasksYou run code on a cron schedulecron
CryptoEncryption and signingYou hash, encrypt, or sign dataNone
EnvironmentEnv var managementYou need typed, validated env var accessNone
ErrorError utilitiesYou throw or handle an errorNone
Secrets & VaultSecrets and credentialsYou read config or credentials from Vault or a vaulted .envnode-vault or @dotenvx/dotenvx
InversionDI containerYou build custom bindings or providersNone
LoggerLoggingYou need scoped, leveled loggingwinston or pino
NetworkHTTP/TCP/UDP clientsYou call another service over HTTP, TCP, or UDPaxios, for the Axios client only
KafkaKafka messagingYou publish or consume Kafka topics@platformatic/kafka
QueueJob queuesYou need background or delayed workbullmq or mqtt
RedisRedis clientYou need a Redis connection - cache, pub/sub, locksNone - ioredis ships with the package
Socket.IOSocket.IO serverYou build a custom real-time featuresocket.io
WebSocketWebSocket serverYou build a custom real-time featureNone
StorageFile storageYou read/write files to MinIO or disk directlyminio, for the MinIO backend only
UIDSnowflake IDsYou need unique, sortable IDsNone
Worker ThreadWorker poolsYou move CPU-heavy work off the main threadNone

Subpath imports

A helper with an optional peer dependency ships from its own subpath, so a bundler never pulls in a peer you don't use.

Import fromRequires
@venizia/ignis-helpers/croncron
@venizia/ignis-helpers/axiosaxios
@venizia/ignis-helpers/kafka@platformatic/kafka
@venizia/ignis-helpers/bullmqbullmq
@venizia/ignis-helpers/mqttmqtt
@venizia/ignis-helpers/socket-iosocket.io, socket.io-client
@venizia/ignis-helpers/miniominio
@venizia/ignis-helpers/bun-s3none - Bun native
@venizia/ignis-helpers/hashicorp-vaultnode-vault
@venizia/ignis-helpers/dotenv-vault@dotenvx/dotenvx
@venizia/ignis-helpers/winstonwinston
@venizia/ignis-helpers/pinopino

@venizia/ignis-helpers/common is a subpath of a different kind. It isolates nothing - it exposes the part of this package that is already browser-safe: HTTP, TConstValue, and the constant and redaction tables. Import it when your code has to bundle for a browser.

The root barrel cannot: it re-exports every module, so reaching one constant through it pulls in 14 node builtins and 27 packages, winston and ioredis among them. A guard test bundles both entry points for a browser target and fails if that ever changes.

typescript
import { HTTP } from '@venizia/ignis-helpers/common';

See also