open-index/open-npm huggingface dataset:
npm package: @sap-ux/abap-deploy-config-sub-generator
Description: Sub generator for ABAP deployment configuration
Latest version: 0.3.16

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/abap-deploy-config-sub-generator/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/abap-deploy-config-sub-generator)

# [`@sap-ux/abap-deploy-config-sub-generator`](https://github.com/SAP/open-ux-tools/tree/main/packages/abap-deploy-config-sub-generator)

## Features

The ABAP deployment configuration sub-generator enables users to create deployment configuration files to a SAP Fiori application.

## Installation

The  ABAP deployment configuration sub-generator is installed as part of the [@sap/generator-fiori](https://www.npmjs.com/package/@sap/generator-fiori) generator and cannot be used stand alone. Furthermore, usage requires that the [SAP Fiori Tools Extension](https://marketplace.visualstudio.com/items?itemName=SAPSE.sap-ux-fiori-tools-extension-pack) pack is installed from the VSCode marketplace.

## Launch the  ABAP deployment configuration sub-generator

Open the Command Palette in MS Visual Studio Code ( CMD/CTRL + Shift + P ) and execute the Fiori: Add Deployment Configuration command.


## Keywords
SAP Fiori Elements
Yeoman
Generator
npm package: @sap-ux/abap-deploy-config-writer
Description: Writer module to add abap deployment configuration to an existing Fiori application
Latest version: 0.3.8

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/abap-deploy-config-writer/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/abap-deploy-config-writer)

# [`@sap-ux/abap-deploy-config-writer`](https://github.com/SAP/open-ux-tools/tree/main/packages/abap-deploy-config-writer)

Easy to use ABAP deployment configuration writer for use within Yeoman generator and other prompting libraries. 


## Installation
Npm
`npm install --save @sap-ux/abap-deploy-config-writer`

Yarn
`yarn add @sap-ux/abap-deploy-config-writer`

Pnpm
`pnpm add @sap-ux/abap-deploy-config-writer`

## Usage


Calling the `generate` function
```javascript
import { generate } from '@sap-ux/abap-deploy-config-writer'
import { join } from 'path';
import type { AbapDeployConfig } from '@sap-ux/ui5-config';

const exampleWriter = async () => {

  const abapDeployConfig: AbapDeployConfig[] = [
        {
            target: { url: 'https://example.com', client: '000', scp: false },
            app: { name: 'testapp', package: 'TESTPKG12', description: 'Deployment description', transport: 'TR123' }
        }
    ];

  const projectDir = join(__dirname, 'testapp');
  const fs = await generate(projectDir, abapDeployConfig);
  return new Promise((resolve) => {
      fs.commit(resolve); // When using with Yeoman it handle the fs commit.
  });
}

// Calling the function
await exampleWriter();

```

## Keywords
SAP Reuse Library
npm package: @sap-ux/adp-flp-config-sub-generator
Description: Generator for adding FLP configuration to an Adaptation Project
Latest version: 0.1.225

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/adp-flp-config-sub-generator/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/adp-flp-config-sub-generator)

# [`@sap-ux/adp-flp-config-sub-generator`](https://github.com/SAP/open-ux-tools/tree/main/packages/adp-flp-config-sub-generator)

## Features

The SAP Adaptation Project FLP sub-generator enables users to create a FLP configuration for an Adaptation Project.

## Installation

The SAP Adaptation Project FLP Configuration sub-generator is included in the [@sap/generator-fiori](https://www.npmjs.com/package/@sap/generator-fiori) generator and cannot be used independently. Additionally, it requires the [SAP Fiori Tools Extension](https://marketplace.visualstudio.com/items?itemName=SAPSE.sap-ux-fiori-tools-extension-pack) pack from the VSCode marketplace.


## Launch the SAP Reference Library sub-generator

Open the Command Palette in MS Visual Studio Code ( CMD/CTRL + Shift + P ) and execute the Fiori: Adaptation Project FLP configuration command.


## Keywords
SAP Fiori Elements
Yeoman
Generator
npm package: @sap-ux/adp-tooling
Description: Tooling for UI5 adaptation projects
Author: @SAP/ux-tools-team
Latest version: 0.18.113

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/adp-tooling/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/adp-tooling)

# [`@sap-ux/adp-tooling`](https://github.com/SAP/open-ux-tools/tree/main/packages/adp-tooling)

A module containing different tooling modules helpful when working with SAP UI5 adaptation projects.

## Submodules

### preview
The submodule preview contains functionality allowing to preview adaptation projects. It is not a standalone UI5 middleware but designed to be integrated into the `@sap-ux/preview-middleware.`.

### writer
The submodule writer contains functionality to generate the core project structure of an SAPUI5 adaptation project. It is not a standalone generator but designed to be integrated into `@sap-ux/create` or any kind of yeoman generator.

### prompts
The submodule contains prompting functionality for SAPUI5 adaptation project generators. It is not a standalone module but designed to be integrated into `@sap-ux/create` or any kind of yeoman generator.
#### change-data-source
Provides prompting for creating a manifest change file for replacing OData Sources.

### base
The submodule contains functionality required in different scenarios, e.g. prompting for generation or when initializing the preview.

## Templates
The templates folder contains ejs templates to be used for the generation of new adaptation projects as well as to generate artifacts in existing adaptation projects.
npm package: @sap-ux/annotation-converter
Description: SAP Fiori OData - Annotation converter
Latest version: 0.10.21

