5.0.1 • Published 6 months ago

monodeploy v5.0.1

Weekly downloads
87
License
Apache-2.0
Repository
github
Last release
6 months ago

monodeploy

npm npm downloads CircleCI codecov All Contributors Dependabot Status

A small wrapper around lerna that makes it easier to use in CI

Installation

yarn add --dev monodeploy

or

npm install --save-dev monodeploy

Why monodeploy?

As a monorepo manager, lerna is a great tool, but it's not necessarily easy to use in CI if you want to publish all your packages every master build. Here are some problems you might encounter:

  • Running lerna publish in CI pushes back to your git repository, which may fail if commits have been pushed to your master branch in the meantime.
  • lerna requires all package versions to be stored in your repository, in their respective package.json files, therefore it's not possible to simply skip pushing to git from CI by using the --no-push option when publishing.

monodeploy allows you to publish NPM packages from a monorepo in CI, using lerna, on every single master build, without storing your version numbers in your package.json files and without having CI commit back to your repo. We could argue back and forth about whether or not it's good idea to publish NPM packages every single build to master (maybe --canary builds would be better), and we could certainly agree that not storing version numbers in package.json files is confusing, but in some cases the benefits of such a scheme outweigh the shortcomings, and monodeploy is intended to suit those scenarios.

How does monodeploy work?

monodeploy uses the registry as the single source of truth for package version numbers. At a high level, it does the following:

  1. Use lerna to determine which packages need to be published
  2. Retrieve the latest versions of these packages from the registry
  3. Update the package.json files for these packages with the latest version numbers from the registry
  4. Use lerna to bump the package versions and publish to the registry without commiting to the repo or pushing to the remote
  5. Create git tags for each newly published package
  6. Output a JSON list of all packages in your monorepo, including their latest version numbers.

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

Special thanks to Carol Skelly for donating the 'tophat' GitHub organization.

5.0.1

6 months ago

5.0.0

6 months ago

4.3.0

8 months ago

4.2.0

10 months ago

4.1.0

11 months ago

4.0.1

12 months ago

4.0.0

1 year ago

3.7.5

1 year ago

3.7.4

1 year ago

3.7.3

1 year ago

3.7.2

1 year ago

3.9.0

1 year ago

3.8.0

1 year ago

3.7.1

1 year ago

3.7.0

1 year ago

3.6.0

1 year ago

3.5.0

1 year ago

3.4.0

1 year ago

3.3.1

2 years ago

3.2.0

2 years ago

3.1.0

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.3.0

2 years ago

3.0.0

2 years ago

3.0.0-rc.6

2 years ago

3.0.0-rc.5

2 years ago

3.0.0-rc.4

2 years ago

2.8.21

2 years ago

2.8.19

2 years ago

2.8.18

2 years ago

2.8.17

2 years ago

3.0.0-rc.2

2 years ago

3.0.0-rc.1

2 years ago

3.0.0-rc.0

2 years ago

3.0.0-rc.3

2 years ago

2.8.20

2 years ago

2.8.16

2 years ago

2.8.15

2 years ago

2.8.14

2 years ago

2.8.13

3 years ago

2.8.12

3 years ago

2.8.12-rc.0

3 years ago

2.8.11

3 years ago

2.8.10

3 years ago

2.8.7

3 years ago

2.8.6

3 years ago

2.8.9

3 years ago

2.8.8

3 years ago

2.8.5

3 years ago

2.8.4

3 years ago

2.8.4-rc.0

3 years ago

2.8.3

3 years ago

2.8.2

3 years ago

2.8.1

3 years ago

2.8.0

3 years ago

2.7.8

3 years ago

2.7.7

3 years ago

2.7.6

3 years ago

2.7.4

3 years ago

2.7.5

3 years ago

2.7.3

3 years ago

2.7.2

3 years ago

2.7.0-rc.0

3 years ago

2.7.0

3 years ago

2.7.1

3 years ago

2.6.5

3 years ago

2.6.4

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.6.3

3 years ago

2.6.2

3 years ago

2.5.6

3 years ago

2.5.5

3 years ago

2.5.0

3 years ago

2.4.1

3 years ago

2.4.0

3 years ago

2.5.2

3 years ago

2.4.3

3 years ago

2.5.1

3 years ago

2.4.2

3 years ago

2.5.4

3 years ago

2.4.5

3 years ago

2.5.3

3 years ago

2.4.4

3 years ago

2.3.8

3 years ago

2.4.6

3 years ago

2.3.7

3 years ago

2.3.9

3 years ago

2.3.11

3 years ago

2.3.10

3 years ago

2.3.6

3 years ago

2.3.4

3 years ago

2.3.5

3 years ago

2.3.2

3 years ago

2.3.1

3 years ago

2.3.3

3 years ago

2.3.0

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.0

4 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.3

4 years ago

0.1.0

4 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.3

5 years ago

0.0.1

5 years ago