npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sap-ux/create

v1.3.10

Published

SAP Fiori tools module to add or remove features

Readme

Changelog Github repo

@sap-ux/create CLI Reference

Configure features for SAP Fiori applications and projects.

Usage

It is recommended to use the cli using npx to always get the latest version without the need to install or update it manually. You can run it using:

npx -y @sap-ux/create@latest [command] [sub-command] /path/to/project

If you prefer to download the module, you can install it globally or add it as devDependency to a project. Once installed, you can run it using

# install globally
npm i -g @sap-ux/create@latest
# or install as devDependency
npm i -D @sap-ux/create@latest
# then run
sap-ux [command] [sub-command] /path/to/project

Note: If the project path is not provided, the current working directory is used.


Commands

generate

Command group for generating SAP Fiori applications. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest generate [subcommand] [options]

The available subcommands are: adaptation-project and opa5-tests


generate adaptation-project

Generate a new SAPUI5 adaptation project with optional prompts and configuration.

Example:

npx --yes @sap-ux/create@latest generate adaptation-project

Options:

  • -n, --skip-install - Skip the npm install step.
  • -s, --simulate - Simulate only. Do not write or install.
  • -y, --yes - Use default values for all prompts.
  • --id [id] - The ID of the adaptation project.
  • --reference [reference] - The ID of the original application.
  • --url [url] - The URL that points to the target system which contains the original application.
  • --ignoreCertErrors - Ignore certificate errors when connecting to the target system.
  • --ft - Enable SAP Fiori tools for the generated project.
  • --ts - Enable TypeScript support for the generated project.
  • --package [package] - The ABAP package to be used for deployments.
  • --transport [transport] - The ABAP transport to be used for deployments.

generate opa5-tests

Generate OPA5 integration tests for an existing SAP Fiori elements (OData V4) application.

Example:

npx --yes @sap-ux/create@latest generate opa5-tests

Options:

  • -t, --typescript - Force generation of TypeScript test files. Otherwise, TypeScript is auto-detected from the presence of a tsconfig.json.
  • -s, --simulate - Simulate only. Do not write. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add

Command group for adding features to existing SAP Fiori applications. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest add [subcommand] [options]

The available subcommands are: mockserver-config, smartlinks-config, eslint-config, cds-plugin-ui5, inbound-navigation, cards-editor, model, annotations, html, component-usages, deploy-config, variants-config, adp-cf-config, system and flp-embedded-config


add mockserver-config

Add the necessary configuration for the @sap-ux/ui5-middleware-fe-mockserver mockserver module to enable local OData mocking.

Example:

npx --yes @sap-ux/create@latest add mockserver-config

Options:

  • -i, --interactive - Ask for config options or otherwise, use the default options.
  • -n, --skip-install - Skip the npm install step.
  • -s, --simulate - Simulate only. Do not write or install. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add smartlinks-config

Add a smartLinks configuration to a project for cross-app navigation.

Example:

npx --yes @sap-ux/create@latest add smartlinks-config

Options:

  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add eslint-config

Add an ESLint configuration to a project including the SAP Fiori tools lint plugin (@sap-ux/eslint-plugin-fiori-tools).

Example:

npx --yes @sap-ux/create@latest add eslint-config

Options:

  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.
  • -c, --config <string> - The name of the SAP Fiori tools eslint plugin configuration to be used. (default: recommended)
  • -n, --skip-install - Skip the npm install step.

add cds-plugin-ui5

Add the cds-plugin-ui5 module and all prerequisites to a CAP project for UI5 server integration.

Example:

npx --yes @sap-ux/create@latest add cds-plugin-ui5

Options:

  • -n, --skip-install - Skip the npm install step.
  • -s, --simulate - Simulate only. Do not write or install. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add inbound-navigation

Add SAP Fiori launchpad inbound navigation configuration to a project.

Example:

npx --yes @sap-ux/create@latest add inbound-navigation

Options:

  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.
  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)

add cards-editor

Add the necessary configuration to an existing YAML file and the script to the package.json file for cards generation. It uses the configuration from the YAML file passed by the CLI or default to ui5.yaml, as provided by the fiori-tools-preview or preview-middleware.

Example:

npx --yes @sap-ux/create@latest add cards-editor

Options:

  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)
  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add model

Add a new OData service and SAPUI5 model to an existing adaptation project.

Example:

npx --yes @sap-ux/create@latest add model

Options:

  • -s, --simulate - Simulate only. Do not write or install.

add annotations

Adds an annotation to the OData Source of the base application in an adaptation project.

This command is not supported for Cloud Foundry projects.

Example:

npx --yes @sap-ux/create@latest add annotations

Options:

  • -s, --simulate - Simulate only. Do not write or install.
  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)

add html

Add HTML files for local preview and testing to the project. It uses the configuration from the ui5.yaml file as default, as provided by the fiori-tools-preview or preview-middleware.

Example:

npx --yes @sap-ux/create@latest add html

Options:

  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)
  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add component-usages

