Build toolBuild tooltypeRuns at build time. Nothing of it ships in the deployed application.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

ui5-middleware-destination

A UI5 Tooling server middleware that proxies requests to backends named in WebIDE-style destination files and serves the routes of a neo-app.json, with Basic Authentication only.

An app that keeps its backend routes in neo-app.json and its system addresses in WebIDE-style destination files has two configurations the UI5 dev server does not read. This middleware reads both: it is entered under customMiddleware in ui5.yaml, destinationsPath names the folder holding the destination files (absolute, or relative to the project root, or set through the UI5_MIDDLEWARE_DESTINATIONS_PATH environment variable), and requests for the neo-app.json routes are proxied to the destinations they name. Optional settings are debug, strictSSL and resources, which with path and preferLocal can serve UI5 resources from a local path instead of the remote source. It is a development dependency of the UI5 project and is also listed in ui5.dependencies in package.json.

Facts

Latestv2.0.2ReleasedLast pushLicenceMIT

Where it sits

Lives in
Provides
Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.

Who is behind it

Preetam Kajal RoutPreetam Kajal RoutPersonMaintains this
In the atlas: maintains 1, contributes to 9
@preetamkajalrout
maintainer

Before choosing this

Signals

ActivityQuietRelease and repository quiet for 75 months

Both observable publication channels have been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.

Conditions

PracticalFunctional boundary

It supports Basic Authentication only, so a backend that needs another method is not reachable through it.

What it declares

Every artifact

Type
Build tool
Origin
Independently maintained

As a build tool

Distributed through
npm

Connections1

Install

npm add ui5-middleware-destination

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

README

quoted from preetamkajalrout/ui5-middleware-destination under MIT, read
preetamkajalrout/ui5-middleware-destination/README.mdOn GitHub

ui5-middleware-destination

Custom UI5 server middleware for projects using UI5 Tooling

  • Provides proxy capabilities and support for neo-app.json routes
  • Works with destinations from destination files, as WebIDE does
  • Supports serving resources from local system or remote CDN (like the SAPUI5 SDK or an ABAP application server)

Installation

npm i --save-dev ui5-middleware-destination

Pre-requisites

Create a directory to hold the destination files needed for your project -- preferably, out of your project's root so that the same config can be used for multiple projects. This also helps keeping your credentials from being committed.

This middleware will look in that directory for one (or many) json file(s) with a specific structure (check the example json).

As an alternative, the middleware will also look for destination files in the created directory. The structure of these files is the same as the one used in WebIDE destination files (also check the example template).

For the time being, the only properties required in a destination configuration are Name, URL, User, Password and WebIDEUsage.

NOTE: Storing passwords in plain text format is a potential security risk. Please comply with your organization's policy.

Options for SAPUI5 config in destinations file

{
  "Name": "sapui5", // Name is used as an identifier
  "Description": "SAPUI5 Resources",
  "URL": "C:\\Dev\\workspace\\sapui5\\sdk", // Can be used to specify cdn URL e.g. https://sapui5.hana.ondemand.com/
  "preferLocal": false // Flag to determine whether the resources files will be served from local system or cdn remote server
}

Usage

1. Define the dependency in $yourapp/package.json
"devDependencies": {
    // ...
    "ui5-middleware-destination": "*"
    // ...
},
"ui5": {
  "dependencies": [
    // ...
    "ui5-middleware-destination",
    // ...
  ]
}

As the devDependencies are not recognized by the UI5 tooling, they need to be listed in the ui5.dependencies array. In addition, once using the ui5.dependencies array you need to list all UI5 tooling relevant dependencies.

2. Configure it in $yourapp/ui5.yaml
Simplest usage:
server:
  customMiddleware:
    - name: ui5-middleware-destination
      afterMiddleware: cors
      configuration:
  	    destinationsPath: '../path/to/destination/files'
Example config serving from CDN:
server:
  customMiddleware:
    - name: ui5-middleware-destination
      afterMiddleware: cors
      configuration:
        debug: true
        destinationsPath: '../path/to/destination/files'
        resources:
          preferLocal: false
          path: 'https://path/to/CDN/resources'
