CLICLItypeA command you run, rather than a dependency you import.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-deployer

A custom module for UI5 Tooling that deploys Fiori/UI5 apps to SAP NetWeaver ABAP, SAP Cloud Platform Neo or Cloud Foundry, configured in a deployer section of ui5.yaml.

Getting a built UI5 app onto an SAP system is a separate tool and configuration for each target. This module reads a deployer section under customConfiguration in ui5.yaml, whose type is sap-netweaver, sap-cp-neo or sap-cp-cf, and runs ui5-deployer deploy, with options for the transport request, the user, the password and the Cloud Foundry space. For an ABAP server the transport is ADT by default, "to avoid breaking old projects", or OData, which the README recommends for performance. Credentials can also come from UI5_DEPLOYER_* environment variables or an .env file. Its README says the module is under development and not part of the official SAP UI5 Tooling. The npm latest tag points to 0.4.1, while the registry also lists versions 1.0.0 to 1.1.1.

Facts

Latestv0.4.1ReleasedLast pushLicenceApache-2.0

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

Mauricio LaufferMauricio LaufferPersonMaintains this
In the atlas: maintains 16, contributes to 41, wrote 4
@mauriciolauffer
maintainerMarcel SchorkPersonContributes to this
In the atlas: contributes to 12
@marcelschork
1 contributor

What it declares

Every artifact

Type
CLI
Origin
Independently maintained

As a CLI

Distributed through
npm

Connections1

Install

npm add ui5-deployer

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

README

quoted from mauriciolauffer/ui5-deployer under Apache-2.0, read
mauriciolauffer/ui5-deployer/README.mdOn GitHub

Introduction

This is a custom module integrated with ui5-tooling to deploy Fiori/UI5 apps to SAP environments. This module is under development and it is not part of the official SAP ui5-tooling. For now, it uses a custom version of ui5-cli for deployment capabilities. It's heavily inspired on ui5-build.

Feel free to contribute to the project. PRs are welcome =)

Deploy to

You should be able to deploy to:

  • SAP Netweaver: ABAP server (via OData or ADT)
  • SAP Cloud Platform: NEO environment
  • SAP Cloud Platform: Cloud Foundry environment

Project Configuration

Typically located in a ui5.yaml file per project. You have 3 options for remote systems. They share some configuration, but each one has its own specific details.

This is the basic setup for ui5-deployer shared across all remote system options, it does not include the specific details for a given remote system. Some of the properties are not required, some are.

Properties
<root>

The ui5.yaml file from your Fiori/UI5 application/library should have a new section called deployer. Deployer section has the following parameters:

ui5.yaml file for deployer

deployer: root attribute, all deployer details go under it

  • type: Indicates the remote system where the project will be deployed. Must be sap-netweaver || sap-cp-neo || sap-cp-cf
  • sourcePath: Path to the folder where your production ready project is
  • connection: Connection details to the remote system
    • url: URL endpoint to connect to the remote system
    • proxy (optional): an HTTP proxy to be used
    • strictSSL (optional): if true, requires SSL certificates to be valid. Note: to use your own certificate authority, you need to specify the path to the SSL Certificate. Must be true || false. Default is false.
    • SSLCertificatePath (optional): path to the SSL Certificate in case you are using your own certificate authority
  • credentials: Credentials to be used when accessing the remote system. This section will be removed soon as it might be a huge security issue. One might end up pushing username/password to the git repo. Username/password should be passed via CLI command only.
    • username: Username
    • password: Password
  • sapCloudPlatform (optional): SAP Cloud Platform target
  • abapRepository (optional): SAP NetWeaver ABAP Repository target
    • client: SAP client/mandt
    • language: SAP Logon Language
    • transportRequest: ABAP Transport Request Number
    • package: ABAP Package
    • bspApplication: BSP Application name
    • bspApplicationText: BSP Application description
    • method: adt || odata. Default is adt. ADT API endpoint is /sap/bc/adt. OData API endpoint is /sap/opu/odata/UI5/ABAP_REPOSITORY_SRV. ADT is the default to avoid breaking old projects. However, OData is recommended for better performance, it doesn't send multiples files, it sends just a single *.zip containing the whole project.
    • skipAdtValidations (optional): Does not validate the existence of some ADT APIs, ABAP packages and Transport Requests used during deployment. Used for older ABAP versions where these ADT APIs are not available. Must be true || false. Default is false.
    • appIndexCalculate (optional): Calculation of SAPUI5 Application Index for SAPUI5 Repositories (/UI5/APP_INDEX_CALCULATE). See SAPUI5 Application Index. Must be true || false. Default is false.

