pub struct ZoiLockV2 {
pub version: String,
pub packages_hash: Option<String>,
pub registries_hash: Option<String>,
pub registries: BTreeMap<String, LockRegistryV2>,
pub installed_packages: BTreeMap<String, LockPackageDetailV2>,
}Expand description
The root structure of a zoi.lock file (Specification v2).
This lockfile guarantees absolute reproducibility for project environments. Instead of just pinning versions, it pins:
- Local State Hashes: Cryptographic hashes of the actual store and database directories.
- Registry Revisions: The exact Git commit SHAs of the registries used to resolve packages.
- Package Hashes: Expected checksums for every installed package directory.
Fields§
§version: StringThe lockfile specification version (always “2”).
packages_hash: Option<String>The SHA-512 hash of the .zoi/pkgs/store directory, capturing the exact file state.
registries_hash: Option<String>The SHA-512 hash of the .zoi/pkgs/db directory, capturing the registry metadata state.
registries: BTreeMap<String, LockRegistryV2>A map of registry handles to their pinned Git URLs and commit revisions.
installed_packages: BTreeMap<String, LockPackageDetailV2>A map of package identifiers to their fully resolved installation state.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ZoiLockV2
impl<'de> Deserialize<'de> for ZoiLockV2
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ZoiLockV2, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ZoiLockV2, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ZoiLockV2
impl Serialize for ZoiLockV2
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ZoiLockV2
impl RefUnwindSafe for ZoiLockV2
impl Send for ZoiLockV2
impl Sync for ZoiLockV2
impl Unpin for ZoiLockV2
impl UnsafeUnpin for ZoiLockV2
impl UnwindSafe for ZoiLockV2
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more