Tango App API Middleware
raw JSON → 3.6.18 verified Sat Apr 25 auth: no javascript
A middleware package for Node.js applications, version 3.6.18. Provides HTTP request/response processing for Tango-based APIs. Requires Node >=18.10.0. Limited public documentation; likely an internal or proprietary library. Differentiated by specific integration with Tango App ecosystem.
Common errors
error Error [ERR_REQUIRE_ESM]: require() of ES Module ↓
cause Package is ESM-only; using CommonJS require() fails.
fix
Use import statement or dynamic import().
error TypeError: Cannot read properties of undefined (reading 'apply') ↓
cause Middleware invoked without required `apiKey` option.
fix
Provide the
apiKey parameter in middleware configuration: middleware({ apiKey: 'your-key' }). error TypeError: middleware is not a function ↓
cause Importing default export incorrectly; likely used named import for default.
fix
Use
import middleware from 'tango-app-api-middleware' (default import). Warnings
breaking Breaking change in v3: package is now ESM-only, dropping CommonJS support. ↓
fix Use ES module imports; update Node.js to >=18.10.0.
deprecated Deprecated: `legacy` option in middleware config removed in v3.5.0. ↓
fix Remove `legacy` property from options object; use new `mode` property instead.
gotcha Middleware does not include default error handler; uncaught errors will crash the process unless manually caught. ↓
fix Wrap middleware usage in try-catch or use an Express error-handling middleware.
breaking Breaking change in v3.2.0: `headers` option now requires object with `name` and `value` arrays instead of plain object. ↓
fix Update headers configuration to use `{ name: string, value: string }[]` format.
Install
npm install tango-app-api-middleware yarn add tango-app-api-middleware pnpm add tango-app-api-middleware Imports
- default wrong
const middleware = require('tango-app-api-middleware')correctimport middleware from 'tango-app-api-middleware' - createMiddleware wrong
import { createMiddleware } from 'tango-app-api-middleware/dist/index'correctimport { createMiddleware } from 'tango-app-api-middleware' - MiddlewareConfig
import type { MiddlewareConfig } from 'tango-app-api-middleware'
Quickstart
import middleware from 'tango-app-api-middleware';
import express from 'express';
const app = express();
app.use(middleware({ apiKey: process.env.API_KEY ?? '' }));
app.get('/api/example', (req, res) => { res.json({ message: 'Hello' }); });
app.listen(3000, () => console.log('Server running on port 3000'));