Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
243 lines (168 sloc) 7.73 KB

SAP Cloud SDK for JavaScript Logo


Tests Badge NPM Downloads

A nifty command line interface (CLI) for the SAP Cloud SDK for JavaScript to initialize and package your SAP Cloud Platform application. It is also the launchpad when trying to set up the approuter or getting started with the SAP Cloud SDK for Continuous Delivery.

About the SDK

The SAP Cloud SDK supports you end-to-end when developing applications that communicate with SAP solutions and services such as SAP S/4HANA Cloud, SAP SuccessFactors, and many others.

Using the SDK, you can reduce your effort when developing an application on SAP Cloud Platform by building on best practices delivered by the SDK. The SDK provides Java libraries, JavaScript libraries, project templates and a continuous delivery toolkit.


To install the CLI globally, run:

$ npm install -g @sap-cloud-sdk/cli


As long as the CLI version is less than 1.0.0, run the following to update to the latest version. Please keep in mind, that these updates can have breaking changes as per the semver spec.

$ npm install -g @sap-cloud-sdk/cli@latest


$ sap-cloud-sdk COMMAND
running command...
$ sap-cloud-sdk (-v|--version|version)
@sap-cloud-sdk/cli/0.0.6 darwin-x64 node-v11.12.0
$ sap-cloud-sdk --help [COMMAND]
  $ sap-cloud-sdk COMMAND

The CLI can initialize an express-based project or (the more common case) add everything you need to develop for SAP Cloud Platform to an existing project no matter what backend framework you use. If there are any incompatibilities, please let us know in the issues!

To get started run

$ sap-cloud-sdk init

in the project folder.

It will guide you through the initialization, create the necessary files and add necessary dependencies. If you run it in an empty folder, it will ask if you want to initialize a project using express-generator.

To deploy to and run on Cloud Foundry, you need to

  1. Make sure that your app listens to port 8080
  2. Build your app if necessary
  3. Run sap-cloud-sdk package
  4. Push to Cloud Foundry (cf push)

For productive use, your app should implement user authentication and authorization. For SAP Cloud Foundry, this is usually done by using the approuter and xsuaa service. Start by running sap-cloud-sdk add-approuter and configure the xsuaa service accordingly.


sap-cloud-sdk add-approuter

Setup your Cloud Foundry app to authenticate through the app router

  $ sap-cloud-sdk add-approuter

  -h, --help  show CLI help

  $ sap-cloud-sdk add-app-router

  $ sap-cloud-sdk add-approuter

See code: src/commands/add-approuter.ts

sap-cloud-sdk add-cx-server

Add the scripts to set up a Jenkins master for CI/CD of your project

  $ sap-cloud-sdk add-cx-server

  -h, --help  show CLI help

  $ sap-cloud-sdk add-cx-server

See code: src/commands/add-cx-server.ts

sap-cloud-sdk autocomplete [SHELL]

display autocomplete installation instructions

  $ sap-cloud-sdk autocomplete [SHELL]

  SHELL  shell type

  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

  $ sap-cloud-sdk autocomplete
  $ sap-cloud-sdk autocomplete bash
  $ sap-cloud-sdk autocomplete zsh
  $ sap-cloud-sdk autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

sap-cloud-sdk help [COMMAND]

display help for sap-cloud-sdk

  $ sap-cloud-sdk help [COMMAND]

  COMMAND  command to show help for

  --all  see all commands in CLI

See code: @oclif/plugin-help

sap-cloud-sdk help-page

Open the product page, which contains tutorials and links to all relevant resources

  $ sap-cloud-sdk help-page

  -h, --help  show CLI help

See code: src/commands/help-page.ts

sap-cloud-sdk init

Initializes your project for the SAP Cloud SDK, SAP Cloud Platform Cloud Foundry and CI/CD using the SAP Cloud SDK toolkit

  $ sap-cloud-sdk init

  -h, --help               Show help for the new command.
  --projectDir=projectDir  [default: .] Path to the folder in which the project should be created.

  $ sap-cloud-sdk init
  $ sap-cloud-sdk init --help

See code: src/commands/init.ts

sap-cloud-sdk package

Copies the specified files to the deployment folder

  $ sap-cloud-sdk package

  -e, --exclude=exclude  Comma seperated list of files or globs to exclude
  -h, --help             show CLI help

  -i, --include=include  [default: package.json,package-lock.json,index.js,dist/**/*] Comma seperated list of files or
                         globs to include

  -o, --output=output    [default: deployment] Output and deployment folder

  --skipInstall          Skip `npm i --production` during packaging

  $ sap-cloud-sdk package
  $ sap-cloud-sdk package -i="index.html"
  $ sap-cloud-sdk package --include="package.json,package-lock.json,index.js,dist/**/*" --exclude="**/*.java"

See code: src/commands/package.ts


The CLI is based on oclif and can be extended using plugins. If you think your plugin should be part of the CLI itself, feel free to open a pull request. If you have found a bug in our existing functionality, please open an issue.


The easiest way to create a new release is running

$ npx np

This will test the code, run any prepublish steps, increase the version as selected by the user and create a draft release in github. Afterwards fill in the release notes and press "Publish release". This will trigger the github action and a new release will be published on npm automatically.


Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.

Note: This license does not apply to the SAP Cloud SDK for JavaScript Logo referenced in this README.

You can’t perform that action at this time.