3 releases (breaking)

0.3.0 Dec 14, 2021
0.2.0 Dec 1, 2021
0.1.0 Nov 24, 2021

#3 in #semantic-release

MIT license

72KB
2K SLoC

This project is still in development and api may change

Mol

Mol - מו"ל (Motzi Laor) is a versioning and publishig toolset with much inspiration from atlassian/changesets but with no specific coupling to any package mananger or versioning scheme.

cargo-mol

Cargo + Semantic Versioning implemintation of Mol bundled with current version of Mol

cargo install mol
cargo mol --help

Most of the api is either cli wizard or very similar to changesets

101 Commands

Create a new changeset to describe the change you are plannig to add

cargo mol add -v patch -p packge1 -p package2 -m "I did some changes"

# what changed
# + .changeset/lorem_ipsum.md >
#   + ---
#   + packge1: patch
#   + package2: patch
#   + --- 
#   +
#   + I did some changes
#   +

Now when you want to update all the versions you requested. Packages will be updated by the most severe version that is requested, ie 0.1.4 + (patch + patch + minor) == 0.2.0

cargo mol version

# what changed
# - .changeset/lorem_ipsum.md
# - .changeset/lorem_minor.md
#   ~ CHANGELOG.md >
#   ~ # package1
#   ~
#   + ## 0.8.0
#   +
#   + ### Minor Changes
#   +
#   + - I did some minor changes i did
#   +
#   + ### Patch Changes
#   +
#   + - I did some changes
#   +
#   ~
#   ~ ## 0.7.1

mol --dry-run

You can always preview the changes you are about to add by runnig with --dry-run before the coomand

cargo mol --dry-run version

# Will print out all the changes that would have happend

Roadmap

  • Plugins
  • mol-nodejs (npm/yarn)
  • mol-pip
  • mol-maven?

Dependencies

~11–18MB
~336K SLoC