![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
dynamic-middleware
Advanced tools
turn a connect middleware into a replaceable, deletable middleware
Replace or disable a connect/express middleware in runtime
compatible with express 3, express 4 and connect 3
its quite inconvenient to replace a middleware after you start a connect / express server
npm install dynamic-middleware
const DynamicMiddleware = require('dynamic-middleware')
const express = require('express')
const app = express()
// a simple middleware
function myMiddleware(req, res, next) {
res.end('1')
}
// create a dynamic one from it
let dm = DynamicMiddleware.create(myMiddleware)
app.get('/', dm.handler())
// disable the middleware, will reply with 404 now
dm.disable()
// enable it back
dm.enable()
// or replace it with something else
dm = dm.replace(function(req, res, next) {
res.end('2')
})
// create a dynamic error middlware
let errorDm = DynamicMiddleware.create((err, req, res, next) => { ... })
app.use(errorDm.errorHandler())
Previous versions operated by manipulating the internal state of express/connect , this approach worked well for real middlewares (.use()) but was terrible for routes (.get() etc..). The new version does not do that, but rather manages the state internally.
The public interface of this module has changed
FAQs
turn a connect middleware into a replaceable, deletable middleware
The npm package dynamic-middleware receives a total of 31 weekly downloads. As such, dynamic-middleware popularity was classified as not popular.
We found that dynamic-middleware demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.