Logo

Category: Web Development

The 439 day Journey that Changed my Life

September 10, 2018
Timelapse of cars driving through the mountains with starry sky
Spring 2017: I was beyond displeased with my current work situation. I loathed going into work everyday and being a punching bag for what wasn’t going right in the organization. My closest coworkers were amazing and our relationship was part caring about each other and part informal group therapy. They are all that kept me somewhat stable. But this isn’t about that place, and details aren’t important or beneficial. My work environment was beyond toxic, and I needed an exit strategy. At first I started looking and applying for another job in the same field. This lead to an interview scheduled for a similar position in a smaller organization. During this search process I also began to question if pursuing this same career path was the best…
Read More

TypeScript Utility Types Part 3: Extract, Exclude, and NonNullable

May 25, 2020
intersecting-types
TypeScript utility types provide built in type composition tools to generate new types. They capitalize on TypeScript generic types to enable this functionality. In the third part of this series, we will be covering the , , and utilities. For more coverage on other utility types, check out the previous two posts in the series. TypeScript Utility Types Part 1: Partial, Pick, and Omit TypeScript Utility Types Part 2: Record, Readonly, & Required Extract . is a utility for pulling out values that are shared between the two type arguments it receives. This can be useful for refining types for other implementations, or to remove types that another implementation may not accept. By using on the two user interfaces, we have a type of the three…
Read More

TypeScript Utility Types Part 2: Record, Readonly, & Required

May 4, 2020
reflective-architecture-perspective
TypeScript utility types provide built in type composition tools to generate new types. They capitalize on TypeScript generic types to enable this functionality. Previously we talked about the , , and types as well as utility types as a concept in part 1 of this series. In this post we will dive into three more of the utility types provided by TypeScript: , , and . Record is the first utility type we have covered that takes two generic types. This utility generates a type with the properties present in with the corresponding values of type . This utility can be helpful in create type objects from union strings, or even generic polymorphic types. is a very flexible utility type and can eliminate a lot of duplication if you already have…
Read More

TypeScript Utility Types Part 1: Partial, Pick, and Omit

April 27, 2020
compass-with-leather-notebook
TypeScript provides multiple means of creating, modifying, and extending existing types into new variants using special utility types. Most of these types utilize generic types under the hood, but a deep understanding of generics is not necessary to utilize them. We can think of utility types as TypeScript functions to return new types. In this post, I'll cover three of the utility types that I use often as well as some examples of how they can be leveraged. These types include: , , and . If you are not familiar with TypeScript generics, here is a quick overview to better understand the documentation. TypeScript generics are indicated through placing a type variable inside . An example of this is . In this instance, we can think of as a…
Read More

How to Bundle Knex with Webpack for Serverless

May 22, 2020
Bundling Knex with Webpack doesn't always play well. In this particular case I was trying to bundle a serverless application with only the runtime dependencies. Since this project was utilizing TypeScript and other tooling and dev-dependencies I definitely did not want to ship all of the node modules. Additionally, most of the 10 module resolution errors I was receiving were for packages I didn't even have installed. In this blog post we'll cover utilizing a Webpack plugin to resolve this build error. I'm still not entirely sure why this error occurs, but judging by GitHub issues it has cropped up several times with individuals sharing different solutions. In order to properly bundle the application with only the required dependencies, I…
Read More
2022 Skyler Lemay. All Rights Reserved.