This article presumes you have done some unit testing before using JavaScript and have a basic grasp of the tooling. Complete code for this blog can be found here. ✌️

Red, Greed, Refactor

Test driven development (TDD) is a powerful tool in any developers tool belt. When using TDD we get a number of benefits; natural 100% test coverage, lack of unnecessary code, code that is inherently testable and many more. However the purpose of this article is not to sell you on TDD, many people have already done a fantastic job of that! …


I recently wrote a post about polyfilling a web app (which you can read here) and it got me thinking about whether you should always polyfill JavaScript libraries you write.

Why would we polyfill a library?

People build applications that need to run in all sorts of environments, from older browsers to servers running older versions of node. Unfortunately only supporting newer browsers or always keeping your node installations up to date isn’t an option for everyone.

If we want our library to be consumable by as many people as possible then we need to ensure it runs on as many platforms as possible. In many…


TypeScript is awesome. I 💖 it! It brings powerful type checking to your codebase that helps you find bugs more quickly and form and adhere to contracts more easily. Not to mention the amazing editor experience that comes with adopting it, it’s support in VS Code is seamless and fast!

An unpopular union in the past

TypeScript has always enjoyed a growing user base but there are still a lot of JavaScript developers who have not adopted it. This is due to a number of pain points that have often made it awkward for developers. It generally came down to the need to manage and learn…


I’ve worked on a lot of web apps over the years and many of them have employed different strategies in order to support their desired target browsers. These days Babel makes this effortless, but it wasn’t always like this.

In the beginning there was nothing

Our app would sometimes break for certain users because they were using a browser that didn’t support a JavaScript feature we were using in our app code. This wasn’t great. Our app could be broken for many users in the wild and the feedback loop was often slow resulting in fixes taking time to be rolled out.

When a problem was…

Lee Cheneler

JavaScript developer. Director@EnzymeSoftware

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store