aboutsummaryrefslogtreecommitdiff
path: root/src/resolver/package_json.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/resolver/package_json.zig')
-rw-r--r--src/resolver/package_json.zig10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/resolver/package_json.zig b/src/resolver/package_json.zig
index a9952c8b1..053e00a90 100644
--- a/src/resolver/package_json.zig
+++ b/src/resolver/package_json.zig
@@ -44,11 +44,13 @@ pub const PackageJSON = struct {
//
browser_map: BrowserMap,
- pub fn parse(r: *resolver.Resolver, input_path: string) ?PackageJSON {
+ pub fn parse(r: *resolver.Resolver, input_path: string, dirname_fd: StoredFileDescriptorType) ?PackageJSON {
const parts = [_]string{ input_path, "package.json" };
- const package_json_path = r.fs.join(&parts);
- const entry = r.caches.fs.readFile(r.fs, input_path) catch |err| {
+ const package_json_path_ = r.fs.abs(&parts);
+ const package_json_path = r.fs.filename_store.append(package_json_path_) catch unreachable;
+
+ const entry = r.caches.fs.readFile(r.fs, package_json_path, dirname_fd) catch |err| {
if (err != error.IsDir) {
r.log.addErrorFmt(null, logger.Loc.Empty, r.allocator, "Cannot read file \"{s}\": {s}", .{ r.prettyPath(fs.Path.init(input_path)), @errorName(err) }) catch unreachable;
}
@@ -60,7 +62,7 @@ pub const PackageJSON = struct {
debug.addNoteFmt("The file \"{s}\" exists", .{package_json_path}) catch unreachable;
}
- const key_path = fs.Path.init(r.allocator.dupe(u8, package_json_path) catch unreachable);
+ const key_path = fs.Path.init(package_json_path);
var json_source = logger.Source.initPathString(key_path.text, entry.contents);
json_source.path.pretty = r.prettyPath(json_source.path);