CDS pluginCDS plugintypeInstalls into a CAP project and extends the runtime. CAP loads it through cds.requires or the plugin hook.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

cds-plugin-ui5

A CDS plugin that runs the UI5 CLI express middlewares inside the CDS server, so a UI5 CLI project is served from the same port as the services, mounted under a path from its ui5.yaml.

A CDS server serves the files under app/. A UI5 CLI project is not a folder of files ready to serve: its framework resources are resolved and its middlewares configured by ui5.yaml, and until something runs that chain the project needs a server of its own. This plugin runs it inside the CDS server, for a project in app/, in the folder cds.env.folders.app names, or added as a dependency of the CDS server. Each project is mounted under a path derived from the metadata/name of its ui5.yaml, overridable in the ui5.yaml itself, in the CDS server's package.json or through CDS_PLUGIN_UI5_MODULES. In a project it is one development dependency and an existing ui5.yaml, on @sap/cds 6.8.2 or higher.

Facts

Latestv0.17.4ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Integrated frontend dev serverCAPIntegrated frontend dev servercapabilityServing a frontend and its backend services together during development, so they can be reached through one local origin. Serving prebuilt files and integrating a frontend toolchain that assembles resources on demand are different requirements.
Flavors
Requires
@sap/cds≥ 6.8.2@sap/cdsartifactThe peer range, as published.

Who is behind it

Peter MuessigPeter MuessigPersonMaintains this
In the atlas: maintains 14, contributes to 80, wrote 1
@petermuessig
UI5 CommunityUI5 CommunityOrganisationMaintains this
In the atlas: maintains 69
@ui5-community
maintainersAdrian BobevPersonContributes to this
In the atlas: contributes to 10
@adrian-bobev
Attila BorosPersonContributes to this
In the atlas: contributes to 6
@attila-boros
Benjamin ReimPersonContributes to this
In the atlas: contributes to 9
@BenReim
Christian GeorgiPersonContributes to this
In the atlas: maintains 1, contributes to 53
@chgeo
Frank WeigelPersonContributes to this
In the atlas: contributes to 10
@codeworrior
David SooterPersonContributes to this
In the atlas: contributes to 9
@d-sooter
Yavor IvanovPersonContributes to this
In the atlas: contributes to 17
@d3xter666
Austin DevinePersonContributes to this
In the atlas: maintains 7, contributes to 25
@devinea
Dimitar FenerskiPersonContributes to this
In the atlas: contributes to 23
@dfenerski
Dominik FeiningerPersonContributes to this
In the atlas: contributes to 11
@dominikfeininger
57 contributors

Before choosing this

Conditions

LicenceSAP Developer License Agreement 3.2 CAP§ 1, 2, 3A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.
  • § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
  • § 2 Intellectual Property. The agreement retains SAP's rights in the covered materials and limits making APIs, tools or software available to third parties, while preserving ownership of customer applications subject to SAP's underlying rights.
  • § 3 Artificial Intelligence Training. The agreement prohibits use of the covered materials and customer applications for training artificial-intelligence models or systems.
SAP Developer License Agreement 3.2 CAP →
PracticalFunctional boundary

For a deployed application's UI. The README adds it with npm add cds-plugin-ui5 -D, a development dependency of the CDS server, and states nothing about a build or a deployment.

What it declares

Every artifact

Type
CDS plugin
Origin
By a community org
Runtime
Node.js

As a CDS plugin

Declared for
>=6.8.2
Distributed through
npm

For UI5 dev server

Where the app sits
The app folder, the folder cds.env.folders.app names, or a dependency of the CDS server
What serves the resources
The UI5 CLI express middlewares, run inside the CDS server

Tasks this contributes to2Beta

Reach every UI app of a CAP project from one page while developingA project with more than one UI app gives a developer one page that links all of them, instead of a URL per app to keep and to type.Node.jsCovers, under conditionsdev-server integration
What it does

Each UI5 module it serves is mounted under its own path, and the app pages it knows about are injected into the welcome page. The README states only the case in which that does not happen, the lazy loading option; that the pages are injected otherwise is the reading of that sentence rather than a second statement.

Conditions

Lazy loading is off: the README states that with the lazy loading option the app pages cannot be retrieved and injected

