lockstep

Synchronize module versions and internal dependencies in a MoonBit workspace.

bump
version
lockstep
Download zip
Author
Version
0.1.0
License
Apache-2.0
Last updated
2 hours ago
Downloads
3

#Lockstep

Lockstep synchronizes the versions of every MoonBit module listed in a workspace's moon.work.

#Usage

Run Lockstep from the directory that directly contains moon.work.

To run it directly from the Mooncakes registry without installing it:

moonx Milky2018/lockstep 0.2.0

To install the executable and then run it:

moon install Milky2018/lockstep lockstep 0.2.0

By default, moon install installs the binary as ~/.moon/bin/lockstep. Ensure that ~/.moon/bin is on PATH if the lockstep command is not found.

Lockstep updates every member's moon.mod, then runs moon work sync to align workspace dependency versions. The target must use exact MAJOR.MINOR.PATCH syntax and cannot be lower than any member's current version.

The command preserves manifest comments and formatting. If a normally reported write or moon work sync failure occurs, all member manifests are restored to their original bytes.

#Scope

  • Supports the wasm and native backends; wasm is the preferred target.
  • Supports moon.mod; legacy moon.mod.json members are rejected.
  • Does not build, test, publish, commit, or tag the workspace.

SyncError

pub(all) suberror SyncError {
SyncError(String)
}

SyncSummary

pub(all) struct SyncSummary {
module_count : Int
changed : Bool
}

synchronize

async fn synchronize(root : StringView, target : StringView) -> SyncSummary

Synchronize every module in the workspace rooted at root to target.

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io