# @sap-ux/annotation-converter

Provides a way to convert a raw metadata document object into a convenient structure where path are resolved already for you.

The goal of this module is to provide an object that is ready to use and should cover most of the needs one can have when it comes to manipulating an odata service and its annotation.

All the object defined by this will be compatible with the @sap-ux/vocabularies-types providing an easy way to evaluate annotations.

## Installation
npm
`npm install --save-dev @sap-ux/annotation-converter`

yarn
`yarn add @sap-ux/annotation-converter --dev`

pnpm
`pnpm add @sap-ux/annotation-converter --dev`

## Usage

Import the `convert` method from the module

`import { convert } from '@sap-ux/annotation-converter';`

Use it on a raw metadata generated from `@sap-ux/edmx-parser` or complying to the same structure

```typescript
const myRawMetadata = ... 

const myConvertedMetadata = convert(myRawMetadata);
const isDraftEnabled = myConvertedMetadata.entityTypes[0].annotations.Common?.DraftRoot || myConvertedMetadata.entityTypes[0].annotations.Common?.DraftNode;
const myLabel = myConvertedMetadata.entityTypes[0].properties[0].annotations?.Common?.Text?.$target?.name // Property name of the text annotation if it exists
```

## Keywords
Annotation Converter
npm package: @sap-ux/annotation-generator
Description: Library that provides API for generation of annotations by SAP Fiori App Generator
Author: SAP SE
Latest version: 0.4.48

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/annotation-generator/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/annotation-generator)

# [Fiori Annotation Generator API](https://github.com/SAP/open-ux-tools/tree/main/packages/annotation-generator)

Reads annotations for a service in a SAP Fiori Elements project with local metadata. Allows generation of annotations for generation of new Fiori Elements apps.

## Installation
Npm   
`npm install --save @sap-ux/annotation-generator`

Yarn   
`yarn add @sap-ux/annotation-generator`

Pnpm   
`pnpm add @sap-ux/annotation-generator`

## Usage

Annotation generation example with SAP CAP CDS project:

```typescript
import { join } from 'path';
import { create as createStore } from 'mem-fs';
import { create as createEditor } from 'mem-fs-editor';
import type { Editor } from 'mem-fs-editor';

import { getProject } from '@sap-ux/project-access';

import type { AnnotationServiceParameters, GenerateAnnotationsOptions } from '@sap-ux/annotation-generator';
import { generateAnnotations} from '@sap-ux/annotation-generator';

const project = await getProject(projectRootFolder);
const fs = createEditor(createStore());

const appName = 'app/project1';
const serviceParameters: AnnotationServiceParameters = {
    project,
    serviceName: 'MainService',
    appName
};

const options: GenerateAnnotationsOptions = {
    entitySetName: 'Capex',
    annotationFilePath: join(appName, 'annotations.cds'),
    addValueHelps: true,
    addFacets: true,
    addLineItems: true
};
await generateAnnotations(fs, serviceParameters, options);
```

Annotation generation example with standalone UI project and OData backend:

```typescript
import { join } from 'path';
import { create as createStore } from 'mem-fs';
import { create as createEditor } from 'mem-fs-editor';
import type { Editor } from 'mem-fs-editor';

import { getProject } from '@sap-ux/project-access';

import type { AnnotationServiceParameters, GenerateAnnotationsOptions } from '@sap-ux/annotation-generator';
import { generateAnnotations} from '@sap-ux/annotation-generator';

const project = await getProject(projectRootFolder);
const fs = createEditor(createStore());

const serviceParameters: AnnotationServiceParameters = {
    project,
    serviceName: 'mainService',
};

const options: GenerateAnnotationsOptions = {
    entitySetName: 'Individual',
    annotationFilePath: join('webapp', 'annotations', 'annotation.xml'),
    addValueHelps: true,
    addFacets: true,
    addLineItems: true
};
await generateAnnotations(fs, serviceParameters, options);
```


## Keywords
OData annotations, app generation
npm package: @sap-ux/app-config-writer
Description: Add or update configuration for SAP Fiori tools application
Latest version: 0.6.134

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/app-config-writer/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/app-config-writer)

# [`@sap-ux/app-config-writer`](https://github.com/SAP/open-ux-tools/tree/main/packages/app-config-writer)

The `@sap-ux/app-config-writer` adds or updates configurations to a SAP Fiori tools project.

## Features

### Smart Links configuration
You can define smart links in an application to provide navigation links to other SAP Fiori applications in a standardized way.
To be able to deliver an application with preconfigured targets for the included smart links, you need to import the available targets from a remote configuration of the SAP Fiori launchpad with the provided `add smart links config` command.
Then you can configure the smart links with the help of the preview mode for developer variant creation.
https://help.sap.com/docs/SAP_FIORI_tools/17d50220bcd848aa854c9c182d65b699/ceb845a45dd94f4c8bd52f2976f99090.html?q=developer%20variant%20creation&locale=en-US

## Installation
Npm
`npm install --save @sap-ux/app-config-writer`

Yarn
`yarn add @sap-ux/app-config-writer`

Pnpm
`pnpm add @sap-ux/app-config-writer`

## Usage

### Smart Links configuration

#### Using @sap-ux/create module

- You can easily add a smart links configuration by running:
    `npm init @sap-ux add smartlinks-config`

