Technical Articles
Upgrade Your Tools for Modern ECMAScript in UI5
Beginning with OpenUI5 and SAPUI5 1.116 (planned for July 2023), UI5 framework libraries will start using modern ECMAScript syntax in their code and define “Specification Version 3.0“ in their UI5 Tooling configuration.
If you use UI5 Tooling in your projects, this means you will have to upgrade to UI5 Tooling Version 3.
In addition, you have to make sure that your project’s development infrastructure fully supports this change.
Action
Check your project’s package.json file. If it contains an entry for the “@ui5/cli” module, you might need to upgrade this dependency to the latest version.
For this, use the following command. Also refer to our migration guide.
npm install --save-dev @ui5/cli@latest
Also make sure your development infrastructure is ready for handling ECMAScript 2022 code. This includes any testing frameworks, custom build scripts or UI5 Tooling extensions you may use.
Background
The reason for changing the specification version of all UI5 framework libraries is rooted in our efforts to allow the usage of modern ECMAScript syntax in the framework. In the past, only JavaScript ES5 syntax was used.
Starting with Version 1.116, OpenUI5 and SAPUI5 libraries will make use of modern ECMAScript language features up to and including ECMAScript 2022. UI5 Tooling only introduced support for this syntax in Version 3.
Therefore, we need to enforce the use of the latest UI5 Tooling version by all consumers before we can safely start using the new syntax in the UI5 framework. We can do this by increasing the specification version.
This will cause older versions of UI5 Tooling to abort processing framework libraries, showing an error message stating that the specification version is not supported and suggesting an upgrade of UI5 Tooling.
Maintenance Releases
Current maintenance releases, such as 1.108, are not affected by this change. While we strongly recommend upgrading any UI5 Tooling dependencies to benefit from bug fixes and improvements, UI5 Tooling v2 will continue to work with current maintenance releases.
Feedback
If you have any questions or feedback, reach out to us in the comments below, the OpenUI5 Slack channel, or by raising an issue on GitHub.
Disclaimer: Regarding the forward-looking statements, see www.sap.com/legal-notice
Awesome news, maybe not for everyone, but in general I really like the reason for this breaking change. Looking forward to it. 🙂
Keep pushing it forward!
Are there any changes to be done in controllers and custom controls when no UI Tooling is used but just plain HTML and JS files?
And since we are on the topic, two more questions:
No, there are no changes required for application / library code at all.
This is only about the tools that are used for example to parse the JavaScript code.
Hi Werner, regarding your two add'tl questions: