diff options
author | 2023-04-25 15:13:57 +0300 | |
---|---|---|
committer | 2023-04-25 15:13:57 +0300 | |
commit | 460563ee8996d721d341f3ae0f704a9e3a1ba38d (patch) | |
tree | 50741c62e81069633a3033e8ad8128f48624246c | |
parent | 3c4f0920b95cfffc52d13cb0211701ca55211164 (diff) | |
download | bun-460563ee8996d721d341f3ae0f704a9e3a1ba38d.tar.gz bun-460563ee8996d721d341f3ae0f704a9e3a1ba38d.tar.zst bun-460563ee8996d721d341f3ae0f704a9e3a1ba38d.zip |
fix `make setup` (#2731)
- minor clean-ups
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/install/extract_tarball.zig | 2 | ||||
-rw-r--r-- | src/install/install.zig | 6 | ||||
-rw-r--r-- | src/install/lockfile.zig | 2 |
4 files changed, 7 insertions, 5 deletions
@@ -520,7 +520,7 @@ npm-install: npm-install-dev: $(NPM_CLIENT) install - cd test && $(NPM_CLIENT) install --production + cd test && $(NPM_CLIENT) install cd packages/bun-types && $(NPM_CLIENT) install --production print-% : ; @echo $* = $($*) diff --git a/src/install/extract_tarball.zig b/src/install/extract_tarball.zig index 893be19fe..0e5f8e188 100644 --- a/src/install/extract_tarball.zig +++ b/src/install/extract_tarball.zig @@ -343,7 +343,7 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !Install.ExtractD }; // create an index storing each version of a package installed - create_index: { + if (std.mem.indexOfScalar(u8, basename, '/') == null) create_index: { var index_dir = cache_dir.makeOpenPathIterable(name, .{}) catch break :create_index; defer index_dir.close(); index_dir.dir.symLink( diff --git a/src/install/install.zig b/src/install/install.zig index 54131fc2a..51cdedea6 100644 --- a/src/install/install.zig +++ b/src/install/install.zig @@ -2469,8 +2469,9 @@ pub const PackageManager = struct { std.debug.assert(buffers.resolutions.items[dependency_id] == invalid_package_id); } buffers.resolutions.items[dependency_id] = package_id; + const string_buf = buffers.string_bytes.items; var dep = &buffers.dependencies.items[dependency_id]; - if (dep.name.isEmpty()) { + if (dep.name.isEmpty() or strings.eql(dep.name.slice(string_buf), dep.version.literal.slice(string_buf))) { dep.name = this.lockfile.packages.items(.name)[package_id]; dep.name_hash = this.lockfile.packages.items(.name_hash)[package_id]; } @@ -2484,8 +2485,9 @@ pub const PackageManager = struct { std.debug.assert(buffers.resolutions.items[dependency_id] == invalid_package_id); } buffers.resolutions.items[dependency_id] = package_id; + const string_buf = buffers.string_bytes.items; var dep = &buffers.dependencies.items[dependency_id]; - if (dep.name.isEmpty()) { + if (dep.name.isEmpty() or strings.eql(dep.name.slice(string_buf), dep.version.literal.slice(string_buf))) { dep.name = this.lockfile.packages.items(.name)[package_id]; dep.name_hash = this.lockfile.packages.items(.name_hash)[package_id]; } diff --git a/src/install/lockfile.zig b/src/install/lockfile.zig index ea1c4fcf8..f2cab5ed9 100644 --- a/src/install/lockfile.zig +++ b/src/install/lockfile.zig @@ -1352,7 +1352,7 @@ pub fn verifyResolutions(this: *Lockfile, local_features: Features, remote_featu remote_features, )) continue; if (log_level != .silent) { - if (failed_dep.name.isEmpty()) { + if (failed_dep.name.isEmpty() or strings.eql(failed_dep.name.slice(string_buf), failed_dep.version.literal.slice(string_buf))) { Output.prettyErrorln( "<r><red>error<r><d>:<r> <b>{}<r><d> failed to resolve<r>\n", .{ |