openeew-dashboard
openeew-dashboard copied to clipboard
Use Lerna for managing multiple packages in a single repository
The dashboard repo currently contains ~3 package.json files with two distinct apps - the client and apis. Lerna is a tool made to help organize monorepos.
From the lerna doc https://github.com/lerna/lerna
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 becomes complicated very quickly.
To solve these (and many other) problems, some projects will organize their codebases into multi-package repositories (sometimes called monorepos). 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.
Lerna can also reduce the time and space requirements for numerous copies of packages in development and build environments - normally a downside of dividing a project into many separate NPM packages. See the hoist documentation for details.