aboutsummaryrefslogtreecommitdiff
path: root/src/install/lockfile.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-09-19 23:03:11 -0700
committerGravatar GitHub <noreply@github.com> 2023-09-19 23:03:11 -0700
commitedee1e3d04c80f5301b4eeb8eef2a92a0ed5823c (patch)
treed4af23bce9e3e80957a4739ed596baab27fdea32 /src/install/lockfile.zig
parente2fb524993137bce0a6d3a2a45783877efff4f82 (diff)
downloadbun-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.zig46
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| {