Skip to content
Permalink
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

SAP Cloud SDK CLI

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.

Installation

To install the CLI globally, run:

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

Update

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

Usage

$ 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]
USAGE
  $ 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.

Commands

sap-cloud-sdk add-approuter

Setup your Cloud Foundry app to authenticate through the app router

USAGE
  $ sap-cloud-sdk add-approuter

OPTIONS
  -h, --help  show CLI help

ALIASES
  $ sap-cloud-sdk add-app-router

EXAMPLE
  $ 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

USAGE
  $ sap-cloud-sdk add-cx-server

OPTIONS
  -h, --help  show CLI help

EXAMPLE
  $ sap-cloud-sdk add-cx-server

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

sap-cloud-sdk autocomplete [SHELL]

display autocomplete installation instructions

USAGE
  $ sap-cloud-sdk autocomplete [SHELL]

ARGUMENTS
  SHELL  shell type

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

EXAMPLES
  $ 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

USAGE
  $ sap-cloud-sdk help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --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

USAGE
  $ sap-cloud-sdk help-page

OPTIONS
  -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

USAGE
  $ sap-cloud-sdk init

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

EXAMPLES
  $ 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

USAGE
  $ sap-cloud-sdk package

OPTIONS
  -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

EXAMPLES
  $ 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

Contribute

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.

Release

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.

License

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.