![SAPUI5](https://ui5.sap.com/resources/sap/ui/documentation/sdk/images/Logo_B_SAPUI5_H.png)

# @sapui5/ts-types-esm

This npm package contains the types signatures based on ES modules for all the SAPUI5 libraries.

These signatures can be used to:

1. Enable advanced content assist in IDEs, e.g: (VSCode / IntelliJ / Webstorm) for SAPUI5.
1. Integrate type checking for SAPUI5 applications using the TypeScript compiler.

These two capabilities are available both for SAPUI5 apps written in TypeScript **and** in JavaScript.

<b>NOTE:</b> "based on ES modules" means that the code needs to load UI5 modules using the ES6 modules syntax and then needs to be transformed to standard UI5 require/define syntax. Nevertheless, this is the recommended approach!<br>
See the "Usage" section below for links to detailed documentation about this setup.

## Usage

The central entry point for all information about using UI5 with TypeScript (incl. sample apps and templates) is at https://sap.github.io/ui5-typescript.

To see the suggested project setup for TypeScript development, please check out the [TypeScript Hello World app](https://github.com/SAP-samples/ui5-typescript-helloworld). It not only can serve as copy template, but also includes a [detailed step-by-step guide](https://github.com/SAP-samples/ui5-typescript-helloworld/blob/main/step-by-step.md) for creating this setup from scratch.

The [TypeScript branch of the "UI5 CAP Event App"](https://github.com/SAP-samples/ui5-cap-event-app/tree/typescript) sample demonstrates a slightly more complex application, using the same setup. It comes with an [explanation](https://github.com/SAP-samples/ui5-cap-event-app/blob/typescript/docs/typescript.md) of what UI5 TypeScript code usually looks like and what to consider when writing such code.

For quick and easy scaffolding of a new UI5 app written in TypeScript, you can also use the easy-ui5 tool with the [generator-ui5-ts-app](https://github.com/ui5-community/generator-ui5-ts-app) generator.

## Status

This project is in an experimental **_Beta State_**. Significant changes are likely to occur,
including potential **breaking changes**.

For information on changes in the type definitions, in particular ones which require adaptation, please refer to the [Release Notes](https://sap.github.io/ui5-typescript/releasenotes.html).

## License
This package is provided under the terms of the [SAP Developer License Agreement](https://tools.hana.ondemand.com/developer-license-3_2.txt).