Remaining work

Leave lazy loading off where the welcome page has to list the apps, or accept that the apps are reached by their mount paths instead.

All options on the UI5 dev server page →
Serve a UI5 CLI project from the CAP server while developingA UI5 app that is a UI5 CLI project, its framework resources resolved and its middlewares configured by ui5.yaml, is reachable on the CDS server's own port while the services are running, with no second server and no proxy in front.Covers, under conditionsdev-server integration
What it does

Runs the UI5 CLI express middlewares inside the CDS server, so the project's resources are served from the same port as the services. It takes the project from the app folder, from the folder cds.env.folders.app names, or from a dependency of the CDS server, and mounts it under a path derived from the metadata/name of its ui5.yaml.

Conditions

@sap/cds is at 6.8.2 or higher; The app is a UI5 CLI based project, so a ui5.yaml exists to configure the middlewares and name the module

Remaining work

Decide the mount path where the derived one is not wanted, in the ui5.yaml, in the CDS server's package.json or through CDS_PLUGIN_UI5_MODULES. The middlewares the project runs are the ones its own ui5.yaml configures, so that file stays the project's to maintain.

All options on the UI5 dev server page →

Connections4

cds-plugin-ui5 connectionscds-plugin-ui5FUNCTIONAL← alternative to1alternative to derivedui5-middleware-cap→ provides1provides stated Runs the UI5 CLI express middlewares inside the CDS server for UI5 freestyle and Fiori elements projects, so their resources are served on the CDS server's own port. It finds them in `app/`, in the folder `cds.env.folders.app` names, or as a dependency of the CDS server, and mounts each under a path derived from the `metadata/name` of its `ui5.yaml`. cds-plugin-ui5 — README: https://raw.githubusercontent.com/ui5-community/ui5-ecosystem-showcase/main/packages/cds-plugin-ui5/README.md cds-plugin-ui5 — README, where the projects sit: https://raw.githubusercontent.com/ui5-community/ui5-ecosystem-showcase/main/packages/cds-plugin-ui5/README.md cds-plugin-ui5 — README, mount path: https://raw.githubusercontent.com/ui5-community/ui5-ecosystem-showcase/main/packages/cds-plugin-ui5/README.md CAP Plugins — capire, UI5 Dev Server: https://cap.cloud.sap/docs/plugins/Integrated frontend dev serverUSED BY← needed by1needed by derived Serves the UI5 CLI project under `app/`, an npm workspace of the CAP project, from the CDS server's own port — the address the app README gives for opening it. Through: inverted from its requires edge ui5-cap-serverside-rendering-demo — package.json, devDependencies: https://raw.githubusercontent.com/lemaiwo/ui5-cap-serverside-rendering-demo/main/package.json ui5-cap-serverside-rendering-demo — app/serverside-rendering README, starting the app: https://raw.githubusercontent.com/lemaiwo/ui5-cap-serverside-rendering-demo/main/app/serverside-rendering/README.mdui5-cap-serverside-rendering-demo← optionally used by1optionally used by derived If: running locally; the deployed chat app is built as its own MTA module serving the chat app from the CDS server at dev time, so one `cds watch` starts the service and the screen together Through: inverted from its requires edge lemaiwo/btp-agent — CLAUDE.md, Key Design Decisions: https://raw.githubusercontent.com/lemaiwo/btp-agent/main/CLAUDE.md lemaiwo/btp-agent — CLAUDE.md, Key Dependencies: https://raw.githubusercontent.com/lemaiwo/btp-agent/main/CLAUDE.mdbtp-agentif

Install

npm add cds-plugin-ui5

Derived from the package name. No recipe recorded; the README has the configuration.

Learn more1

Readings
  1. SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAPNico Schoenteich, SAP Community

README

quoted from ui5-community/ui5-ecosystem-showcase under Apache-2.0, read
ui5-community/ui5-ecosystem-showcase/packages/cds-plugin-ui5/README.mdOn GitHub

cds-plugin-ui5

👋 This is an open‑source, community‑driven project, actively overseen by UI5 and CAP contributors. It is maintained outside SAP’s standard support model. You are welcome to adopt it, submit issues, contribute enhancements, and participate in community discussions.

