In the past 10 years I have updated a lot of JavaScript in Dynamics 365 CRM.

by May 14, 2025Shorts

In the past 10 years I have updated a lot of JavaScript in Dynamics 365 CRM.

These are the 6 refactorings I always do:

βœ… Adding executionContext to functions;

Passing the executionContext is the new way to access Xrm.Page. Make sure you flag ‘Pass execution context as first parameter’. Waiting patiently for Microsoft to make this the default πŸ₯±.

βœ… Replacing var with let or const;

Using let or const prevents stupid bugs where you re-declare or overwrite variables when you didn’t mean to.

βœ… Better names for variables;

While I’m replacing var, I also improve the names of the variables to make it clear what their intension is.

βœ… Invert if statements and use early returns;

Remove all those nested if statements and make your code clearer to understand by returning immediately when a condition doesn’t apply or inverting the check in a if statement.

βœ… Use async/await;

Remove promises and .then methods that are nesting your code and replace it with the async/wait pattern to improve your code readability.

βœ… Target ES2020 in TypeScript. It’s save to use now a days.

What are the refactorings you do when touching JavaScript code in Dynamics 365 CRM?

Remy van Duijkeren

Remy van Duijkeren

The Marketing Developer

I build automation and integrations that remove the annoying stuffβ€”using Power Platform, Dynamics 365 & Azure.

Get My Thoughts on Automation & Development

Join my personal newsletter and get practical insights on building faster, integrating smarter, and removing friction in IT systems β€” especially on Power Platform and Dynamics 365.

Related