#### Using @sap-ux/app-config-writer
```Typescript
import { generateSmartLinksConfig } from '@sap-ux/app-config-writer';

const myProjectPath = 'path/to/my/project'; // Path to the root of the Fiori app
const target = {
  url: 'https://abc.example', // For BAS, use `destination`
  client: '100', // Optional client
};
const auth = { username: 'user', password: 'password' }; // Authentication details

const exampleSmartLinksConfig = async () => {
  const fs = await generateSmartLinksConfig(myProjectPath, { target, auth });
  return new Promise((resolve) => {
    fs.commit(resolve);
  });
};

// Calling the function
exampleSmartLinksConfig();
```

See more complex example in [`/test/unit`](./test/unit)

## Keywords
SAP Fiori elements
npm package: @sap-ux/btp-utils
Description: Library to simplify working with SAP BTP specific features especially in SAP Business Application
Latest version: 1.1.12

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/btp-utils/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/btp-utils)

# [`@sap-ux/btp-utils`](https://github.com/SAP/open-ux-tools/tree/main/packages/btp-utils)
Library to simplify working with SAP BTP specific features especially in SAP Business Application.

## Installation
Npm
`npm install --save @sap-ux/btp-utils`

Yarn
`yarn add @sap-ux/btp-utils`

Pnpm
`pnpm add @sap-ux/btp-utils`

## Usage
See examples in `test/app-studio.test.ts` and `test/destination.test.ts`.

## Keywords
SAP Application Studio (BAS)
SAP Business Technology Platform (BTP)
npm package: @sap-ux/cards-editor-config-writer
Description: **This package is officially deprecated and will no longer be maintained.**
Latest version: 0.5.5
Deprecated: This package is no longer maintained. Please use @sap-ux/app-config-writer instead.

# ⚠️ DEPRECATED ⚠️

**This package is officially deprecated and will no longer be maintained.**

---

## **🛑 IMPORTANT: This Package is Deprecated!**

**Please discontinue use of this package immediately.**

### **Reason for Deprecation:**

* The functionality provided by this package has been integrated into the `@sap-ux/app-config-writer` package, which is now the recommended way to manage card configurations in SAP UX projects.
npm package: @sap-ux/cards-editor-middleware
Description: **This package is officially deprecated and will no longer be maintained.**
Latest version: 0.5.8
Deprecated: This package is no longer maintained. Please use @sap/ux-ui5-tooling or @sap-ux/preview-middleware instead.

# ⚠️ DEPRECATED ⚠️

**This package is officially deprecated and will no longer be maintained.**

---

## **🛑 IMPORTANT: This Package is Deprecated!**

**Please discontinue use of this package immediately.**

### **Reason for Deprecation:**

* The functionality provided by this package has been integrated into the `@sap-ux/preview-middleware` package, which is now the recommended way to manage cards in SAP UX projects.
npm package: @sap-ux/cds-annotation-parser
Description: Annotation Parser for CDS
Author: SAP SE
Latest version: 0.2.35

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/cds-annotation-parser/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/cds-annotation-parser)

# [`@sap-ux/cds-annotation-parser`](https://github.com/SAP/open-ux-tools/tree/main/packages/cds-annotation-parser)

## Installation
Npm
`npm install --save @sap-ux/cds-annotation-parser`

Yarn
`yarn add @sap-ux/cds-annotation-parser`

Pnpm
`pnpm add @sap-ux/cds-annotation-parser`

## Usage
Examples of how to use CDS annotation parsing and abstract syntax tree (AST) node search functions.

```Typescript
import { parse, findAnnotationNode, getAstNodes, getNode } from '@sap-ux/cds-annotation-parser';

const ast = parse(`
  UI.LineItem #table1 : [
    {
      $type: 'UI.DataField',
      value: some.path,
      Label: 'Sample column'
    }  
  ]';
`);

if (ast !== undefined) {
    // Expected pathToLabel: "/value/items/0/properties/2/value"
    const pathToLabel = findAnnotationNode(ast, {
        position: { line: 5, character: 15 },
        includeDelimiterCharacters: true
    });
    
    // An array of nodes matching each segment of the path.
    const nodes = getAstNodes(ast, pathToLabel);
    const serializedNodes = nodes.map((n) =>
        Array.isArray(n) ? '<array of child elements>' : typeof n === 'object' ? `Node of type '${n.type}'` : n
    );
    /* Expected serializedNodes:
    [
        "Node of type 'collection'",
        "<array of child elements>",
        "Node of type 'record'",
        "<array of child elements>",
        "Node of type 'record-property'",
        "Node of type 'string'",
    ]
    */

    const termNode = getNode(ast, '/term');
    if (termNode.type === 'path') {
        // expected termName: "UI.LineItem"
        const termName = termNode.value;
    }

    const qualifierNode = getNode(ast, '/qualifier');
    if (qualifierNode.type === 'qualifier') {
        // expected qualifier: "table1"
        const qualifier = qualifierNode.value;
    }

    const propertyValueNode = getNode(ast, '/value/items/0/properties/1/value');
    if (propertyValueNode.type === 'path') {
        // expected value: "some.path"
        const value = propertyValueNode.value;
    }
}

```

## Keywords
OData annotations CAP CDS
npm package: @sap-ux/cds-odata-annotation-converter
Description: Converter for OData annotations in CDS format.
Author: SAP SE
Latest version: 0.7.16

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/cds-odata-annotation-converter/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/cds-odata-annotation-converter)

