@itxtech/fdnext-server
v3.0.0
Published
Hapi HTTP server adapter for fdnext
Downloads
199
Readme
@itxtech/fdnext-server
Hapi HTTP server adapter for fdnext.
Overview
@itxtech/fdnext-server wraps the fdnext runtime in a Hapi HTTP server. It translates Hapi requests into runtime dispatch calls, providing a production-ready HTTP API for part number decoding, Flash ID inspection, and database search.
The server itself is a thin adapter — all HTTP routing, response contracts, and External Link handling are delegated to @itxtech/fdnext-core.
Installation
pnpm add @itxtech/fdnext-serverQuick Start
Development (from monorepo)
pnpm install
pnpm server:devWith a custom resource directory:
pnpm -C packages/server dev -- --resources /path/to/resourcesProduction
pnpm -C packages/server build
pnpm server:startBinary
After building, the fdnext-server binary is available:
fdnext-server [--host 0.0.0.0] [--port 8080] [--resources /path/to/resources]| Flag | Default | Description |
| :--- | :--- | :--- |
| --host | 0.0.0.0 | Bind address |
| --port | 8080 | Listen port |
| --resources | embedded | External resource directory (overrides built-in resources) |
PM2 Deployment
The monorepo root provides ecosystem.config.cjs:
pm2 start ecosystem.config.cjs
pm2 status
pm2 logs fdnext-serverDocker
See Dockerfile in the repository root for a minimal container image.
Programmatic API
import { createHttpServer } from "@itxtech/fdnext-server";
const app = createHttpServer({
host: "0.0.0.0",
port: 8080,
resourceDir: "/path/to/resources" // optional
});
await app.listen();
// Access the engine directly
const result = app.engine.decodePart({ query: "MT29F64G08CBABA", lang: "eng" });CORS
The Hapi server defaults to allowing all origins (*), suitable for local development or deployments where CORS is managed by an upstream gateway.
Documentation
- Integration Guide — Server startup and deployment
- Server API — Full HTTP route table, parameters, and response contracts
License
AGPL-3.0-or-later — See LICENSE for details.