Example config serving from an ABAP AS with self-signed certificate:
server:
  customMiddleware:
    - name: ui5-middleware-destination
      afterMiddleware: cors
      configuration:
        debug: true
        destinationsPath: '../path/to/destination/files'
        resources:
          preferLocal: false
          path: 'https://<host>:<port>/path/to/ABAP/AS/resources'
        strictSSL: false
Example config serving from local resources:
server:
  customMiddleware:
    - name: ui5-middleware-destination
      afterMiddleware: cors
      configuration:
        destinationsPath: '../path/to/destination/files'
        resources:
          preferLocal: true
          path: '../local/path/to/resources'

Configuration options

ATTENTION: No options are mandatory, EXCEPT for destinationsPath. This option must be provided either in the ui5.yml file or as an environment variable (as in the description below).

Note that relative paths declared in these options are resolved against the project's root.

  • debug (boolean, default: false)
    Enables the logging of each request and where it is served from.

  • destinationsPath (string)
    Absolute or relative path to the destination files.
    If a relative path is provided, it is resolved against the project's root folder.
    If you do not provide this option in the ui5.yml file, you must set the UI5_MIDDLEWARE_DESTINATIONS_PATH environment variable.

  • strictSSL (boolean, default: true)
    When set to false, the proxy does not validate SSL certificates of the resource server.
    This covers the use case of, for example, serving routes from a corporate ABAP AS with a self-signed certificate.

  • resources (object)
    Options regarding SAPUI5 resources:

    • path (string)
      If preferLocal is true, then this is the local absolute or relative path to SAPUI5 resources.
      When preferLocal is false, you can provide a CDN URL for the SAPUI5 resources. or https://sapui5.hana.ondemand.com will be used as CDN source
      This option can be provided either in the ui5.yml file or through the UI5_MIDDLEWARE_RESOURCES_PATH environment variable.

    • preferLocal (boolean, default: false)
      When true, middleware redirects all the ui5 resources requests to local filesystem. This option can be provided through UI5_MIDDLEWARE_RESOURCES_LOCAL environment variable. Possible values in environment variable can be 0 or 1.

How it works

Limitations

Currently only BasicAuthentication is supported.

Contribution Guidelines

Pull Request are welcome. However, if change is complex or huge, Please create an issue and have a discussion on the approach before developing something.

Contributors

LICENSE

Project is distributed under MIT License

MIT, read

History

Latest

v2.0.2

  1. v2.0.1

  2. v1.1.2

  3. v1.1.1

  4. v1.0.3

  5. v1.0.2

  6. v1.0.1

  7. v1.0.0