# [CDS OData Annotation Converter](https://github.com/SAP/open-ux-tools/tree/main/packages/cds-odata-annotation-converter)

## Installation
Npm
`npm install --save @sap-ux/cds-odata-annotation-converter`

Yarn
`yarn add @sap-ux/cds-odata-annotation-converter`

Pnpm
`pnpm add @sap-ux/cds-odata-annotation-converter`

## Usage

Convert CDS `annotationAstNodes` to annotation file format from `@sap-ux/odata-annotation-core-types`.

```Typescript
import { createCdsCompilerFacade, createMetadataCollector } from '@sap/ux-cds-compiler-facade';
import { toAnnotationFile, toTargetMap  } from '@sap-ux/cds-odata-annotation-converter';
import { VocabularyService } from '@sap-ux/odata-vocabularies';

const uri = 'file://my-service.cds';
const vocabularyService = new VocabularyService(true);
const facade = createCdsCompilerFacade(compileModel);
const cdsAnnotationFile = toTargetMap(fileIndex, uri, vocabularyService, facade);
const metadataElementMap = new Map();
const metadataCollector = createMetadataCollector(metadataElementMap, facade);
const { file: annotationFile } = toAnnotationFile(
    uri,
    vocabularyService,
    cdsAnnotationFile,
    metadataCollector
);
```

Generate CDS annotation text fragment. 

```Typescript
import { print } from '@sap-ux/cds-odata-annotation-converter';
import { Edm, createElementNode, createAttributeNode } from '@sap-ux/odata-annotation-core-types';

const element = createElementNode({
    name: Edm.PropertyValue,
    attributes: {
        [Edm.Property]: createAttributeNode(Edm.Property, 'Target'),
        [Edm.AnnotationPath]: createAttributeNode(Edm.AnnotationPath, '$0')
    },
});

// "Target : '$0'"
const text = print(element);
```

## Keywords
OData CAP CDS annotations
npm package: @sap-ux/cf-deploy-config-inquirer
Description: Prompts module that can provide prompts for cf deployment config writer
Latest version: 0.5.116

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/cf-deploy-config-inquirer/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/cf-deploy-config-inquirer)

# [`@sap-ux/cf-deploy-config-inquirer`](https://github.com/SAP/open-ux-tools/tree/main/packages/cf-deploy-config-inquirer)

Prompts module that can provide prompts for Cloud Foundry deployment config writer.

## Installation
Npm
`npm install --save @sap-ux/cf-deploy-config-inquirer`

Yarn
`yarn add @sap-ux/cf-deploy-config-inquirer`

Pnpm
`pnpm add @sap-ux/cf-deploy-config-inquirer`


## Explainer

Prompts may be retrieved using `getPrompts` and then executed in another prompting module that supports `inquirer` type prompts. 

`getPrompts` is provided to allow consumers to access cloud foundry prompts. There may be cases where these can be transformed to support other prompting frameworks. Most prompt configuration is possible via `CfDeployConfigPromptOptions` and calling `prompt`. This is the recommended approach.

Configurability of prompts is entirely controlled using the `CfDeployConfigPromptOptions` parameter. 

See [Inquirer.js](https://www.npmjs.com/package/inquirer) for valid default properties.

### Cloud Foundry Deploy Config Inquirer usage example:

```TypeScript
import type { InquirerAdapter } from '@sap-ux/inquirer-common';
import type { CfDeployConfigAnswers, CfDeployConfigPromptOptions } from '@sap-ux/cf-deploy-config-inquirer';
import { prompt as cfDeployConfigPrompt, promptNames } from '@sap-ux/cf-deploy-config-inquirer';

const promptOptions = {
    [promptNames.destinationName]: {
        defaultValue: 'defaultDestination',
        hint: false
    },
    [promptNames.addManagedAppRouter]: true,
    [promptNames.overwrite]: true
};

/**
 * Pass an Inquirer prompt function https://www.npmjs.com/package/inquirer#methods
 */
const inqAdaptor = {
    prompt: this.prompt.bind(this) // the inquirer prompting function, here we use the generators reference
};

const cfDeployConfigAnswers: CfDeployConfigAnswers = await cfDeployConfigPrompt(
    inqAdaptor as InquirerAdapter,
    promptOpts
);
```

## License

Read [License](./LICENSE).

## Keywords
SAP UI5 Application
Inquirer
Prompting
Generator
Deployment
npm package: @sap-ux/cf-deploy-config-sub-generator
Description: Generators for configuring Cloud Foundry deployment configuration
Latest version: 0.2.166

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/cf-deploy-config-sub-generator/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/cf-deploy-config-sub-generator)

# [`@sap-ux/cf-deploy-config-sub-generator`](https://github.com/SAP/open-ux-tools/tree/main/packages/cf-deploy-config-sub-generator)

## Features

1. The Cloud Foundry deployment configuration sub-generator enables users to create deployment configuration for a SAP Fiori application.

2. The SAP Fiori Application Router sub-generator enables users to configure and generate a Cloud Foundry Fiori application router.

## Installation