Add the component usages to an adaptation project.

Example:

npx --yes @sap-ux/create@latest add component-usages

Options:

  • -s, --simulate - Simulate only. Do not write or install.

add deploy-config

Prompt for ABAP deployment configuration details and adds and updates the project files accordingly.

Example:

npx --yes @sap-ux/create@latest add deploy-config

Options:

  • -t, --target <string> - Target for deployment: ABAP or Cloud Foundry (not yet implemented)
  • -s, --simulate - Simulate only. Do not write. Also, sets --verbose
  • -v, --verbose - Show verbose information.
  • -b, --base-file <string> - The base config file of the project. (default: "ui5.yaml")
  • -d, --deploy-file <string> - The name of the deploy config file to be written. (default: "ui5-deploy.yaml")

add variants-config

Add the necessary configuration to an existing YAML file and the script to the package.json file for variants creation. It uses the configuration from the YAML file passed by the CLI or default to ui5.yaml, as provided by the fiori-tools-preview or preview-middleware.

Example:

npx --yes @sap-ux/create@latest add variants-config

Options:

  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)
  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.

add adp-cf-config

Configure an existing Cloud Foundry adaptation project for local preview by fetching reusable libraries, building the project, and configuring ui5.yaml file middlewares.

⚠️ Experimental: This command is experimental and may be subject to breaking changes or even removal in future versions. Use with caution and be prepared to update your configuration or migrate to alternative solutions, if needed.

Example:

npx --yes @sap-ux/create@latest add adp-cf-config

Options:

  • -v, --verbose - Show verbose information.
  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)

add system

Add a new back-end system to the saved systems store (~/.fioritools). Credentials are stored securely in the OS keychain.

System types: AbapCloud, OnPrem, Generic

Auth types: basic, reentranceTicket, oauth2, oauth2ClientCredential

Connection types: abap_catalog, generic_host, odata_service

Example:

npx --yes @sap-ux/create@latest add system --name "My System" --url https://my-sap.example.com

npx --yes @sap-ux/create@latest add system --name "My System" --url https://my-sap.example.com --client 100 --username myuser

npx --yes @sap-ux/create@latest add system (interactive mode)

Options:

  • --name <string> - Display name for the system
  • --url <string> - URL of the backend system
  • --client <string> - SAP client number (optional)
  • --type <string> - System type (AbapCloud | OnPrem | Generic) (default: OnPrem)
  • --auth <string> - Authentication type (basic | reentranceTicket | oauth2 | oauth2ClientCredential) (default: basic)
  • --connection-type <string> - Connection type (abap_catalog | generic_host | odata_service) (default: abap_catalog)
  • --username <string> - Username for basic authentication
  • --password <string> - To avoid plain-text credentials in the shell's history, pass an env reference: --password env:MY_VAR
  • --skip-check - Skip connection verification before saving

add flp-embedded-config

Add the necessary configuration for running a Fiori app in FLP Embedded Mode. Adds a start-embedded script to package.json and creates an flp.yaml file based on the existing ui5.yaml. Pre-existing files will be overridden.

Example:

npx --yes @sap-ux/create@latest add flp-embedded-config --bspApplication my-bsp-app

Options:

  • -b, --bspApplication <string> (required) - BSP application name of the deployed app
  • -c, --config <string> - Path (relative to project root) to the ui5.yaml to use as base for flp.yaml (default: ui5.yaml)
  • --flp <string> - FLP URL path used in the start-embedded script (default: sap/bc/ui5_ui5/ui2/ushell/shells/abap/Fiorilaunchpad.html)
  • -s, --simulate - Simulate only. Do not write files. Also sets --verbose.
  • -v, --verbose - Show verbose information.

convert

Command group for converting existing SAP Fiori applications. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest convert [subcommand] [options]

The available subcommands are: preview-config and eslint-config


convert preview-config

Executed in the root folder of an app, it converts the respective app to the preview with virtual endpoints. It uses the configuration from the scripts in the package.json file to adjust the UI5 configuration YAML files accordingly. The obsolete JS and TS sources are deleted and the HTML files previously used for the preview are renamed to *_old.html.

Examples:

npx --yes @sap-ux/create@latest convert preview-config --simulate=false --tests=false

npx --yes @sap-ux/create@latest convert preview-config

Options:

  • -s, --simulate <boolean> - Simulate only. Do not write.
  • -v, --verbose - Show verbose information.
  • -t, --tests <boolean> - Also, convert test suite and test runners.

convert eslint-config

Executed in the root folder of an app, it converts the ESLint configuration of the respective app to flat config format (used since ESLint version 9). It also introduces specific ESLint checks for SAP Fiori applications (using the @sap-ux/eslint-plugin-fiori-tools plugin), and deletes the deprecated eslint-plugin-fiori-custom plugin. To avoid dependency resolution conflicts, it deletes the package-lock.json file as well as the @sap-ux/eslint-plugin-fiori-tools module from the node_modules folder before running npm install.

