{"id":27438,"library":"tango-app-api-middleware","title":"Tango App API Middleware","description":"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.","status":"active","version":"3.6.18","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install tango-app-api-middleware","lang":"bash","label":"npm"},{"cmd":"yarn add tango-app-api-middleware","lang":"bash","label":"yarn"},{"cmd":"pnpm add tango-app-api-middleware","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM-only since v3","wrong":"const middleware = require('tango-app-api-middleware')","symbol":"default","correct":"import middleware from 'tango-app-api-middleware'"},{"note":"Named export available; avoid deep imports","wrong":"import { createMiddleware } from 'tango-app-api-middleware/dist/index'","symbol":"createMiddleware","correct":"import { createMiddleware } from 'tango-app-api-middleware'"},{"note":"Type import for TypeScript users","wrong":null,"symbol":"MiddlewareConfig","correct":"import type { MiddlewareConfig } from 'tango-app-api-middleware'"}],"quickstart":{"code":"import middleware from 'tango-app-api-middleware';\nimport express from 'express';\nconst app = express();\napp.use(middleware({ apiKey: process.env.API_KEY ?? '' }));\napp.get('/api/example', (req, res) => { res.json({ message: 'Hello' }); });\napp.listen(3000, () => console.log('Server running on port 3000'));","lang":"typescript","description":"Demonstrates basic Express integration with the middleware using an API key from environment."},"warnings":[{"fix":"Use ES module imports; update Node.js to >=18.10.0.","message":"Breaking change in v3: package is now ESM-only, dropping CommonJS support.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Remove `legacy` property from options object; use new `mode` property instead.","message":"Deprecated: `legacy` option in middleware config removed in v3.5.0.","severity":"deprecated","affected_versions":">=3.5.0"},{"fix":"Wrap middleware usage in try-catch or use an Express error-handling middleware.","message":"Middleware does not include default error handler; uncaught errors will crash the process unless manually caught.","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Update headers configuration to use `{ name: string, value: string }[]` format.","message":"Breaking change in v3.2.0: `headers` option now requires object with `name` and `value` arrays instead of plain object.","severity":"breaking","affected_versions":">=3.2.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use import statement or dynamic import().","cause":"Package is ESM-only; using CommonJS require() fails.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module"},{"fix":"Provide the `apiKey` parameter in middleware configuration: `middleware({ apiKey: 'your-key' })`.","cause":"Middleware invoked without required `apiKey` option.","error":"TypeError: Cannot read properties of undefined (reading 'apply')"},{"fix":"Use `import middleware from 'tango-app-api-middleware'` (default import).","cause":"Importing default export incorrectly; likely used named import for default.","error":"TypeError: middleware is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}