The SAP Fiori Cloud Foundry Deployment and Application Router sub-generators are installed as part of the [@sap/generator-fiori](https://www.npmjs.com/package/@sap/generator-fiori) generator and cannot be used stand alone. Furthermore, usage requires that the [SAP Fiori Tools Extension](https://marketplace.visualstudio.com/items?itemName=SAPSE.sap-ux-fiori-tools-extension-pack) pack is installed from the VSCode marketplace.

## Launch the SAP Application Router Generator

Open the Command Palette in MS Visual Studio Code ( CMD/CTRL + Shift + P ) and execute either: 
- Fiori: Add Deployment Configuration
- Fiori: Open CF Application Router Generator.

## Keywords
SAP Fiori Generator
Cloud Foundry
npm package: @sap-ux/control-property-editor
Description: Control Property Editor
Latest version: 0.7.23

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/control-property-editor/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/control-property-editor)

# [Control Property Editor (Webapp)](https://github.com/SAP/open-ux-tools/tree/main/packages/control-property-editor)


Control Property Editor is a an webapp for Adaptation Projects.


## License

Read [License](./LICENSE).

## Keywords
React App
Control Property Editor
Visual Editor
SAP
npm package: @sap-ux/deploy-config-generator-shared
Description: Commonly used shared functionality and types to support the deploy config generator.
Latest version: 0.1.115

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/deploy-config-generator-shared/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/deploy-config-generator-shared)

# [`@sap-ux/deploy-config-generator-shared`](https://github.com/SAP/open-ux-tools/tree/main/packages/deploy-config-generator-shared)

Commonly used shared functionality to support the deployment configuration generators.
Add functionality that may be used by multiple deployment configuration generator modules.


## License

Read [License](./LICENSE).

## Keywords
SAP
npm package: @sap-ux/deploy-config-sub-generator
Description: Main generator for configuring ABAP or Cloud Foundry deployment configuration
Latest version: 0.5.137

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/deploy-config-sub-generator/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/deploy-config-sub-generator)

# [`@sap-ux/deploy-config-sub-generator`](https://github.com/SAP/open-ux-tools/tree/main/packages/deploy-config-sub-generator)

## Features

The Fiori Deployment configuration sub-generator enables users to create deployment configuration for an SAP Fiori application.

## Installation

The SAP Fiori Deployment sub-generator is installed as part of the [@sap/generator-fiori](https://www.npmjs.com/package/@sap/generator-fiori) generator and cannot be used stand alone. Furthermore, usage requires that the [SAP Fiori Tools Extension](https://marketplace.visualstudio.com/items?itemName=SAPSE.sap-ux-fiori-tools-extension-pack) pack is installed from the VSCode marketplace.

## Launch the SAP Application Router Generator

Open the Command Palette in MS Visual Studio Code ( CMD/CTRL + Shift + P ) and execute: 
- Fiori: Add Deployment Configuration

## Keywords
SAP Fiori Generator
Cloud Foundry
npm package: @sap-ux/edmx-parser
Description: SAP Fiori OData - EDMX File parser
Latest version: 0.10.0

# @sap-ux/edmx-parser

Provides a way to parse OData metadata document and annotations files into an object structure.

This structure can be used as is or can be then passed onto the `@sap-ux/annotation-converter` module that will provide an even more flexible and user friendly interface.

The parser also exposes a `merge` method to merge multiple metadata document together if required.


## Installation
npm
`npm install --save-dev @sap-ux/edmx-parser`

yarn
`yarn add @sap-ux/edmx-parser --dev`

pnpm
`pnpm add @sap-ux/edmx-parser --dev`

## Usage

Import the `parse` or `merge` method from the module

`import { parse, merge } from '@sap-ux/edmx-parser';`

Use it on an edmx / annotation file

```typescript
const myEdmxFile = await fs.readFile(...)
const myAnnotationFile = await fs.readFile(...)
const myParsedEdmx = parse(myEdmxFile);
const myParsedAnnotation = parse(myAnnotationFile);

const myMergedContent = merge(myParsedEdmx, myParsedAnnotation)
```

## Keywords
Metadata Parser
npm package: @sap-ux/environment-check
Description: SAP Fiori environment check
Latest version: 0.18.117

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/environment-check/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/environment-check)

# [`@sap-ux/environment-check`](https://github.com/SAP/open-ux-tools/tree/main/packages/environment-check)

Environment check for Business Application Studio and Visual Studio Code.

## Installation
Npm
`npm install --save @sap-ux/environment-check`

Yarn
`yarn add @sap-ux/environment-check`

Pnpm
`pnpm add @sap-ux/environment-check`

## Usage

```javascript
import {
    getEnvironment,
    checkBASDestinations,
    checkBASDestination, 
    checkEndpoints,
    checkEndpoint,
} from '@sap-ux/environment-check';

/**
 * Returns the environment, including ide, versions, extensions ...
 */
const environmentResults = await getEnvironment();

/**
 * Checks the destinations and returns a list
 */
const destinationResults = await checkBASDestinations();

/**
 * Check a BAS destination for v2 & v4 catalog service 
 */
const destResult = await checkBASDestination(destination, username, password);

/**
 * Checks the stored SAP Systems (or destinations on BAS) and returns a list
 */
const endpointResults = await checkEndpoints();

/**
 * Check the stored SAP System (or destination on BAS) for v2 & v4 catalog service and other services 
 */
const endpointResult = await checkEndpoint(destination, username, password);

```

## CLI

A CLI application is also available to investigate the environment and destinations.

## Usage

