Toggle menu

JavaScript Strict Mode and End Point Linting

Soon all of the JavaScript written in End Points will have to be able to run in strict mode. We're updating our products and you'll need to update any of your own End Points too.

This article was updated in February 2022 to announce that the new asynchronous workers will be rolled out from July 2022. All End Points must conform to strict mode before that date.

What is changing?

We are changing the way End Points run and how they should be written. Eventually all End Points will have to meet JavaScript's strict mode.

What is strict mode?

JavaScript's strict mode was introduced in ECMAScript 5 (back in 2009). It provides more thorough error checking, enhances security, and fixes mistakes that make it difficult for JavaScript engines to perform optimizations. This generally means JavaScript written in strict mode will run faster.

What happened in the past?

JavaScript strict mode wasn't compulsory, and scripts written in strict and non-strict mode could coexist. In the previous End Point editor, which didn't enforce strict mode, you'd see warnings about things like undeclared variables. These warnings are now errors and your script will need to be updated for the End Point to run.

Why are you making this change?

We have brand new versions of the API Server workers that run End Points. These new workers behave asynchronously, which means they are faster, more efficient, and can handle many more requests. However, any End Points handled by these workers must run in strict mode, so all of the End Points on your platform need to be checked and updated before the new workers can be deployed.

When is this changing?

The new asynchronous End Point workers will be rolled out to environments from 01/07/2022. By this date all End Points will have to run in strict mode. If they don't they will cease to work.

What are GOSS doing next?

We have updated all of our products so that their End Points meet strict mode. We are rolling out these changes and your project manager will be in touch to schedule deployments of new releases as needed.

What do I need to do?

There is already a report in iCM 10.0.7.0 and 10.0.6.0 (update 177) that you can run to check all of your End Points. It tells you the names of any End Points that have errors and the line numbers.

Script Error report
 

As with all reports, you can view the results in iCM or have them emailed to you.

Script Error Results
 

You can also see the errors and warnings while you are writing your End Point.

Linting Error
 

If you have written End Points you should run this report and resolve any errors.

Last modified on 21 February 2022

Share this page

Facebook icon Twitter icon email icon

Print

print icon