SAP Netweaver: ABAP server

specVersion: '1.0'
metadata:
  name: ui5-deployer-app-test
type: application
customConfiguration:
  deployer:
    type: sap-netweaver
    sourcePath: dist/ # Path to the project to be deployed
    resources:
      excludes:
        - "dist/path_to_excluded/**"
    connection:
      url: https://dev.my-sap-server.com
      proxy: https://my.proxy.com:43000
      strictSSL: true
      SSLCertificatePath: /certs/my-ssl-certificate.pem
    credentials:
      username: MyUsername
      password: MyPassword
    abapRepository:
      client: 100
      language: EN
      transportRequest: ABAPDK999999
      package: ZMYPACKAGE
      bspApplication: ZDEPLOYAPP001
      bspApplicationText: TEST DEPLOY APP x1
      method: odata
      skipAdtValidations: true
      appIndexCalculate: true

SAP Cloud Platform: NEO environment

specVersion: '1.0'
metadata:
  name: ui5-deployer-app-test
type: application
customConfiguration:
  deployer:
    type: sap-cp-neo
    sourcePath: /dist/*.mtar # Path to the .mtar file to be deployed
    connection:
      url: https://hanatrial.ondemand.com
    credentials:
      username: MyUsername
      password: MyPassword
    sapCloudPlatform:
      neo:
        account: myNEO12345Account
        cliPath: C:\neo-java-web-sdk\tools

SAP Cloud Platform: Cloud Foundry environment

specVersion: '1.0'
metadata:
  name: ui5-deployer-app-test
type: application
customConfiguration:
  deployer:
    type: sap-cp-cf
    sourcePath: /dist # Path to the manifest.yml file: https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html
    connection:
      url: https://api.cf.eu10.hana.ondemand.com
    credentials:
      username: MyUsername
      password: MyPassword
    sapCloudPlatform:
      cloudFoundry:
        org: myORG
        space: mySPACE
        cliPath: C:\cf-cli\tools
For projects using ui5.yaml specVersion 2.1 or higher

Projects using ui5.yaml specVersion 2.1 or higher must use the new customConfiguration property. https://sap.github.io/ui5-tooling/pages/Configuration/#custom-configuration

PS: you can also use the customConfiguration setup for any other specVersion, but 2.0

specVersion: '2.1'
metadata:
  name: ui5-deployer-app-test
type: application
customConfiguration:
  deployer:
    type: sap-netweaver
    sourcePath: dist/ # Path to the project to be deployed
    connection:
      url: https://dev.my-sap-server.com
      strictSSL: false
    credentials:
      username: MyUsername
      password: MyPassword
    abapRepository:
      client: 100
      language: EN
      transportRequest: ABAPDK999999
      package: ZMYPACKAGE
      bspApplication: ZDEPLOYAPP001
      bspApplicationText: TEST DEPLOY APP x1

Installing

Install ui5-deployer as a devDependency in your project.json

$ npm i --save-dev ui5-deployer

Getting Started

Pick one of the remote systems above and edit your ui5.yaml file according to it.

You have the option to use all parameters as is from the ui5.yaml file or overwrite few of them when executing ui5-cli.

You can overwrite: abapRepository.transportRequest || credentials.username || credentials.password || sapCloudPlatform.cloudFoundry.space

$ ui5-deployer deploy
$ ui5-deployer deploy --transport-request=ABAPDK99999
$ ui5-deployer deploy --username=MyUsername --password=MyPassword
$ ui5-deployer deploy --space=dev

You can see an example here: https://github.com/mauriciolauffer/ui5-deployer-app-test

The modified ui5-cli can be found here: https://github.com/mauriciolauffer/ui5-deployer-cli

Support to Environment Variables

The aforementioned properties can also be set via Environment Variables. This option follows the Twelve-Factor App best practices. The tool also supports .env files.

The expected Environment Variables are:

UI5_DEPLOYER_USERNAME=MY_SAP_USER
UI5_DEPLOYER_PASSWORD=MY_SAP_PASSWORD
UI5_DEPLOYER_ABAP_TR=ABAPDK999999
UI5_DEPLOYER_NEO_CLIPATH=/path/to/neo/cli/
UI5_DEPLOYER_CF_SPACE=dev

If you are using .env files, do not push them to your git repo as you may expose the secrets to everbody! Make sure to add .env to your .gitignore file.

Build and Test

TODO: Describe and show how to build your code and run the tests.

Apache-2.0, read

History

Latest

v0.4.1

Fixes 1

Notes
Bug Fixes
  • Improve error log + add node v12 support (6b9e384)
  1. v0.4.0

    Features 9, Fixes 8

    Notes
    Features
    • CLI is not an extra pkg + replace requestjs (#14) (0538fed)
    • Deploy to SAP CP NEO and CF (36808d5)
    • Deploy via OData /UI5/ABAP_REPOSITORY_SRV (#26) (c9d6eaf)
    • ENV vars for NEO cli (#20) (9fb9ddf)
    • More error logs (6d7d459)
    • readme with SAP CP instructions (9782801)
    • Skip ADT validations (0256bbb)
    • Support resource exclusion (13e1d7d)
    • Support ui5.yaml customConfiguration (da2272d)
    Bug Fixes
  2. v0.3.0

    Features 3, Fixes 2

    Notes
    Features
    • CLI is not an extra pkg + replace requestjs (#14) (0538fed)
    • Deploy via OData /UI5/ABAP_REPOSITORY_SRV (#26) (c9d6eaf)
    • ENV vars for NEO cli (#20) (9fb9ddf)
    Bug Fixes
75downloads per week, npm
Weekly downloads for ui5-deployer26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 75.20 Apr – 26 Apr: 20027 Apr – 3 May: 1454 May – 10 May: 15611 May – 17 May: 10018 May – 24 May: 20725 May – 31 May: 1491 Jun – 7 Jun: 1418 Jun – 14 Jun: 13015 Jun – 21 Jun: 14522 Jun – 28 Jun: 7529 Jun – 5 Jul: 726 Jul – 12 Jul: 12613 Jul – 19 Jul: 9820 Jul – 26 Jul: 12227 Jul – 2 Aug: 1393 Aug – 9 Aug: 14610 Aug – 16 Aug: 10617 Aug – 23 Aug: 13224 Aug – 30 Aug: 9231 Aug – 6 Sept: 877 Sept – 13 Sept: 8514 Sept – 20 Sept: 8021 Sept – 27 Sept: 12628 Sept – 4 Oct: 1405 Oct – 11 Oct: 14112 Oct – 18 Oct: 75
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-task-dts-generatorUI5 builder task generating d.ts type declarationsfrom UI5
  8. ui5-task-minifierUI5 builder task minifying HTML, CSS and JSON filesfrom UI5
  9. ui5-middleware-oidcUI5 dev server middleware adding an OpenID Connect loginfrom UI5
  10. generator-ui5-library-af-deployYeoman generator for Application Frontend config in UI5 librariesfrom UI5
  11. ui5-middleware-destinationUI5 Tooling middleware proxying destinations and neo-app.json routesfrom 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-deployerversion, releases, installschecked
github.com/git+https://github.com/mauriciolauffer/ui5-deployer.gittree, pushes, contributors, CIchecked
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
latestv0.4.1
first release
releases and cadence15, ~49d median
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors1

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:mauriciolauffer-ui5-deployer
JSON
/artifacts/mauriciolauffer-ui5-deployer.json
MCP
Connecting an agent