```
$ envcheck --help

Usage 
    $ envcheck --destination <DESTINATION> --output <OUTPUT> <WORKSPACE_ROOT>

Options
    --destination       destination or stored SAP system to perform deep check, multiple destinations can be passed
    --output            json | markdown | verbose | zip format for output, if not specified all messages   except 'info' are shown

    <WORKSPACE_ROOT*>   path the root folder of a workspace. Multiple roots can be defined. We search for apps with destinations in workspaces
```
## Keywords
SAP Fiori Tools
npm package: @sap-ux/fe-fpm-writer
Description: SAP Fiori elements flexible programming model writer
Latest version: 0.43.19

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/fe-fpm-writer/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/fe-fpm-writer)

# [`@sap-ux/fe-fpm-writer`](https://github.com/SAP/open-ux-tools/tree/main/packages/fe-fpm-writer)

Generates elements defined in the Fiori elements for OData v4 flexible programming model into Fiori elements applications


## Installation
Npm
`npm install --save @sap-ux/fe-fpm-writer`

Yarn
`yarn add @sap-ux/fe-fpm-writer`

Pnpm
`pnpm add @sap-ux/fe-fpm-writer`

## Usage
```Typescript
import { generate } from '@sap-ux/fe-fpm-writer';
import { join } from 'path';

const projectDir = join(__dirname, 'test/test-input/basic-lrop');
const fs = await generateCustomPage(
    targetPath,
    {
        name: 'MyCustomPage',
        entity: 'Booking',
        navigation: {
            sourcePage: 'TravelObjectPage',
            navEntity: '_Booking'
        }
});

fs.commit();

```
See more complex example in [`/test/integration/index.test.ts`](./test/integration/index.test.ts)
## Keywords
SAP Fiori elements
npm package: @sap-ux/fe-mockserver-admin
Description: SAP Fiori OData - Mockserver admin service to list running services
Latest version: 0.0.47

# @sap-ux/fe-mockserver-admin

Admin service package for the SAP Fiori mockserver that provides an OData service to list currently running services.

## Overview

This package provides an admin OData service that exposes information about currently registered services in a running mockserver instance. It allows you to query which services are active, their configuration, and status.

## Installation

```bash
npm install @sap-ux/fe-mockserver-admin
```

## Usage

You need to define the admin in the `plugins` section of the mockerver

```yaml
  configuration:
      plugins:
        - "@sap-ux/fe-mockserver-admin"
```


## Example

Access the admin service at `http://localhost:3000/admin/Services` to get a list of all registered services in OData JSON format.

## Binary for Mock Data Generation

This package also provides a CLI binary `fe-mockserver-admin` to generate TypeScript mock data files from OData metadata:

### Generate Entity Files

```bash
# Generate entity files from metadata.xml
fe-mockserver-admin generate-entity-files -m path/to/metadata.xml

# Generate entity files with custom output directory
fe-mockserver-admin generate-entity-files -m path/to/metadata.xml -o path/to/output/directory
```

This command will:
- Parse the OData metadata file
- Generate TypeScript entity files for each entity set
- Create an EntityContainer file for action handling
- Generate proper TypeScript interfaces and types

The generated files can be used as mock data contributors in your SAP Fiori mockserver setup.

## License

Apache-2.0
npm package: @sap-ux/fe-mockserver-core
Description: SAP Fiori OData - Fiori elements mock server core
Latest version: 1.7.11

# @sap-ux/fe-mockserver-core

## Features

The **SAP Fiori - Mockserver** is the core middleware used by the ui5 middleware of the same name.

It provides a middleware that can be used in standard express or http.Router based application.

## Installation
npm
`npm install --save-dev @sap-ux/fe-mockserver-core`

yarn
`yarn add @sap-ux/fe-mockserver-core --dev`

pnpm
`pnpm add @sap-ux/fe-mockserver-core --dev`

## Usage

Most likely you will consume this through the @sap-ux/ui5-middleware-fe-mockserver package, otherwise do check the tests as it is not meant to be consumed directly :)

## Keywords
Mockserver
npm package: @sap-ux/fe-mockserver-plugin-cds
Description: SAP Fiori Tools - FE Mockserver CDS Plugin
Latest version: 1.2.6

# @sap-ux/fe-mockserver-plugin-cds

`MetadataProcessor` plugin for the fe-mockserver that allows to use `cds` file as source for the metadataPath.



## Installation
npm
`npm install --save-dev @sap-ux/fe-mockserver-plugin-cds`

yarn
`yarn add @sap-ux/fe-mockserver-plugin-cds --dev`

pnpm
`pnpm add @sap-ux/fe-mockserver-plugin-cds --dev`

*Note*: You will also need to install and provide a @sap/cds-compiler version.

## Usage

In the mockserver configuration, specify that you want to use this plugin for the metadata processing as follows :

```yaml
 - name: sap-fe-mockserver
     beforeMiddleware: compression
     configuration:
       metadataProcessor: 
         name: "@sap-ux/fe-mockserver-plugin-cds"
       service:
         urlPath: /here/goes/your/serviceurl
         metadataPath: ./webapp/localService/metadata.cds
         mockDataPath: ./webapp/localService/mockdata
```

You can also specify that you want this to generate a v2 service by using the following syntax

