JavaScript monorepo managers

Nov 11, 2020 • ☕️ 1 min read

Splitting up large codebases into separate independently versioned packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories gets complicated really fast.

Projects like Babel, React, Angular, Ember, Meteor, Jest, and many others develop all of their packages within a single repository.

Lerna

Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm.

Rush

Rush makes life easier for JavaScript developers who build and publish many packages from a common Git repo, ready for large repos, designed for large teams, no phantom dependencies, etc.

Yarn workspaces

Workspaces are a new way to set up your package architecture, allows you to setup multiple packages in such a way that you only need to run yarn install once to install all of them in a single pass.

Nx

Nx is a set of extensible dev tools for monorepos, has first-class support for many frontend and backend technologies.

Related Posts

Text editors

Popular lightweight text editors to write code in multiple programming languages across platforms

On System Design with Naivety

Too often that many developers with almost zero experience in system design are put in charge of designing one

Node job queue libraries

Job, message, or task queues implemented in Node.js and backed by databases like Redis or MongoDB

Online task management tools

From the small stuff to the big picture, these tools help you organize work so teams know what to do