![openui5](http://openui5.org/images/OpenUI5_new_big_side.png)

# @openui5/ts-types-esm

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

<b>NOTE:</b> the same signatures are also available via [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/openui5) as [@types/openui5](https://www.npmjs.com/package/@types/openui5). Be aware of the remarks in the readme file, in particular about the [versioning difference](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/openui5#versioning).

These signatures can be used to:

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

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

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


## Usage

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 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**.

## License
OpenUI5 is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).  