```yaml
 - name: sap-fe-mockserver
     beforeMiddleware: compression
     configuration:
       metadataProcessor: 
        name: "@sap-ux/fe-mockserver-plugin-cds"
        options: 
          odataVersion: v2
       service:
         urlPath: /here/goes/your/serviceurl
         metadataPath: ./webapp/localService/metadata.cds
         mockDataPath: ./webapp/localService/mockdata
```

## i18n

If you use i18n reference in your project the plugin will automatically replace the i18n reference with the actual value from the i18n file. 
The i18n file should be in the same folder as the metadata file and should be named `i18n.properties` 
 - or in an i18n folder in the same directory as the metadata file.
 - or in an _i18n folder in the same directory as the metadata file.
 - or in an _i18n folder one level above the metadata file.
 - or you can define i18nPath property in the configuration to add more location relative to the cds file

```yaml
 - name: sap-fe-mockserver
     beforeMiddleware: compression
     configuration:
       metadataProcessor: 
        name: "@sap-ux/fe-mockserver-plugin-cds"
        options: 
          odataVersion: v2
       service:
         urlPath: /here/goes/your/serviceurl
         metadataPath: ./webapp/localService/metadata.cds
         mockDataPath: ./webapp/localService/mockdata
         i18nPath: ../otherlocation/i18n // relative to the metadata file
```

## Keywords
CDS Plugin Mockserver
npm package: @sap-ux/fiori-annotation-api
Description: Library that provides API for reading and writing annotations in SAP Fiori elements projects.
Author: SAP SE
Latest version: 0.9.41

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/fiori-annotation-api/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-annotation-api)

# [`@sap-ux/fiori-annotation-api`](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-annotation-api)

Provides high level design time API for working with OData services in context of SAP Fiori Elements. It uses the same data types for annotations and metadata as SAP Fiori Elements runtime and provides abstraction over service definition languages.

## Installation
Npm   
`npm install --save @sap-ux/fiori-annotation-api`

Yarn   
`yarn add @sap-ux/fiori-annotation-api`

Pnpm   
`pnpm add @sap-ux/fiori-annotation-api`


## Features

- Supports local XML data and SAP CAP CDS projects.
- Read service metadata.
- Read service annotations.
- Change annotations.
- Serialize annotations to XML or SAP CAP CDS.


## Limitations

The following features are not supported:
- Using changes with logical and arithmetic operators: `Apply`, `And`, `Add` etc.

## Usage
See usage in [`test/unit/fiori-service.test.ts`](test/unit/fiori-service.test.ts).

## Keywords
OData Fiori annotations
npm package: @sap-ux/fiori-elements-writer
Description: SAP Fiori elements application writer
Latest version: 2.8.120

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/fiori-elements-writer/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-elements-writer)

# [`@sap-ux/fiori-elements-writer`](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-elements-writer)

Easy to use Fiori Elements project files writer for use within Yeoman generator and other prompting libraries. 


## Installation
Npm
`npm install --save @sap-ux/fiori-elements-writer`

Yarn
`yarn add @sap-ux/fiori-elements-writer`

Pnpm
`pnpm add @sap-ux/fiori-elements-writer`

## Usage


Calling the `generate` function
```javascript
import { FioriElementsApp, generate, OdataVersion, TemplateType } from '@sap-ux/fiori-elements-writer'
import { join } from 'path';

const exampleWriter = async () => {

  const appConfig = {
    app: {
      id: 'test.me',
      title: 'My Test App',
      flpAppId: 'testme-app'
    },
    package: {
      name: 'test.me'
    },
    service: {
      url: 'https://services.odata.org',
      path: '/V2/Northwind/Northwind.svc',
      version: OdataVersion.v2,
      metadata: // Fetch from: https://services.odata.org/V2/Northwind/Northwind.svc$metadata
    },
    ui5: {
      localVersion: '1.90.0',
      version: '1.98.0',
      ui5Theme: 'sap_fiori_3'
    },
    template: {
      type: TemplateType.ListReportObjectPage,
      settings: {
        entityConfig: {
          mainEntity: {
            entityName: 'Suppliers'
          },
          navigationEntity: {
            EntitySet: 'Products',
            Name: 'Products',
            Role: ''
          }
        }
      }
    }
  };

  const projectPath = join(curTestOutPath, name);
  const fs = await generate(join(projectPath), appConfig);
  return new Promise((resolve) => {
      fs.commit(resolve); // When using with Yeoman it handle the fs commit.
  });
}

// Calling the function
await exampleWriter();

```

## Keywords
SAP Fiori Elements
npm package: @sap-ux/fiori-freestyle-writer
Description: SAP Fiori freestyle application writer
Latest version: 2.5.90

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/fiori-freestyle-writer/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-freestyle-writer)

# [`@sap-ux/fiori-freestyle-writer`](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-freestyle-writer)

Writer module allowing to generate custom SAPUI5 applications with different templates.

:warning: **All templates except the Basic template are deprecated** and will be removed in a future release. Please use the Custom page SAP Fiori template(`@sap-ux/fiori-elements-writer`)  as an alternative. 

## Installation
Npm
`npm install --save @sap-ux/fiori-freestyle-writer`

Yarn
`yarn add @sap-ux/fiori-freestyle-writer`

Pnpm
`pnpm add @sap-ux/fiori-freestyle-writer`

## Usage