The cds-plugin-ui5 is a CDS server cds-plugin for the node runtime of the SAP Cloud Application Programming Model (CAP) which enables the integration of UI5 CLI based (UI5 freestyle or Fiori elements) projects into the CDS server via the UI5 CLI express middlewares. The UI5 or Fiori elements projects just need to be located in the app folder of the CDS server, or via the cds.env.folders.app variable, or be a dependency of the CDS server.

Prerequisites

The plugin requires @sap/cds >=6.8.2.

Usage

Add a devDependency to the cds-plugin-ui5 to your CDS server project:

npm add cds-plugin-ui5 -D

That's it!

Configuration

The plugin accepts configuration to control the mount path for the embedding into the CDS server and selected configuration options for the UI5 server middlewares which are embedded into the mount path of the CDS server.

Mount Path

The mount path of the UI5 application configures the nested Router for the UI5 server middlewares to run under this predefined path. It is by default derived from the metadata/name of the ui5.yaml:

specVersion: "3.0"
metadata:
  name: ui5.bookshop
type: application

This configuration can be overruled by adding a the customConfiguration/cds-plugin-ui5/mountPath option into the ui5.yaml:

specVersion: "3.0"
metadata:
  name: ui5.bookshop
type: application
customConfiguration:
  cds-plugin-ui5:
    mountPath: /bookshop

In some cases it is necessary to overrule the UI5 application local configuration in the CDS server. Therefore, you can add custom configuration into the package.json of the CDS server into the section: cds/cds-plugin-ui5/modules/%moduleId%/mountPath

{
  "name": "cds-bookshop",
  [...]
  "cds": {
    [...]
    "cds-plugin-ui5": {
      "modules": {
        "ui5-bookshop": {
          "mountPath": "/the-bookshop"
        }
      }
    }
  }
}

The moduleId is either the directory name for local apps in the app directory of the CDS server or for dependencies the name from the package.json.

The configuration can also be injected with the environment variable CDS_PLUGIN_UI5_MODULES. It contains the JSON string from the configuration above, e.g.:

CDS_PLUGIN_UI5_MODULES="{ \"ui5-bookshop\": { \"mountPath\": \"/the-bookshop\" } }" cds-serve
Lazy Loading

The plugin supports lazy loading of UI5 applications which means that the UI5 middlewares will not be applied by default. The first time a UI5 application will be accessed in the CDS server triggers the load and apply of the UI5 middlewares. This feature is not active by default and needs to be activated with the environment variable CDS_PLUGIN_UI5_LAZY_LOADING.

# enable lazy loading for UI5 applications
CDS_PLUGIN_UI5_LAZY_LOADING=true cds watch
Logger

The cds-plugin-ui5 uses the logger from CDS. By default, it adds coloring to the logs from CDS. This can be disabled in general by using the environment variable NO_COLOR for the logger overall or specifically for the cds-plugin-ui5 by setting the environment variable CDS_PLUGIN_UI5_NO_CUSTOM_LOGGER.

# disable the colored logging extension of the cds-plugin-ui5
CDS_PLUGIN_UI5_NO_CUSTOM_LOGGER=1 cds watch
UI5 Server Middlewares

If you require to configure the UI5 server middlewares, you can do so by adding some selected configuration options in the package.json of the CDS server in the section: cds/cds-plugin-ui5/modules/%moduleId%

{
  "name": "cds-bookshop",
  [...]
  "cds": {
    [...]
    "cds-plugin-ui5": {
      "modules": {
        "ui5-bookshop": {
          "configFile": "ui5.yaml",
          "workspaceConfigFile": "ui5-workspace.yaml",
          "workspaceName": "default",
          "versionOverride": "1.117.0"
        }
      }
    }
  }
}

The moduleId is either the directory name for local apps in the app directory of the CDS server or for dependencies the name from the package.json.

The available configuration options are:

  • configFile: string - name of the config file (defaults to "ui5.yaml")
  • workspaceConfigFile: string - name of the workspace config file (defaults to "ui5-workspace.yaml")
  • workspaceName: string - name of the workspace (defaults to "default" when the file at workspaceConfigPath exists)
  • versionOverride: string - Framework version to use instead of the one defined in the root project

