Unleashing Automated Continuous Delivery in an Nx Monorepo

Streamlined npm Releases for Monorepos with Automated Commit-based Versioning and multiple Versioned npm packages!

Kevin Kreuzer
11 min readJul 5

--

Innovative approaches continue to emerge in the ever-evolving landscape of software development, reshaping how we build and maintain applications.

One such trend that has gained significant momentum in recent years is the adoption of NX mono repos. With their ability to streamline workflows, enhance collaboration, and increase development efficiency,

NX mono repos have become the go-to solution for many organizations seeking a modern and scalable approach.

The usage of mono repos is very well documented. But what about releasing? How can you continuously deliver multiple npm packages from a mono repo? How can you automate your release so that we get automatic releasing based on commit messages?

This blog post will explore an optimized approach to fully automate the release process for multiple npm libraries within a monorepo. By leveraging commit messages, we can establish a streamlined workflow that enables independent publishing and versioning of these packages. Let’s dive in!

The setup

In our NX monorepo, we have an application and three libraries: foo, baz, and bar. The dependency graph for our application is as follows:

NX monorepo setup with one application and three libraries
  • The application depends on the foo and bar library.
  • The foo and bar library depends on the baz library.

Check out my Youtube channel for more videos on Angular and modern frontend development!

What is our goal? 🎯

To enable automated and continuous delivery for all the libraries in our monorepo, we aim to achieve the following objectives:

  • Automated version bump…

--

--

Kevin Kreuzer

Passionate freelance frontend engineer. ❤️ Always eager to learn, share and expand knowledge.