aboutsummaryrefslogtreecommitdiff
path: root/src/node_module_bundle.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_module_bundle.zig')
-rw-r--r--src/node_module_bundle.zig27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/node_module_bundle.zig b/src/node_module_bundle.zig
index 9dbc45750..98b9067c0 100644
--- a/src/node_module_bundle.zig
+++ b/src/node_module_bundle.zig
@@ -43,13 +43,13 @@ pub const NodeModuleBundle = struct {
pub fn loadPackageMap(this: *NodeModuleBundle) !void {
this.package_name_map = PackageNameMap.init(this.allocator);
- var ids = PackageIDMap.init(this.allocator);
+ this.package_id_map = PackageIDMap.init(this.allocator);
const package_count = @truncate(u32, this.bundle.packages.len);
// this.package_has_multiple_versions = try std.bit_set.DynamicBitSet.initFull(package_count, this.allocator);
- try ids.ensureCapacity(
+ try this.package_id_map.ensureCapacity(
package_count,
);
this.package_name_ids_ptr = try this.allocator.alloc(BundledPackageID, this.bundle.packages.len);
@@ -62,7 +62,7 @@ pub const NodeModuleBundle = struct {
for (this.bundle.packages) |package, _package_id| {
const package_id = @truncate(u32, _package_id);
std.debug.assert(package.hash != 0);
- ids.putAssumeCapacityNoClobber(package.hash, @truncate(u32, package_id));
+ this.package_id_map.putAssumeCapacityNoClobber(package.hash, @truncate(u32, package_id));
const package_name = this.str(package.name);
var entry = this.package_name_map.getOrPutAssumeCapacity(package_name);
@@ -101,8 +101,6 @@ pub const NodeModuleBundle = struct {
remaining_names = remaining_names[1..];
}
}
-
- this.package_id_map = ids;
}
pub fn getPackageIDByHash(this: *const NodeModuleBundle, hash: BundledPackageID) ?u32 {
@@ -169,6 +167,20 @@ pub const NodeModuleBundle = struct {
return null;
}
+ pub fn findModuleIDInPackageStupid(
+ this: *const NodeModuleBundle,
+ package: *const Api.JavascriptBundledPackage,
+ _query: string,
+ ) ?u32 {
+ for (this.bundle.modules[package.modules_offset..][0..package.modules_length]) |mod, i| {
+ if (strings.eql(this.str(mod.path), _query)) {
+ return @truncate(u32, i);
+ }
+ }
+
+ return null;
+ }
+
pub fn findModuleIDInPackage(
this: *const NodeModuleBundle,
package: *const Api.JavascriptBundledPackage,
@@ -303,7 +315,7 @@ pub const NodeModuleBundle = struct {
.{ this.str(pkg.name), this.str(pkg.version) },
);
- for (modules) |module| {
+ for (modules) |module, module_i| {
const size_level: SizeLevel =
switch (module.code.length) {
0...5_000 => .good,
@@ -314,10 +326,11 @@ pub const NodeModuleBundle = struct {
Output.print(indent, .{});
prettySize(module.code.length, size_level, ">");
Output.prettyln(
- indent ++ "<d>{s}</r>" ++ std.fs.path.sep_str ++ "{s}\n",
+ indent ++ "<d>{s}</r>" ++ std.fs.path.sep_str ++ "{s} <r><d>[{d}]<r>\n",
.{
this.str(pkg.name),
this.str(module.path),
+ module_i + pkg.modules_offset,
},
);
}