Version: 0.2.1
A production-grade, configurable webhook processing engine built with TypeScript and Node.js. It supports multiple webhook providers via adapters, secure verification, retries, structured logging, persistence, and a CLI for management and debugging.
A Complete Guide to Create a Configurable Webhook Processing Engine in NodeJs.
- Adapter-based architecture (Stripe, GitHub, Shopify, custom webhooks, etc.)
- Express 5 powered HTTP server
- Secure signature verification
- Retry & failure handling
- SQLite persistence using better-sqlite3
- Structured logging
- Environment-based configuration
- CLI tools for managing webhooks
- Written fully in TypeScript
- Production-ready build output
npm install configurable-webhook-processing-engine
import { WebhookEngine } from "configurable-webhook-processing-engine";
const engine = new WebhookEngine({ port: 3000 });
engine.start();
npm run build Compile TypeScript npm run test Run test suite npm run dev Run development server npm run lint Run ESLint npm run format Run Prettier
npm run example:basic Basic webhook server (port 3000) npm run example:multi Multiple adapters (port 3001) npm run example:logging Structured logging demo (port 3002) npm run example:ecommerce E-commerce webhook example (port 3003) npm run example:cli CLI tools demo
After installation:
hook-engine --help
The CLI allows you to:
- Inspect webhook events
- Replay failed webhooks
- Manage adapters
- Debug payloads
Create a .env file in your project root:
PORT=3000 WEBHOOK_SECRET=your_secret_key DATABASE_PATH=./data/webhooks.db
Compiled files are generated in:
/dist
- dist/ Compiled JavaScript output
- bin/ CLI executable
- examples/ Example implementations
- README.md Documentation