feature-toggle-node

A Node.js module for enabling or disabling Node.js-based SAP Business Application Studio features.

APACHE-2.0 License

Downloads
230.8K
Stars
2
Committers
13

feature-toggle-node

A Node.js module for enabling or disabling Node.js-based SAP Business Application Studio features.

Description

This module used to inquire if an SAP Business Application Studio feature toggle enabled or disabled.

This module should be used if your SAP Business Application Studio extension written in Node.js or TypeScript and you want to control the extension features via feature toggle.

Requirements

  • ES2017 or higher

Download and Installation

Install the feature-toggle-node as a dependency.

  1. Import the extension into your SAP Business Application Studio.

  2. Open the command prompt at the root of your extension.

  3. Add the feature-toggle-node to the dependency section of your 'package.json' file by entering the following in the command prompt:

    $ npm install @sap-devx/feature-toggle-node --save
    

Configuration

To run the feature-toggle-node locally, you need to provide the following environment variables:

  • USER_NAME - Name of the user logged into SAP Business Application Studio (mandatory)
  • WORKSPACE_ID - ID of the workspace (mandatory)
  • TENANT_ID - (mandatory)
  • TENANT_NAME - (mandatory)
  • LANDSCAPE_ENVIRONMENT - (mandatory)
  • LANDSCAPE_NAME - (mandatory)
  • FTM_HOST - Feature toggle server host (optional)
  • LANDSCAPE_INFRASTRUCTURE - (optional)
  • SHOW_LOG - If true, displays console logs (optional)

Environment variables example:

"FTM_HOST": "http://localhost:8080",
"USER_NAME": "[email protected]",
"TENANT_ID" : "b5c05535-9495-4050-9d68-4356d0d34136",
"TENANT_NAME": "cfsubaccount" // subaccount,
"WORKSPACE_ID": "workspaces-ws-x66m6",
"SHOW_LOG": "true",

Usage

Use the feature-toggle-node as follows:

import { isFeatureEnabled } from "@sap-devx/feature-toggle-node";

(async () => {  
  if (await isFeatureEnabled("EXTENSION_NAME", "FEATURE_TOGGLE_NAME")) {
    console.log(`Feature is Enabled`);
  } else {
    console.log(`Feature is Disabled`);
  }
})();

How to obtain support

Open an issue within this GitHub repository.

Licensing

Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

Package Rankings
Top 12.91% on Npmjs.org
Badges
Extracted from project README
CircleCI Coverage Status Language grade: JavaScript styled with prettier Commitizen friendly dependentbot REUSE status
Related Projects