aboutsummaryrefslogtreecommitdiff
path: root/src/resolver/package_json.zig
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-10-17 16:34:03 -0700
committerGravatar GitHub <noreply@github.com> 2023-10-17 16:34:03 -0700
commitd187563d3688d67ebeb1352dc6013de0927a252f (patch)
tree22bb277f003cfb64f99b5ee0b79665666464d44e /src/resolver/package_json.zig
parente91436e5248d947b50f90b4a7402690be8a41f39 (diff)
downloadbun-d187563d3688d67ebeb1352dc6013de0927a252f.tar.gz
bun-d187563d3688d67ebeb1352dc6013de0927a252f.tar.zst
bun-d187563d3688d67ebeb1352dc6013de0927a252f.zip
use npm alias in dependencies (#6545)
* aliased package in dependencies * other buf * make sure version works * make sure overrides don't override alias * tests * update * comments
Diffstat (limited to 'src/resolver/package_json.zig')
-rw-r--r--src/resolver/package_json.zig14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/resolver/package_json.zig b/src/resolver/package_json.zig
index 165da7b53..7b1442898 100644
--- a/src/resolver/package_json.zig
+++ b/src/resolver/package_json.zig
@@ -833,7 +833,15 @@ pub const PackageJSON = struct {
if (tag == .npm) {
const sliced = Semver.SlicedString.init(package_json.version, package_json.version);
- if (Dependency.parseWithTag(allocator, String.init(package_json.name, package_json.name), package_json.version, .npm, &sliced, r.log)) |dependency_version| {
+ if (Dependency.parseWithTag(
+ allocator,
+ String.init(package_json.name, package_json.name),
+ String.Builder.stringHash(package_json.name),
+ package_json.version,
+ .npm,
+ &sliced,
+ r.log,
+ )) |dependency_version| {
if (dependency_version.value.npm.version.isExact()) {
if (pm.lockfile.resolve(package_json.name, dependency_version)) |resolved| {
package_json.package_manager_package_id = resolved;
@@ -945,6 +953,7 @@ pub const PackageJSON = struct {
for (group_obj.properties.slice()) |*prop| {
const name_prop = prop.key orelse continue;
const name_str = name_prop.asString(allocator) orelse continue;
+ const name_hash = String.Builder.stringHash(name_str);
const name = String.init(name_str, name_str);
const version_value = prop.value orelse continue;
const version_str = version_value.asString(allocator) orelse continue;
@@ -953,6 +962,7 @@ pub const PackageJSON = struct {
if (Dependency.parse(
allocator,
name,
+ name_hash,
version_str,
&sliced_str,
r.log,
@@ -960,7 +970,7 @@ pub const PackageJSON = struct {
const dependency = Dependency{
.name = name,
.version = dependency_version,
- .name_hash = String.Builder.stringHash(name_str),
+ .name_hash = name_hash,
.behavior = group.behavior,
};
package_json.dependencies.map.putAssumeCapacityContext(