If the configFile or workspaceConfigFile startes with ./ or ../ then the config file is considered to be relative to the package.json.

The configuration can also be injected with the environment variable CDS_PLUGIN_UI5_MODULES. It contains the JSON string from the configuration above, e.g.:

CDS_PLUGIN_UI5_MODULES="{ \"ui5-bookshop\": { \"configFile\": \"ui5-dist.yaml\" } }" cds-serve

The configuration options from the UI5 server middlewares and the mount path can be mixed together as they both are in the same section of the package.json.

Info for UI5 CLI Extension Developers

Custom middlewares may generate virtual app pages which should also be listed as web applications in the welcome page of the @sap/cds server. This is possible by assigning a static getAppPages function to the middleware function. The following snippet show-cases how this can be done:

// the middleware factory function
module.exports = async ({ log, resources, options }) => {
  // create the middleware function
  const mwFn = (req, res, next) => {
    [...]
  };

  /**
   * Returns an array of app pages to be added to the welcome
   * page of the <code>@sap/cds</code> server.
   * @returns {undefined|string[]} array of app pages
   */
  mwFn.getAppPages = function() {
    return ["/test.html"];
  };

  // finally return the middleware function
  return mwFn;
};

The returned app pages will be added to the welcome page within the respective mount path.

⚠️ The app pages cannot be retrieved and injected when using the lazy loading option.

Hints

This section includes hints for the usage of the cds-plugin-ui5 with other tools.

JEST

The cds-plugin-ui5 doesn't work with JEST out of the box as it internally is using dynamic imports to load helpers from the UI5 CLI. JEST fails with a segmentation fault error and therefore, the cds-plugin-ui5 is disabled when running in context of JEST. It can be forcefully enabled by setting the environment variable CDS_PLUGIN_UI5_ACTIVE=true. But in this case you need to at least use Node.js 21 (https://github.com/nodejs/node/issues/35889) and you need to enable the experimental support for ES modules (https://jestjs.io/docs/ecmascript-modules). This enables the cds-plugin-ui5 to run in context of JEST.

Support

Please use the GitHub bug tracking system to post questions, bug reports or to create pull requests.

Contributing

Any type of contribution (code contributions, pull requests, issues) to this set of UI5 CLI extensions will be equally appreciated.

License

This work is licensed under Apache 2.0.

Built with care (and a lot of caffeine). If this helped you build, test, or ship, the next coffee — or drink — is on you when you bump into a contributor.

Apache-2.0, read

History

Latest

v0.17.4

Fixes 2

