Registry / database / nukak-express

nukak-express

JSON →
library1.9.1jsnpmunverified

Express.js middleware integration for nukak ORM, version 1.9.1. Adds request-scoped database sessions, transaction management, and automatic connection lifecycle to Express applications. Requires nukak core (^1.8.1) and Express (^4.18.2). Designed for TypeScript-first projects with full ESM support. Differentiators: declarative JSON queries, unified API across SQL databases, serializable query contexts.

npm install nukak-express
INSTALL
IMPORT
SIG · NUKAK-EXPRESS
N
nukak-express
databasejavascriptv1.9.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

NukakExpress
import { NukakExpress } from 'nukak-express'
const NukakExpress = require('nukak-express')
ESM-only; CommonJS require will fail in Node.js unless using dynamic import.
default
import NukakExpress from 'nukak-express'
Default export is the NukakExpress class. Same as named export
RequestContext
import { RequestContext } from 'nukak-express'
import RequestContext from 'nukak-express'
RequestContext is a named export, not default. Used for accessing per-request database session.

Sets up Express middleware with nukak-express to provide per-request database sessions via RequestContext.

import express from 'express'; import { NukakExpress } from 'nukak-express'; import { createQuerierPool } from 'nukak-postgres'; const app = express(); app.use(express.json()); // Create a nukak querier pool (PostgreSQL example) const querierPool = createQuerierPool({ host: process.env.DB_HOST ?? 'localhost', port: parseInt(process.env.DB_PORT ?? '5432'), user: process.env.DB_USER ?? 'postgres', password: process.env.DB_PASSWORD ?? '', database: process.env.DB_NAME ?? 'mydb', }); // Attach nukak-express middleware app.use(NukakExpress.middleware({ querierPool })); // Example endpoint using request-scoped querier app.get('/users/:id', async (req, res) => { const querier = RequestContext.getQuerier(); const user = await querier.findOne('User', { $where: { id: req.params.id } }); res.json(user); }); app.listen(3000, () => console.log('Server running on port 3000'));
Debug
Known issues
breakingESM-only package; cannot be required() in CommonJS projects
fix
Use ES module imports or dynamic import() in CommonJS.
affects: >=1.0.0
gotchaRequestContext.getQuerier() must be called within an async middleware/route handler after nukak-express middleware
fix
Ensure NukakExpress.middleware() is applied before any route that uses RequestContext.
affects: >=1.0.0
gotchaExperimental decorators and emitDecoratorMetadata required in tsconfig.json if using entity classes
fix
Add "experimentalDecorators": true and "emitDecoratorMetadata": true to compilerOptions.
affects: >=1.0.0
deprecatedOld import path 'nukak-express/lib/middleware' is deprecated in favor of 'nukak-express'
fix
Use import { NukakExpress } from 'nukak-express' instead of deep imports.
affects: >=1.0.0 <1.9.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module ... not supported
nukak-express is pure ESM and cannot be loaded with require()
fix
Switch to ES modules (type: 'module' in package.json) or use dynamic import: const { NukakExpress } = await import('nukak-express')
RequestContext.getQuerier is not a function
RequestContext was imported incorrectly (default vs named)
fix
Use named import: import { RequestContext } from 'nukak-express'
Cannot find module 'nukak' or its corresponding type declarations
nukak core package not installed or version mismatch
fix
Install nukak: npm install nukak && ensure it meets peer dependency ^1.8.1
Upgrade
Version history
1.9.1latest on npm
Audit
Dependencies
expressrequiredpeer dependency; provides HTTP server and middleware framework
nukakrequiredpeer dependency; core ORM library providing query engine and entity management
Agent activity
7 hits · last 30 days
node
6
Resources
nukak-express — npm install nukak-express · libregistry