Examples:

npx --yes @sap-ux/create@latest convert eslint-config

Options:

  • -s, --simulate - Simulate only. Do not write to the config file. Also, sets --verbose
  • -v, --verbose - Show verbose information.
  • -c, --config <string> - The name of the SAP Fiori tools ESLint plugin configuration to be used. (default: recommended)
  • -n, --skip-install - Skip the npm install step. Also skips deleting the package-lock.json file and the @sap-ux/eslint-plugin-fiori-tools module from the node_modules folder.

remove

Command group for removing features from existing SAP Fiori applications. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest remove [subcommand] [options]

The available subcommands are: mockserver-config and system


remove mockserver-config

Removes the configuration for the @sap-ux/ui5-middleware-fe-mockserver mockserver module.

Example:

npx --yes @sap-ux/create@latest remove mockserver-config

Options:

  • -v, --verbose - Show verbose information.
  • -f, --force - Do not ask for confirmation when deleting files.

remove system

Remove a saved back-end system from the saved system store (~/.fioritools). Also deletes any stored credentials in the OS keychain.

Example:

npx --yes @sap-ux/create@latest remove system --url https://my-sap.example.com

npx --yes @sap-ux/create@latest remove system --url https://my-sap.example.com --client 100

npx --yes @sap-ux/create@latest remove system (interactive mode)

Options:

  • --url <string> - URL of the backend system to remove
  • --client <string> - SAP client number (optional)
  • --force - Skip confirmation prompt

update

Command group for updating saved resources. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest update [subcommand] [options]

The available subcommands are: system and service-metadata


update system

Update an existing backend system in the saved systems store (~/.fioritools). The system is identified by its URL and optional SAP client.

Example:

npx --yes @sap-ux/create@latest update system --url https://my-sap.example.com --name "New Name"

npx --yes @sap-ux/create@latest update system --url https://my-sap.example.com --client 100 --username newuser

npx --yes @sap-ux/create@latest update system (interactive mode)

Options:

  • --url <string> - URL of the backend system to update
  • --client <string> - SAP client number to identify the system (optional)
  • --name <string> - New display name for the system
  • --username <string> - New username
  • --password <string> - To avoid plain-text credentials in the shell's history, pass an env reference: --password env:MY_VAR
  • --clear-credentials - Remove stored credentials from the system
  • --skip-check - Skip connection verification before saving

update service-metadata

Refresh the local OData service metadata.xml from the live backend for a Fiori application. Also fetches value-help (external) service metadata when available.

Only supported for Fiori applications connected to an EDMX backend. CAP applications are not supported, as their service metadata is generated locally from the CDS model rather than fetched from a backend.

Example:

npx --yes @sap-ux/create@latest update service-metadata /path/to/my-fiori-app

npx --yes @sap-ux/create@latest update service-metadata /path/to/my-fiori-app --simulate

Options:

  • --service <name> - Name of the data source in manifest.json (defaults to mainService or first service)
  • --no-value-help - Skip fetching value-help (external) service metadata
  • -s, --simulate - Simulate only. Do not write. Also sets --verbose.
  • -v, --verbose - Show verbose information.

change

Command group for changing existing SAP Fiori applications. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest change [subcommand] [options]

The available subcommands are: data-source and inbound


change data-source

Replace the OData Source of the base application in an adaptation project.

This command is not supported for Cloud Foundry projects.

Example:

npx --yes @sap-ux/create@latest change data-source

Options:

  • -s, --simulate - Simulate only. Do not write or install.
  • -c, --config <string> - Path to the project configuration file in YAML format. (default: ui5.yaml)

change inbound

Replace the inbound FLP configurations of the base application in an adaptation project.

This command is not supported for Cloud Foundry projects.

Example:

npx --yes @sap-ux/create@latest change inbound

Options:

  • -s, --simulate - Simulate only. Do not write or install.

list

Command group for listing saved resources. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest list [subcommand] [options]

The available subcommands are: system


list system

List all back-end systems in the saved system store (~/.fioritools). Sensitive data, such as passwords and tokens, is never included in the output.

Example:

npx --yes @sap-ux/create@latest list system

npx --yes @sap-ux/create@latest list system --json

Options:

  • --json - Output as JSON, which is useful for automation and MCP integrations.

get

Command group for retrieving saved resources. A subcommand is required.

Usage: npx --yes @sap-ux/create@latest get [subcommand] [options]

The available subcommands are: system


get system

Retrieve details of a saved back-end system by URL. Sensitive data (passwords, tokens) is never included in the output.

Example:

npx --yes @sap-ux/create@latest get system --url https://my-sap.example.com

npx --yes @sap-ux/create@latest get system --url https://my-sap.example.com --client 100

npx --yes @sap-ux/create@latest get system --url https://my-sap.example.com --json

Options:

  • --url <string> (required) - URL of the backend system.
  • --client <string> - SAP client number (optional).
  • --json - Output as JSON, which is useful for automation and MCP integrations.