Notes
Patch Changes
  • #1394 0e7a9e2 Thanks @petermuessig! - Recognize UI5 projects with type: component (introduced in UI5 CLI v5) alongside type: application when discovering UI5 modules in findUI5Modules.js. Fixes #1392.

  • #1393 ab3de64 Thanks @marianfoo! - Pass an explicit liveReload option when constructing @ui5/server's MiddlewareManager, preventing a startup crash (Cannot read properties of undefined (reading 'active')) when running on @ui5/server v5. The v5 server supplies the liveReload default only via a function default parameter, which is bypassed by the explicit options object passed here. No effect on @ui5/server v4.

  1. v0.17.3

    Fixes 1

    Notes
    Patch Changes
    • #1373 3c544b7 Thanks @petermuessig! - Bump the express peerDependency floor from >=4.18.2 to >=4.19.2 so the declared range no longer permits versions affected by GHSA-rv95-896h-c2vc (open redirect). Closes Dependabot alerts #110, #111, #113, #114, #115, #117.
  2. v0.17.2

    Fixes 1

    Notes
    Patch Changes
    • #1370 dd71c42 Thanks @petermuessig! - Bump runtime dependencies to clear open dependabot alerts and pick up upstream patch releases:
      • cds-plugin-ui5: semver ^7.8.0 → ^7.8.1
      • ui5-middleware-approuter: @sap/approuter ^22.0.0 → ^22.0.1
      • ui5-middleware-serveframework: node-fetch ^2.7.0 → ^3.3.2
      • ui5-middleware-websocket: ws ^8.20.1 → ^8.21.0
      • ui5-task-copyright: @typescript-eslint/typescript-estree ^8.59.3 → ^8.60.0
      • ui5-tooling-transpile: @babel/core, @babel/preset-env, @babel/preset-typescript → ^7.29.7

    All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

  3. v0.17.1

    Notes

    Note: Version bump only for package cds-plugin-ui5

  4. v0.17.0

    Features 1

    Notes
    Features
  5. v0.16.3

    Notes

    Note: Version bump only for package cds-plugin-ui5

  6. v0.16.2

    Notes

    Note: Version bump only for package cds-plugin-ui5

  7. v0.16.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: coerce versions for satisfy check (#1303) (61e65ff)
  8. v0.16.0

    Features 1

    Notes
    Features
  9. v0.15.0

    Features 1

    Notes
    Features
  10. v0.14.0

    Features 1

    Notes
    Features
  11. v0.13.6

    Notes

    Note: Version bump only for package cds-plugin-ui5

  12. v0.13.5

    Notes

    Note: Version bump only for package cds-plugin-ui5

  13. v0.13.4

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: fixes minor condition error for custom webapp path determination (#1245) (c3b7355)
  14. v0.13.3

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: fixes issue in lazy loading feature (#1224) (a65b4bc)
  15. v0.13.2

    Fixes 1

    Notes
    Bug Fixes
  16. v0.13.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: wait for middlewares if not lazy (#1229) (7155226)
  17. v0.13.0

    Features 1

    Notes
    Features
  18. v0.12.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: check that it's the cds script (#1215) (e7f1c9a)
  19. v0.12.0

    Features 1

    Notes
    Features
  20. v0.11.2

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: color adoption for skip logs (#1129) (0d2c354)
  21. v0.11.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: move logging into real execution (#1091) (f60fc51)
  22. v0.11.0

    Features 1

    Notes
    Features
    • enhanced v4 compat + update dependencies (#1070) (2d7ed16)
  23. v0.10.0

    Features 1

    Notes
    Features
    • cds-plugin-ui5: use CAP logging, custom formatter using colors, allow log levels (#1067) (4be3b08)
  24. v0.9.8

    Fixes 1

    Notes
    Bug Fixes
    • decouple tooling extensions from UI5 tooling version (#1058) (6694c59), closes #1054
  25. v0.9.7

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: fix error when resolving symlinks for CDS-DK root (#1048) (3b05ada), closes #1033
  26. v0.9.6

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: correctly determine the @sap/cds-dk version (#1047) (5c7f982)
  27. v0.9.5

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: report versions of the plugin and @sap/cds-dk, @sap/cds (#1045) (8db7560)
  28. v0.9.4

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: support @sap/cds-dk@8 build priorities (#1037) (c921a35), closes #1033
  29. v0.9.3

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: silently skip build plugin if not supported (ca4745b)
  30. v0.9.2

    Notes

    Note: Version bump only for package cds-plugin-ui5

  31. v0.9.1

    Notes

    Note: Version bump only for package cds-plugin-ui5

  32. v0.9.0

    Features 1

    Notes
    Features
    • cds-plugin-ui5: sanitizing package.json with cds build task for gen/srv (#999) (d52386c)
  33. v0.8.3

    Fixes 1

    Notes
    Bug Fixes
    • cleanup of dependencies and improved approuter logic (#984) (65ffaed)
  34. v0.8.2

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: start also when services=all is defined (#971) (94706ed)
  35. v0.8.1

    Fixes 2

    Notes
    Bug Fixes
    • cds-plugin-ui5: only start when using "cds serve|watch" (#951) (7b67bd9), closes #950
    • prefere cds.env._home over just current process.cwd (#947) (ecb6e69)
  36. v0.8.0

    Features 1

    Notes
    Features
    • ui5-middleware-ui5: support nested scenarios in CDS servers (#938) (5d61f18)
  37. v0.7.5

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: support app folders being served from cds.env.folders.app (#934) (#935) (9cff34d)
  38. v0.7.4

    Notes

    Note: Version bump only for package cds-plugin-ui5

  39. v0.7.3

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: package name in logs (#918) (cc9a8e2)
  40. v0.7.2

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: disable plugin for JEST test execution (#906) (b2b3c01), closes #901
  41. v0.7.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: remove activation hook since it's not needed (#900) (86fde7e), closes #899
  42. v0.7.0

    Features 1

    Notes
    Features
    • allow overriding configFile for UI5 app dependencies (#886) (c736648)
  43. v0.6.14

    Notes

    Note: Version bump only for package cds-plugin-ui5

  44. v0.6.13

    Notes

    Note: Version bump only for package cds-plugin-ui5

  45. v0.6.12

    Fixes 2

    Notes
    Bug Fixes
    • cds-plugin-ui5: handle dirs without trailing slash (#856) (ee0df6b)
    • cds-plugin-ui5: rework collision detection (#853) (b25fd5c)
  46. v0.6.11

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: disable view cache for Fiori elements based apps (#847) (81f6a80)
  47. v0.6.10

    Fixes 1

    Notes
    Bug Fixes
    • no cache for rewrite, cds server lookup (#843) (fc7b9b5)
  48. v0.6.9

    Fixes 1

    Notes
    Bug Fixes
    • prevent side-effects for combined scenarios (#842) (36aaa5f)
  49. v0.6.8

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: handle special case of UI5 in root app dir (423794d)
  50. v0.6.7

    Notes

    Note: Version bump only for package cds-plugin-ui5

  51. v0.6.6

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: disable compression for CDS livereload (#841) (9589436)
  52. v0.6.5

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: only rewrite with status code 200 (5b3f46e)
  53. v0.6.4

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: rewrite UI5 server listing also in approuter (#839) (f501558)
  54. v0.6.3

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: fix type for config (ebd95f0)
  55. v0.6.2

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: allow relative config files in package.json (#838) (735b24d)
  56. v0.6.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: flexible mount path configuration (#837) (dc31a9e)
  57. v0.6.0

    Features 1

    Notes
    Features
    • cds-plugin-ui5: support for configuration options (#836) (81f9677), closes #830
  58. v0.5.2

    Fixes 1

    Notes
    Bug Fixes
    • consistent request path handling of all middlewares (#833) (11ad435), closes #817
  59. v0.5.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: only log modules config if defined (#825) (aa48da2)
  60. v0.5.0

    Features 1

    Notes
    Features
    • cds-plugin-ui5: alternative ui5.yamls / ignore HTML fragments (#824) (20bfb51), closes #822 #823
  61. v0.4.0

    Features 1

    Notes
    Features
    • cds-plugin-ui5: allow to attach custom app pages to cds server (#800) (0670b5e), closes #785
  62. v0.3.0

    Features 1

    Notes
    Features
    • include moduleId in return value to increase reuseability of fu… (#796) (ae69ed4)
  63. v0.2.3

    Notes

    Note: Version bump only for package cds-plugin-ui5

  64. v0.2.2

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: also include root app dir HTML files (#789) (d6cdfb6)
  65. v0.2.1

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: delay server start until bootstrap is completed (#783) (88380ba)
  66. v0.2.0

    Features 1

    Notes
    Features
  67. v0.1.7

    Fixes 2

    Notes
    Bug Fixes
    • cds-plugin-ui5: allow to select apps or deps (#775) (aeefb3f)
    • cds-plugin-ui5: proper dependency handling / decoupling (#773) (9ef8bf3)
  68. v0.1.6

    Fixes 1

    Notes
    Bug Fixes
  69. v0.1.5

    Fixes 1

    Notes
    Bug Fixes
    • ui5-tooling-transpile: transpile at startup + caching (#757) (6c7946d)
  70. v0.1.4

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: make ui5 marker color scheme aware (d847569)
  71. v0.1.3

    Fixes 1

    Notes
    Bug Fixes
    • cds-plugin-ui5: add marker for links using ui5 middlewares (#756) (00a6f6b)
  72. v0.1.2

    Fixes 1

    Notes
    Bug Fixes
  73. v0.1.1

    Fixes 3

    Notes
    Bug Fixes
    • cds-plugin-ui5: disable gzip encoding when livereload is used by CAP (#750) (b131efa)
    • cds-plugin-ui5: inject UI5 app pages (#752) (0d7415d)
    • update dependencies (#749) (b1c8cfb)
  74. v0.1.0

    Features 1

    Notes
    Features
    • cds-plugin-ui5: initial poc for UI5 cds-plugin (#746) (70a7477)
9,388downloads per week, npm
Weekly downloads for cds-plugin-ui526 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 9388.20 Apr – 26 Apr: 14,31427 Apr – 3 May: 12,3724 May – 10 May: 13,40411 May – 17 May: 13,41218 May – 24 May: 13,69125 May – 31 May: 12,5131 Jun – 7 Jun: 8,0608 Jun – 14 Jun: 13,54015 Jun – 21 Jun: 14,17122 Jun – 28 Jun: 11,25129 Jun – 5 Jul: 14,8456 Jul – 12 Jul: 14,79213 Jul – 19 Jul: 15,88620 Jul – 26 Jul: 17,28627 Jul – 2 Aug: 15,6143 Aug – 9 Aug: 16,74910 Aug – 16 Aug: 16,05617 Aug – 23 Aug: 17,45124 Aug – 30 Aug: 16,45231 Aug – 6 Sept: 13,5117 Sept – 13 Sept: 10,36114 Sept – 20 Sept: 13,46921 Sept – 27 Sept: 21,08628 Sept – 4 Oct: 21,5735 Oct – 11 Oct: 16,12812 Oct – 18 Oct: 9,388
Declared alternative
  1. ui5-middleware-capUI5 CLI middleware running a CDS server inside the UI5 dev server

Details

Sources5
npm registrydiscovered herechecked
capirediscovered here, pluginschecked
npm registry, cds-plugin-ui5version, releases, installschecked
github.com/https://github.com/ui5-community/ui5-ecosystem-showcase.gittree, pushes, contributors, CIchecked
packages/cds-plugin-ui5/README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
declared for>=6.8.2
latestv0.17.4
first release
releases and cadence75, ~16d median
discovered vianpm registry, capire · plugins
first seen in the atlas
ecosystem and domaincap, ui-and-frontend-bridge
Flavors1
Node.js
“The `cds-plugin-ui5` is a CDS server `cds-plugin` for the node runtime of the SAP Cloud Application Programming Model (CAP) which enables the integration of UI5 CLI based (UI5 freestyle or Fiori elements) projects into the CDS server via the UI5 CLI express middlewares.” — cds-plugin-ui5 — READMEchecked
Contributors57
History in the atlas8
  1. A CDS server serves the files under `app/`. A UI5 CLI project is not a folder of files ready to serve: its framework resources are resolved and its middlewares configured by `ui5.yaml`, and until something runs that chain the project needs a server of its own. This plugin runs it inside the CDS server, for a project in `app/`, in the folder `cds.env.folders.app` names, or added as a dependency of the CDS server. Each project is mounted under a path derived from the `metadata/name` of its `ui5.yaml`, overridable in the `ui5.yaml` itself, in the CDS server's `package.json` or through `CDS_PLUGIN_UI5_MODULES`. In a project it is one development dependency and an existing `ui5.yaml`, on [@sap/cds](artifact:sap-cds) 6.8.2 or higher.
  2. capability:ui5-dev-server, with what_it_does, sources and two facet values
  3. The README states the floor: "The plugin requires [`@sap/cds`](https://www.npmjs.com/package/@sap/cds) `>=6.8.2`."
  4. The README's opening sentence says it is a cds-plugin for the node runtime, so the flavor is stated rather than derived from the artifact type.
  5. Apache-2.0, true
  6. Two actor files carried the same GitHub login. peter-m-ssig was keyed on a slugified display name — the umlaut in "Peter Müssig" drops out of the slug, so it looked nothing like the crawled petermuessig and nobody spotted the double. Merged onto the login, which is the identity the crawl matches on.
  7. ui5-community is the UI5 ecosystem's community org, the counterpart of cap-js-community. It was absent from the owner table because that table only knew CAP, so this fell through to independent. Found by probing UI5.
  8. First seen.
For your agent
Ref
artifact:ui5-community-cds-plugin-ui5
JSON
/artifacts/ui5-community-cds-plugin-ui5.json
MCP
Connecting an agent