Managing a large set of unique ids for an application is quite daunting, especially as the application grows and scales. HTML element ids are a perfect example, as they are typically scattered across many files and with little coordination. When a couple more developers are added to the mix, bug reports become less of a question of ‘if’, and more a question of ‘when’.

A recent use case I had for this was tracking testing ids in Cypress. …


In my previous article, I demonstrated how to maintain a unique set of ids. While that is extremely helpful, we can take it a step further and incorporate TypeScript IntelliSense to boost our test writing productivity and relieve some of the stress of error-prone copy and pasting.

Using “const assertions” in TypeScript

In TypeScript 3.4, “const assertions” were added as a dynamic new feature that allow us to define read-only string literals from an array.

Using this new TypeScript syntax (don’t forget the ‘as const’), we can export a String Literal Type derived from our array. What does that mean? In simpler terms, if…


I’ve been a Web Dev for awhile now, and one pain point I’ve faced repeatedly is front-end automated testing. I have used Jest and Mocha, and while they are useful, they don’t scratch the itch that my application is being tested well-enough

Luckily, Cypress has come into the fold as of late, providing a solution for end-to-end testing. What is end-to-end testing? In a nutshell, Cypress will click around your web application for you, and if you so desire, will send actual network requests to your server or database and wait for responses. It’s pretty amazing.

After writing a few…


This article is not an introduction to Svelte or TypeScript. If you are unfamiliar with either of these technologies, I urge you to do some individual research before diving into these topics. With that out of the way, let’s get started!

Why Svelte Store

As a React developer in my day job working on larger React applications, I have grown more and more frustrated over time with the scalability of React applications. Lifting state in large nested components was always confusing and repetitive, especially when components were 3+ layers deep. …

Doug Hill

Developer with 5+ years of experience with JavaScript and Frontend Frameworks

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