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 is a tool that optimizes the workflow around managing multi-package repositories with git and npm.
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.
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 is a set of extensible dev tools for monorepos, has first-class support for many frontend and backend technologies.
Popular lightweight text editors to write code in multiple programming languages across platforms
Too often that many developers with almost zero experience in system design are put in charge of designing one
Job, message, or task queues implemented in Node.js and backed by databases like Redis or MongoDB
From the small stuff to the big picture, these tools help you organize work so teams know what to do