{"id":18883,"library":"ui5-middleware-cap","title":"ui5-middleware-cap","description":"UI5 CLI middleware that embeds the CDS server middleware from SAP Cloud Application Programming Model (CAP) into the UI5 development server. Version 3.3.4 requires @ui5/cli >=3 and @sap/cds >=6.8.1. It improves local development by integrating CAP services (including mock data and in-memory database) directly into the UI5 dev server lifecycle. Community-maintained, with active monitoring and contributions.","status":"active","version":"3.3.4","language":"javascript","source_language":"en","source_url":"https://github.com/ui5-community/ui5-ecosystem-showcase","tags":["javascript"],"install":[{"cmd":"npm install ui5-middleware-cap","lang":"bash","label":"npm"},{"cmd":"yarn add ui5-middleware-cap","lang":"bash","label":"yarn"},{"cmd":"pnpm add ui5-middleware-cap","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required to run the CDS server middleware","package":"@sap/cds","optional":false},{"reason":"Required to support specVersion '3.0' and middleware configuration","package":"@ui5/cli","optional":false},{"reason":"Underlying HTTP framework for the middleware","package":"express","optional":false}],"imports":[{"note":"This is a UI5 CLI middleware, not a JavaScript module. It is configured declaratively in ui5.yaml.","wrong":"import ui5MiddlewareCap from 'ui5-middleware-cap'","symbol":"ui5-middleware-cap","correct":"// No JavaScript import; configured via ui5.yaml\nserver:\n  customMiddleware:\n  - name: ui5-middleware-cap\n    afterMiddleware: compression\n    mountPath: '/cap'"},{"note":"@sap/cds is CommonJS-only; use require() in Node.js. ESM import may fail.","wrong":"import { cds } from '@sap/cds'","symbol":"cds","correct":"const cds = require('@sap/cds')"},{"note":"Modern versions of express support ESM import in Node >=14 via 'import'.","wrong":"const express = require('express')","symbol":"express","correct":"import express from 'express'"}],"quickstart":{"code":"// Step 1: Install dependencies\nnpm add ui5-middleware-cap @sap/cds -D\n\n// Step 2: Create ui5.yaml in project root with:\n// specVersion: '3.0'\n// metadata:\n//   name: my-app\n// server:\n//   customMiddleware:\n//   - name: ui5-middleware-cap\n//     afterMiddleware: compression\n//     mountPath: '/cap'\n\n// Step 3: Ensure @sap/cds version >=6.8.1 in package.json\n\n// Step 4: Run UI5 dev server\n// ui5 serve --port 8080 --open /cap","lang":"typescript","description":"Shows minimal setup: install deps, configure ui5.yaml, verify CDS version, start UI5 server."},"warnings":[{"fix":"Upgrade @ui5/cli to latest major version 3+ and ensure ui5.yaml uses specVersion: '3.0'.","message":"Major version 3 requires @ui5/cli >=3 (specVersion 3.0). Older UI5 CLI versions are not compatible.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Use 'in-memory?' instead of 'in-memory' in ui5.yaml options.","message":"The 'in-memory' option has been renamed to 'in-memory?' with optional question mark syntax. Old usage may break.","severity":"deprecated","affected_versions":">=3.0"},{"fix":"Add '@sap/cds' to your package.json dependencies or devDependencies.","message":"CDS server is only attached if '@sap/cds' is listed as a dependency or devDependency, not just transitive.","severity":"gotcha","affected_versions":">=3.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install @sap/cds@>=6.8.1 -D` and ensure it's in package.json","cause":"@sap/cds not installed or version too low","error":"Error: Cannot find module '@sap/cds'"},{"fix":"Update ui5.yaml specVersion: '3.0'","cause":"ui5.yaml uses old specVersion incompatible with middleware","error":"Invalid configuration: specVersion must be '3.0'"},{"fix":"Upgrade @sap/cds to >=6.8.1","cause":"Incompatible @sap/cds version (<6.8.1)","error":"TypeError: cds.server is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}