JavaScript Monorepos in 2024: Legit or Sus?

JavaScript Monorepos in 2024: Legit or Sus?

Zach Gardner Articles, Development Technologies & Tools, JavaScript, Programming, Tutorial 2 Comments

I’ve been developing JavaScript through all of the major existential changes we’ve had. Browser wars? I remember those. Trying to make a complex application before Firebug? Oh yeah, tell me about it. Having to roll my own AJAX request by hand? Vividly remember.

Something that I experienced in all of my large JS projects before the last few years was an eventual point of no return, a metaphorical event horizon, beyond which the amount of time it took to build the code locally as well as on the CI/CD system was just simply too long.

All projects start fine, but as they grow and evolve and change over time, the amount of build time seems to creep up until it becomes inimical to deploying and testing changes in any reasonable time frame. Further, it becomes very difficult to onboard new developers as any change they make is not isolated, and must take into account all of the other code in the app. Granted, frameworks and libraries like React do help to some extent, but there are no clean-cut boundaries on the source code with different features, it always had to be by convention.

It was during a project a few years ago that I finally put my foot down and decided that something needed to be done. Researching how other architects were doing it, I came across JavaScript monorepos. I was familiar with the concept of monorepos from my research on how Google structures their code base (they have to repos, one for YouTube and one for everything else, no joke), but had never thought to apply that same principle to JavaScript. So I dove in head first, made a lot of mistakes, iterated, and finally got to a place where I feel comfortable sharing my lessons learned.

This blog post is not an extensive study, but it is enough to get you interested in a way to solve two common problems we all have (i.e. sluggish build times and inability to effectively onboard new devs due to lack of feature separation), and give you enough of a context around how I approached the problem to determine how you should proceed.

LDAP Server on AWS

Setting Up an LDAP Server Instance on AWS

Luke Zeisset Articles, AWS, Development Technologies & Tools, Programming, Tutorial Leave a Comment

This blog describes the basics of what it takes to get an existing LDAP server moved from the PV virtualization type to HVM. I encountered this situation personally while working for a client earlier this year. Efforts have been made to keep most of it generic enough to be useful for other situations involving system upgrades or replacements as well.

Harnessing the Javascript Spread Operator

Alex Cassells Articles, Development Technologies & Tools, JavaScript, Tutorial Leave a Comment

The toolset of the JavaScript developer is ever-evolving and ever-changing. Array manipulation saw dramatic improvements in usability, utility, and readability with the release of the ECMAScript 6 standard in 2015. This update was released with game-changing features like arrow functions, scoped variables like ‘let’ and ‘const’, and many other commonly used tools.

As a developer, I use these features on a regular basis when developing in a Javascript environment, whether that’s a front-end library, such as React or Angular, or on the backend through Node. Most developers have experience with arrow functions and scoped variables, which are incredibly common to see throughout modern code bases. One feature included in ECMAScript 6 is the Spread Operator. While I do not often see it used, it is perhaps my favorite.

In this blog, I will cover the Spread Operator. We’ll talk about what it is and how it’s used to manipulate both objects and arrays. We’ll walk through some examples to help you get started using it in your programming along the way. Let’s jump in.

Testing the Current Date/Time in Spring and Java

Keith Shakib Articles, Development Technologies & Tools, Java, Spring, Testing, Tutorial 1 Comment

Attention: This article was published over 2 years ago, and the information provided may be aged or outdated. While some topics are evergreen, technology moves fast, so please keep that in mind as you read the post.How often in Java services do we need to use the current date and time? Most of us would agree we use it quite …

Building a Productivity Mansion with Microsoft 365 Planner

Building a Productivity Mansion: Microsoft 365 Planner

Chris Weiner Articles, Development Technologies & Tools, Programming, Tutorial Leave a Comment

Alright, Innovator! I see you’ve been using Microsoft 365 Planner, and it’s like you’ve started building your productivity mansion. As someone who’s been through the process, I’d love to help you add more floors and rooms to it.

So, let’s pick up our productivity blueprints and continue building with these three awesome strategies.