diff options
author | 2023-09-19 23:03:11 -0700 | |
---|---|---|
committer | 2023-09-19 23:03:11 -0700 | |
commit | edee1e3d04c80f5301b4eeb8eef2a92a0ed5823c (patch) | |
tree | d4af23bce9e3e80957a4739ed596baab27fdea32 /src/install/lockfile.zig | |
parent | e2fb524993137bce0a6d3a2a45783877efff4f82 (diff) | |
download | bun-edee1e3d04c80f5301b4eeb8eef2a92a0ed5823c.tar.gz bun-edee1e3d04c80f5301b4eeb8eef2a92a0ed5823c.tar.zst bun-edee1e3d04c80f5301b4eeb8eef2a92a0ed5823c.zip |
Show when a newer version is available in the install screen (#5780)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to '')
-rw-r--r-- | src/install/lockfile.zig | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/src/install/lockfile.zig b/src/install/lockfile.zig index a3e51f59f..fd742d559 100644 --- a/src/install/lockfile.zig +++ b/src/install/lockfile.zig @@ -1057,21 +1057,39 @@ pub const Printer = struct { if (!installed.isSet(package_id)) continue; - const fmt = comptime brk: { - if (enable_ansi_colors) { - break :brk Output.prettyFmt("<r> <green>+<r> <b>{s}<r><d>@{}<r>\n", enable_ansi_colors); - } else { - break :brk Output.prettyFmt("<r> + {s}<r><d>@{}<r>\n", enable_ansi_colors); - } - }; + if (PackageManager.instance.laterVersionInCache(package_name, dependency.name_hash, resolved[package_id])) |later_version| { + const fmt = comptime brk: { + if (enable_ansi_colors) { + break :brk Output.prettyFmt("<r> <green>+<r> <b>{s}<r><d>@{}<r> <d>(<blue>v{} available<r><d>)<r>\n", enable_ansi_colors); + } else { + break :brk Output.prettyFmt("<r> + {s}<r><d>@{}<r> <d>(v{} available)<r>\n", enable_ansi_colors); + } + }; + try writer.print( + fmt, + .{ + package_name, + resolved[package_id].fmt(string_buf), + later_version.fmt(string_buf), + }, + ); + } else { + const fmt = comptime brk: { + if (enable_ansi_colors) { + break :brk Output.prettyFmt("<r> <green>+<r> <b>{s}<r><d>@{}<r>\n", enable_ansi_colors); + } else { + break :brk Output.prettyFmt("<r> + {s}<r><d>@{}<r>\n", enable_ansi_colors); + } + }; - try writer.print( - fmt, - .{ - package_name, - resolved[package_id].fmt(string_buf), - }, - ); + try writer.print( + fmt, + .{ + package_name, + resolved[package_id].fmt(string_buf), + }, + ); + } } } else { outer: for (dependencies_buffer, resolutions_buffer, 0..) |dependency, package_id, dep_id| { |