JavaScript Monorepos in 2024: Legit or Sus?

JavaScript Monorepos in 2024: Legit or Sus?

Zach Gardner Articles, Development Technologies & Tools, JavaScript, Programming, Tutorial 4 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 two 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.

What is Business Intelligence (BI)?

Caven Andersen Articles, Business Intelligence (BI), Development Technologies & Tools, PowerBI, Tableau Leave a Comment

I’m sure you’ve come across the term “Business Intelligence” or “BI” in your workplace or on LinkedIn. It’s remarkable how many people are now embracing the advantages it offers for making better business decisions, making data more accessible and comprehensible, and much more.

One of the primary objectives of BI is to enable companies to make informed, data-driven decisions by following a multi-step process. This process encompasses data collection through ETL (Extract, Transform, Load), data analysis, data visualization, and the subsequent presentation of findings to key decision-makers within the organization. These tasks are accomplished using BI tools and various programming languages, which are employed to access and analyze extensive datasets. The results are then presented in reports that incorporate charts, graphs, maps, and key performance indicators (KPIs) for a detailed overview of the business’s performance.

What questions should I ask before hiring web app developers?

Zach Gardner Keyhole, Videos Leave a Comment

Attention: This article was published over 3 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.It’s an exciting phase when you decide to build a web application for your business. Whether you’re looking to launch a new digital product, …

What is the process of developing a mobile app?

Keyhole Software Keyhole, Mobile, Videos Leave a Comment

Attention: This article was published over 3 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.In today’s digitized era, having a mobile presence is not just an added advantage, but often a necessity. If you’ve found yourself contemplating a …

Why hire a custom software development company?

Zach Gardner All Industries, Hiring and Recruitment, Keyhole, Videos Leave a Comment

Attention: This article was published over 3 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.Navigating the world of software can be intricate, especially when aiming for growth and scalability. Join us as we delve deep with a top-tier …