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"[[package]]
Section titled “[[package]]”One table per dependency, sorted by name.
| Field | Type | Present | Value |
|---|---|---|---|
name | string | Always | The dependency’s key in resonon.toml, and its folder under dependencies/ |
source | string | Always | Where it is fetched from, without an @tag |
version | string | With a tag | The tag it is pinned to |
commit | string | Always | The full git commit hash installed |
platform | string | With a native extension | The 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.
Written by
Section titled “Written by”Every write replaces the whole file.
| Command | Lock |
|---|---|
resonon install <source> | Adds or replaces that dependency’s entry |
resonon install | Installs every dependency at its locked commit — or at its tag, when resonon.toml pins one — and writes the result |
resonon update | Fetches 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.
Read by
Section titled “Read by”| When | What happens |
|---|---|
resonon install | Each dependency is checked out at its commit |
resonon install, a native extension | Rebuilt when platform is another platform and no library for this one is in the package |
A use of an installed dependency | When the installed commit differs from the lock, once per package per session: warning: installed 'name' (commit …) does not match resonon.lock (commit …) |