aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-06-26 15:51:57 -0700
committerGravatar GitHub <noreply@github.com> 2023-06-26 15:51:57 -0700
commit28f27f733b3db072944156694301651b09b7696b (patch)
tree6dda76e80e0639f8c4a78006f6c423fe33c778b3 /src/api
parenta5100ad380f099907d4b3a9bec696f481b8e7821 (diff)
downloadbun-28f27f733b3db072944156694301651b09b7696b.tar.gz
bun-28f27f733b3db072944156694301651b09b7696b.tar.zst
bun-28f27f733b3db072944156694301651b09b7696b.zip
[bun install] Implement `--exact` flag (#3409)
* [bun install] Implement `--exact` flag * Rename to --save-exact * Rename --exact to --save-exact * Update bun-add.test.ts * We're going with --exact as the flag name --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/api')
-rw-r--r--src/api/schema.d.ts1
-rw-r--r--src/api/schema.js10
-rw-r--r--src/api/schema.peechy1
-rw-r--r--src/api/schema.zig10
4 files changed, 22 insertions, 0 deletions
diff --git a/src/api/schema.d.ts b/src/api/schema.d.ts
index ac6183878..2a86340ad 100644
--- a/src/api/schema.d.ts
+++ b/src/api/schema.d.ts
@@ -710,6 +710,7 @@ export interface BunInstall {
global_dir?: string;
global_bin_dir?: string;
frozen_lockfile?: boolean;
+ exact?: boolean;
}
export interface ClientServerModule {
diff --git a/src/api/schema.js b/src/api/schema.js
index 270eb9a62..f1e68031e 100644
--- a/src/api/schema.js
+++ b/src/api/schema.js
@@ -3048,6 +3048,10 @@ function decodeBunInstall(bb) {
result["frozen_lockfile"] = !!bb.readByte();
break;
+ case 20:
+ result["exact"] = !!bb.readByte();
+ break;
+
default:
throw new Error("Attempted to parse invalid message");
}
@@ -3174,6 +3178,12 @@ function encodeBunInstall(message, bb) {
bb.writeByte(19);
bb.writeByte(value);
}
+
+ var value = message["exact"];
+ if (value != null) {
+ bb.writeByte(20);
+ bb.writeByte(value);
+ }
bb.writeByte(0);
}
diff --git a/src/api/schema.peechy b/src/api/schema.peechy
index 6d28381c4..a172606f7 100644
--- a/src/api/schema.peechy
+++ b/src/api/schema.peechy
@@ -591,6 +591,7 @@ message BunInstall {
string global_dir = 17;
string global_bin_dir = 18;
bool frozen_lockfile = 19;
+ bool exact = 20;
}
struct ClientServerModule {
diff --git a/src/api/schema.zig b/src/api/schema.zig
index 2de80d42c..ec8efa9f6 100644
--- a/src/api/schema.zig
+++ b/src/api/schema.zig
@@ -2904,6 +2904,9 @@ pub const Api = struct {
/// frozen_lockfile
frozen_lockfile: ?bool = null,
+ /// exact
+ exact: ?bool = null,
+
pub fn decode(reader: anytype) anyerror!BunInstall {
var this = std.mem.zeroes(BunInstall);
@@ -2970,6 +2973,9 @@ pub const Api = struct {
19 => {
this.frozen_lockfile = try reader.readValue(bool);
},
+ 20 => {
+ this.exact = try reader.readValue(bool);
+ },
else => {
return error.InvalidMessage;
},
@@ -3055,6 +3061,10 @@ pub const Api = struct {
try writer.writeFieldID(19);
try writer.writeInt(@as(u8, @intFromBool(frozen_lockfile)));
}
+ if (this.exact) |exact| {
+ try writer.writeFieldID(20);
+ try writer.writeInt(@as(u8, @intFromBool(exact)));
+ }
try writer.endMessage();
}
};