On npm
5downloads per week, npm
Weekly downloads for ui5-middleware-destination26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 5.20 Apr – 26 Apr: 1527 Apr – 3 May: 94 May – 10 May: 2311 May – 17 May: 2118 May – 24 May: 2125 May – 31 May: 51 Jun – 7 Jun: 148 Jun – 14 Jun: 1115 Jun – 21 Jun: 2322 Jun – 28 Jun: 2029 Jun – 5 Jul: 356 Jul – 12 Jul: 1313 Jul – 19 Jul: 420 Jul – 26 Jul: 1027 Jul – 2 Aug: 63 Aug – 9 Aug: 1610 Aug – 16 Aug: 1217 Aug – 23 Aug: 1224 Aug – 30 Aug: 231 Aug – 6 Sept: 47 Sept – 13 Sept: 1314 Sept – 20 Sept: 621 Sept – 27 Sept: 628 Sept – 4 Oct: 175 Oct – 11 Oct: 512 Oct – 18 Oct: 5
Build and dev-server tooling
  1. UI5 ToolsVS Code extension to serve, proxy, build and deploy UI5 projectsfrom UI5
  2. ui5-middleware-route-proxyUI5 server middleware proxying route prefixes to a backendfrom UI5
  3. ui5-task-cachebuster-indexingUI5 builder task preparing build output for the cachebusterfrom UI5
  4. ui5-task-transpile-genUI5 builder task transpiling ES6 to ES5 with Babelfrom UI5
  5. ui5-middleware-odata-recorderUI5 middleware recording OData traffic as mock server datasetsfrom UI5
  6. ui5-plugin-loaderUI5 Tooling v4 extension that registers other extensionsfrom UI5
  7. ui5-deployerUI5 Tooling module deploying Fiori/UI5 apps to SAP systemsfrom UI5
  8. ui5-task-dts-generatorUI5 builder task generating d.ts type declarationsfrom UI5
  9. ui5-task-minifierUI5 builder task minifying HTML, CSS and JSON filesfrom UI5
  10. ui5-middleware-oidcUI5 dev server middleware adding an OpenID Connect loginfrom UI5
  11. generator-ui5-library-af-deployYeoman generator for Application Frontend config in UI5 librariesfrom UI5
  12. ui5-task-check-eocpUI5 build task warning when the app's UI5 version reaches EOCPfrom UI5
  13. @ui5/cliUI5 Tooling command line for project setup, dev server and buildfrom UI5
  14. ui5-task-btp-manifestUI5 Tooling task writing the service name into the importer manifestfrom UI5
  15. ui5-middleware-approuterUI5 CLI middleware proxying the dev server through @sap/approuterfrom UI5
  16. ui5-middleware-capUI5 CLI middleware running a CDS server inside the UI5 dev serverfrom UI5
  17. ui5-middleware-hmrExperimental UI5 middleware for hot module replacementfrom UI5
  18. ui5-middleware-iasyncUI5 middleware syncing interactions across browsers over websocketfrom UI5
  19. ui5-middleware-indexUI5 middleware serving a chosen welcome page at the root pathfrom UI5
  20. ui5-middleware-livereloadLive reload middleware for the UI5 dev serverfrom UI5
  21. ui5-middleware-oneloginUI5 middleware logging in with Playwright and reusing the sessionfrom UI5
  22. ui5-middleware-serveframeworkUI5 middleware serving a locally built UI5 frameworkfrom UI5
  23. ui5-middleware-servestaticUI5 middleware serving static resources from a path or npm packagefrom UI5
  24. ui5-middleware-simpleproxyDev-server middleware proxying requests to a backend systemfrom UI5
  25. ui5-middleware-ui5UI5 middleware including one UI5 application in anotherfrom UI5
  26. ui5-middleware-webjarsUI5 middleware serving static resources from JAR files (WebJars)from UI5
  27. ui5-middleware-websocketWebSocket support for Express-based dev servers such as UI5'sfrom UI5
  28. ui5-task-cachebusterUI5 builder task cachebusting standalone UI5 applicationsfrom UI5
  29. ui5-task-copyrightUI5 builder task appending copyright headers to source filesfrom UI5
  30. ui5-task-flatten-libraryUI5 builder task flattening library output for SAP NetWeaverfrom UI5
  31. ui5-task-i18ncheckUI5 builder task checking XML views for missing i18n textsfrom UI5
  32. ui5-task-minify-xmlUI5 builder task minifying XML views and fragmentsfrom UI5
  33. ui5-task-pwa-enablerUI5 builder task turning a UI5 app into a progressive web appfrom UI5
  34. ui5-task-zipperBuild task packaging the UI5 build result as a zip archivefrom UI5
  35. ui5-tooling-lessUI5 CLI extension compiling Less files into CSSfrom UI5
  36. ui5-tooling-modulesUI5 tooling extensions loading npm packages as UI5 modulesfrom UI5
  37. ui5-tooling-stringreplaceUI5 CLI extension for string replacement during the buildfrom UI5
  38. ui5-tooling-transpileUI5 CLI extension transpiling code during the UI5 buildfrom UI5
  39. @ui5/loggerInternal logger of the UI5 CLIfrom UI5
  40. @ui5/middleware-code-coverageUI5 CLI middleware for Istanbul code coveragefrom UI5
  41. @ui5/tooling-webcDeprecated UI5 Tooling extensions for UI5 Web Components wrappersfrom UI5

Details

Sources4
Added by handdiscovered herechecked
npm registry, ui5-middleware-destinationversion, releases, installschecked
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
latestv2.0.2
first release
releases and cadence8, ~1d median
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainui5, developer-experience
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:preetamkajalrout-ui5-middleware-destination
JSON
/artifacts/preetamkajalrout-ui5-middleware-destination.json
MCP
Connecting an agent