aboutsummaryrefslogtreecommitdiff
path: root/src/install/npm.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/install/npm.zig')
-rw-r--r--src/install/npm.zig26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/install/npm.zig b/src/install/npm.zig
index 3301b2653..79dea81ce 100644
--- a/src/install/npm.zig
+++ b/src/install/npm.zig
@@ -407,6 +407,13 @@ pub const PackageVersion = extern struct {
os: OperatingSystem = OperatingSystem.all,
/// `"cpu"` field in package.json
cpu: Architecture = Architecture.all,
+
+ pub fn verify(this: *const PackageVersion) void {
+ if (comptime !Environment.allow_assert)
+ return;
+
+ this.man_dir.value.assertDefined();
+ }
};
pub const NpmPackage = extern struct {
@@ -440,6 +447,23 @@ pub const PackageManifest = struct {
package_versions: []const PackageVersion = &[_]PackageVersion{},
extern_strings_bin_entries: []const ExternalString = &[_]ExternalString{},
+ pub fn verify(this: *const PackageManifest) void {
+ if (comptime !Environment.allow_assert)
+ return;
+
+ for (this.extern_strings_bin_entries) |*entry| {
+ entry.value.assertDefined();
+ }
+
+ for (this.external_strings_for_versions) |entry| {
+ entry.value.assertDefined();
+ }
+
+ for (this.package_versions) |package| {
+ package.tarball_url.value.assertDefined();
+ }
+ }
+
pub inline fn name(this: *const PackageManifest) string {
return this.pkg.name.slice(this.string_buf);
}
@@ -617,6 +641,8 @@ pub const PackageManifest = struct {
}
}
+ package_manifest.verify();
+
return package_manifest;
}
};