aboutsummaryrefslogtreecommitdiff
path: root/src/resolver/package_json.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-09-21 21:53:38 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-09-21 21:53:38 -0700
commit6213a73e6ffb9e0973b659f159db2a5d13f59d6b (patch)
treefe11a2735815d6dcb5bd11f153226523a02161c4 /src/resolver/package_json.zig
parent9c109b744f1729d1207f8f38cf1beae815e9690d (diff)
downloadbun-6213a73e6ffb9e0973b659f159db2a5d13f59d6b.tar.gz
bun-6213a73e6ffb9e0973b659f159db2a5d13f59d6b.tar.zst
bun-6213a73e6ffb9e0973b659f159db2a5d13f59d6b.zip
Add "exports" to PackageJSON
Diffstat (limited to 'src/resolver/package_json.zig')
-rw-r--r--src/resolver/package_json.zig13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/resolver/package_json.zig b/src/resolver/package_json.zig
index 056bf345d..b1ac31256 100644
--- a/src/resolver/package_json.zig
+++ b/src/resolver/package_json.zig
@@ -82,6 +82,8 @@ pub const PackageJSON = struct {
//
browser_map: BrowserMap,
+ exports: ?ExportsMap = null,
+
pub inline fn isAppPackage(this: *const PackageJSON) bool {
return this.hash == 0xDEADBEEF;
}
@@ -593,6 +595,12 @@ pub const PackageJSON = struct {
}
}
+ if (json.asProperty("exports")) |exports_prop| {
+ if (ExportsMap.parse(allocator, source, log, exports_prop)) |exports_map| {
+ package_json.exports = exports_map;
+ }
+ }
+
// TODO: side effects
// TODO: exports map
@@ -637,7 +645,10 @@ pub const ExportsMap = struct {
return null;
}
- return ExportsMap{ .root = root, .exports_range = root.first_token };
+ return ExportsMap{
+ .root = root,
+ .exports_range = source.rangeOfString(json.loc),
+ };
}
pub const Visitor = struct {