diff options
author | 2023-09-26 21:53:14 -0700 | |
---|---|---|
committer | 2023-09-26 21:53:14 -0700 | |
commit | 0268807be282720da663414c2e1a245db3343968 (patch) | |
tree | 9c472b6d632f65e9f6555c675533b260766203a9 /src | |
parent | f354a29683ab56db3ddf4fc8f603fd1e360645e4 (diff) | |
download | bun-0268807be282720da663414c2e1a245db3343968.tar.gz bun-0268807be282720da663414c2e1a245db3343968.tar.zst bun-0268807be282720da663414c2e1a245db3343968.zip |
fix workspace dependency install (#6092)
* handle `*`
* test
* always use the package name
* more tests
* install dependency in each
Diffstat (limited to 'src')
-rw-r--r-- | src/install/install.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/install/install.zig b/src/install/install.zig index 2044039b2..7c58190da 100644 --- a/src/install/install.zig +++ b/src/install/install.zig @@ -2681,8 +2681,8 @@ pub const PackageManager = struct { } }, .workspace => { - // relative to cwd - const workspace_path: *const String = this.lockfile.workspace_paths.getPtr(@truncate(String.Builder.stringHash(this.lockfile.str(&version.value.workspace)))) orelse &version.value.workspace; + // package name hash should be used to find workspace path from map + const workspace_path: *const String = this.lockfile.workspace_paths.getPtr(@truncate(name_hash)) orelse &version.value.workspace; const res = FolderResolution.getOrPut(.{ .relative = .workspace }, version, this.lockfile.str(workspace_path), this); @@ -2956,7 +2956,7 @@ pub const PackageManager = struct { const name = dependency.realname(); const name_hash = switch (dependency.version.tag) { - .dist_tag, .git, .github, .npm, .tarball => String.Builder.stringHash(this.lockfile.str(&name)), + .dist_tag, .git, .github, .npm, .tarball, .workspace => String.Builder.stringHash(this.lockfile.str(&name)), else => dependency.name_hash, }; const version = dependency.version; |