Transpile deprecation on RoomOS
There are two reasons for this change:
-
The need for transpilation of JavaScript is being abandoned as a technique as a more modern JavaScript engine has been developed.
-
Removing the extra step of having to transpile every piece of JavaScript code which adds to the load time of deploying and executing JavaScript code.
Our approach to deprecate the transpile option for JavaScript and macros is the following.
-
The transpilation step will be switched off by default when saving macros with the xAPI command. Thus, every legacy macros usage from the xAPI requires the transpile option to be explicitly set to true if transpile is needed. This change is planned to be released in RoomOS May 2025.
-
We will eventually remove transpilation entirely from RoomOS. The exact release for this step is not fully decided, but we will be looking at approximately 6 months after the first phase is introduced.
For your deployment, you can already forward validate your macros and JavaScript by configuring this on your RoomOS devices. We recommend you make this move as quickly as possible.
xConfiguration Macros EvaluateTranspiled: Off
We are doing these changes to ensure RoomOS performs to the maximum, and that we can help you to scale the deployment of JavaScript extensions in an efficient and secure manner.
If you have decided to configure EvaluateTranspiled back to On after the RoomOS May release, resave all macros so that they can be transpiled.
In our experience, the main usage of transpile in scripts when the script is using the require option as a part of loading the xAPI JS module into a macro. This issue can be easily mitigating using the import option when defining modules.
Read more about macros on roomos.cisco.com.