Registry / web-framework / openapi-enforcer-middleware

openapi-enforcer-middleware

JSON →
library2.2.0jsnpmunverified

Express middleware that leverages your OpenAPI document to automatically validate requests and responses, mock responses in development, and route requests to your controller functions. Version 2.2.0 supports OpenAPI 2.0 and 3.0.x. Requires openapi-enforcer (>=1.2.0) and express (>=4.0.0) as peer dependencies. Compared to alternatives like express-openapi-validator, this middleware enforces both request and response validation, and offers built-in mocking. Ships TypeScript types. Releases are stable with periodic updates.

npm install openapi-enforcer-middleware
INSTALL
IMPORT
SIG · OPENAPI-ENFORCER-M
O
openapi-enforcer-middleware
web-frameworkjavascriptv2.2.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

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

OpenApiEnforcerMiddleware
import { OpenApiEnforcerMiddleware } from 'openapi-enforcer-middleware'
const OpenApiEnforcerMiddleware = require('openapi-enforcer-middleware')
ESM-only since v2; use named import. CommonJS not supported.
OpenApiEnforcerMiddlewareReviser
import { OpenApiEnforcerMiddlewareReviser } from 'openapi-enforcer-middleware'
import { Reviser } from 'openapi-enforcer-middleware'
Named export for request/response revisers.
default
import EnforcerMiddleware from 'openapi-enforcer-middleware'
import { EnforcerMiddleware } from 'openapi-enforcer-middleware'
Default export is also available, but named import is preferred for TypeScript.

Shows initializing OpenApiEnforcerMiddleware with an OpenAPI file, starting the enforcer, applying middleware, and defining a route that matches an operationId.

import express from 'express'; import { OpenApiEnforcerMiddleware } from 'openapi-enforcer-middleware'; const app = express(); const enforcer = new OpenApiEnforcerMiddleware('./openapi.yaml', { mock: true, // enables mocks in development }); // Resolve the OpenAPI document await enforcer.start(); // Use the middleware app.use(enforcer.middleware()); // Define a controller (function name must match operationId in OpenAPI) app.get('/users/:id', (req, res) => { res.json({ id: req.params.id, name: 'John' }); }); app.listen(3000, () => console.log('Server running on port 3000'));
Debug
Known issues
breakingImporting with require() fails because package is ESM-only since v2
fix
Use 'import' syntax or dynamic import().
affects: >=2.0.0
deprecatedThe 'OpenApiEnforcerMiddleware' constructor no longer accepts a string path to the OpenAPI document directly; it must be a resolved object
fix
Use the 'start()' method to resolve the document.
affects: >=2.0.0
gotchaMiddleware must be applied after calling enforcer.start()
fix
Always await enforcer.start() before using enforcer.middleware().
affects: >=2.0.0
gotchaResponse validation may cause false positives if error headers or status codes are not present in the OpenAPI spec
fix
Add all possible response schemas to your OpenAPI document or disable response validation with option validateResponse: false.
affects: >=1.0.0
gotchaMock mode returns generated data based on schema but might not be production-ready
fix
Disable mock mode in production production: set mock: false.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: OpenApiEnforcerMiddleware is not a constructor
Using CommonJS require() on ESM-only package
fix
Use import { OpenApiEnforcerMiddleware } from 'openapi-enforcer-middleware' with 'type': 'module' in package.json or run with --experimental-modules.
Error: Cannot find module 'openapi-enforcer'
Missing peer dependency openapi-enforcer
fix
Run npm install openapi-enforcer openapi-enforcer-middleware.
Upgrade
Version history
2.2.0latest on npm
Audit
Dependencies
expressrequiredpeer dependency - express middleware host
openapi-enforcerrequiredpeer dependency - core validation engine
Agent activity
2 hits · last 30 days
node
2
Resources
openapi-enforcer-middleware — npm install openapi-enforcer-middleware · libregistry