Skip to content

resonon.lock

resonon.lock sits next to resonon.toml and records the exact commit of every dependency. resonon writes it; it is not edited by hand. Commit it with the project. Installing with it is in Install a Package.

# Auto-generated by Resonon. Do not edit.
[[package]]
name = "drum-kits"
source = "gh:resonon/drum-kits"
version = "v1.0"
commit = "4f3c1a9e02b7d5c8a1f6e3b9d0c2a7e4f8b1d6c3"
[[package]]
name = "synths"
source = "gh:user/synths"
commit = "9b2d7e41c0a3f58e6d1b4c7a2e9f0d3b8c5a1e67"
platform = "macos-aarch64"

One table per dependency, sorted by name.

FieldTypePresentValue
namestringAlwaysThe dependency’s key in resonon.toml, and its folder under dependencies/
sourcestringAlwaysWhere it is fetched from, without an @tag
versionstringWith a tagThe tag it is pinned to
commitstringAlwaysThe full git commit hash installed
platformstringWith a native extensionThe os-arch it was built on, e.g. macos-aarch64 or linux-x86_64

The file records no resonon version: the version a project needs is resonon in resonon.toml.

Every write replaces the whole file.

CommandLock
resonon install <source>Adds or replaces that dependency’s entry
resonon installInstalls every dependency at its locked commit — or at its tag, when resonon.toml pins one — and writes the result
resonon updateFetches every dependency again, at its tag or newest commit, and writes the result
resonon update <name>The same, for one dependency
resonon remove <name>Removes that dependency’s entry

In a project with no dependencies, resonon install and resonon update write no lock.

WhenWhat happens
resonon installEach dependency is checked out at its commit
resonon install, a native extensionRebuilt when platform is another platform and no library for this one is in the package
A use of an installed dependencyWhen the installed commit differs from the lock, once per package per session: warning: installed 'name' (commit …) does not match resonon.lock (commit …)