Calling the `generate` function
```javascript
import { FreestyleApp, generate, OdataVersion, TemplateType } from '@sap-ux/fiori-freestyle-writer'
import { join } from 'path';

const exampleWriter = async () => {

  const appConfig =
    {
      app: {
        id: 'test.me',
        title: 'My Test App'
      },
      package: {
        name: 'test.me'
      },
      service: {
        url: 'https://services.odata.org',
        path: '/V2/Northwind/Northwind.svc',
        version: OdataVersion.v2,
        metadata: // Fetch from: https://services.odata.org/V2/Northwind/Northwind.svc$metadata
      },
      ui5: {
        version: '1.90.0',
        ui5Theme: 'sap_fiori_3',
        ui5Libs: 'sap.m,sap.ushell'
      },
      template: {
        type: TemplateType.Basic,
        settings: {
          viewName: 'CustomViewName'
      }
    };
  
const projectPath = join(curTestOutPath, name);
const fs = await generate(join(projectPath), appConfig);
return new Promise((resolve) => {
    fs.commit(resolve); // when using with Yeoman it handle the fs commit.
});
}

// Calling the function
await exampleWriter();

```

## Keywords
SAPUI5
SAP Fiori
SAP Fiori tools
npm package: @sap-ux/fiori-generator-shared
Description: Commonly used shared functionality and types to support the fiori generator.
Latest version: 0.13.96

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/fiori-generator-shared/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-generator-shared)

# [`@sap-ux/fiori-generator-shared`](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-generator-shared)

Commonly used shared functionality to support the fiori generator.
Add functionality that may be used by multiple generator modules.

When adding additional templates, ensure the calling function (e.g., generateAppGenInfo) remains at the src directory level to align with the template location pattern used during generator bundling.

## License

Read [License](./LICENSE).

## Keywords
SAP
npm package: @sap-ux/fiori-tools-settings
Description: Utilities for managing and persisting Fiori tools configuration settings in the hidden .fioritools folder.
Latest version: 0.2.3

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/fiori-tools-settings/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-tools-settings)

# [`@sap-ux/fiori-tools-settings`](https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-tools-settings)

Package provides utilities to manage and store configuration data related to Fiori tools projects. It writes essential settings to a hidden .fioritools folder within the project workspace.

## License

Read [License](./LICENSE).

## Keywords
SAP
npm package: @sap-ux/flp-config-sub-generator
Description: Generator for creating Fiori Launcpad configuration
Latest version: 0.3.183

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/flp-config-sub-generator/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/flp-config-sub-generator)

# [`@sap-ux/flp-config-sub-generator`](https://github.com/SAP/open-ux-tools/tree/main/packages/flp-config-sub-generator)

## Features

The SAP Fiori Launchpad configuration sub-generator enables users to add Fiori launchpad configuration to SAP Fiori applications

## Installation

The SAP Fiori Launchpad configuration sub-generator is installed as part of the [@sap/generator-fiori](https://www.npmjs.com/package/@sap/generator-fiori) generator and cannot be used stand alone. Furthermore, usage requires that the [SAP Fiori Tools Extension](https://marketplace.visualstudio.com/items?itemName=SAPSE.sap-ux-fiori-tools-extension-pack) pack is installed from the VSCode marketplace.

## Launch the SAP Reuse Library sub-generator

Open the Command Palette in MS Visual Studio Code ( CMD/CTRL + Shift + P ) and execute the Fiori: Add FLP Embedded Configuration.

## Keywords
SAP Fiori Generator
npm package: @sap-ux/generator-adp
Description: Adaptation project allows you to create an app variant for an existing SAP Fiori elements-based or SAPUI5 freestyle application, without changing the original application.
Latest version: 0.9.51

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/generator-adp/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/generator-adp)

# [`@sap-ux/generator-adp`](https://github.com/SAP/open-ux-tools/tree/main/packages/generator-adp)

## Features

The SAPUI5 Adaptation Project generator enables users to create a new project.

## Installation

The SAPUI5 Adaptation Project generator is included in the [@sap/generator-fiori](https://www.npmjs.com/package/@sap/generator-fiori) generator and can be used independently. Additionally, it requires the [SAP Fiori Tools Extension](https://marketplace.visualstudio.com/items?itemName=SAPSE.sap-ux-fiori-tools-extension-pack) pack from the VSCode marketplace.

## Launch the SAPUI5 Adaptation Project generator

Open the Command Palette in MS Visual Studio Code ( CMD/CTRL + Shift + P ) and execute the `Fiori: Open Adaptation Project Generator` command.

## Keywords

SAP Fiori Elements
Yeoman
Generator
npm package: @sap-ux/guided-answers-helper
Description: Guided Answers Helper
Latest version: 0.4.2

﻿[![Changelog](https://img.shields.io/badge/changelog-8A2BE2)](https://github.com/SAP/open-ux-tools/blob/main/packages/guided-answers-helper/CHANGELOG.md) [![Github repo](https://img.shields.io/badge/github-repo-blue)](https://github.com/SAP/open-ux-tools/tree/main/packages/guided-answers-helper)

# [`@sap-ux/guided-answers-helper`](https://github.com/SAP/open-ux-tools/tree/main/packages/guided-answers-helper)

Guided Answers helper utilities


## Installation
Npm
`npm install --save @sap-ux/guided-answers-helper`

Yarn
`yarn add @sap-ux/guided-answers-helper`

Pnpm
`pnpm add @sap-ux/guided-answers-helper`

## Usage

See ./test/unit

## Keywords
SAP Reuse Library