aboutsummaryrefslogtreecommitdiff
path: root/src/cli.zig
diff options
context:
space:
mode:
authorGravatar Yash Sharma <yashosharma@gmail.com> 2023-08-09 10:43:04 -0700
committerGravatar GitHub <noreply@github.com> 2023-08-09 10:43:04 -0700
commit8717303a80668e4043a9ae1586ff1d4d3b12ff00 (patch)
tree4d47b0d7c1a94720d0a5243cebda90b39f619d6d /src/cli.zig
parent385d440694a95bc4bfee25daa602c5c4363b6423 (diff)
downloadbun-8717303a80668e4043a9ae1586ff1d4d3b12ff00.tar.gz
bun-8717303a80668e4043a9ae1586ff1d4d3b12ff00.tar.zst
bun-8717303a80668e4043a9ae1586ff1d4d3b12ff00.zip
Add support for `bun --revision` (#4027)
Co-authored-by: Yash Sharma <yashsharma@Yashs-MacBook-Air.local>
Diffstat (limited to 'src/cli.zig')
-rw-r--r--src/cli.zig11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cli.zig b/src/cli.zig
index 04f01053a..3400a70f4 100644
--- a/src/cli.zig
+++ b/src/cli.zig
@@ -148,6 +148,7 @@ pub const Arguments = struct {
clap.parseParam("--main-fields <STR>... Main fields to lookup in package.json. Defaults to --target dependent") catch unreachable,
clap.parseParam("--no-summary Don't print a summary (when generating .bun)") catch unreachable,
clap.parseParam("-v, --version Print version and exit") catch unreachable,
+ clap.parseParam("--revision Print version with revision and exit") catch unreachable,
clap.parseParam("--tsconfig-override <STR> Load tsconfig from path instead of cwd/tsconfig.json") catch unreachable,
clap.parseParam("-d, --define <STR>... Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\". Values are parsed as JSON.") catch unreachable,
clap.parseParam("-e, --external <STR>... Exclude module from transpilation (can use * wildcards). ex: -e react") catch unreachable,
@@ -234,6 +235,12 @@ pub const Arguments = struct {
Global.exit(0);
}
+ fn printRevisionAndExit() noreturn {
+ @setCold(true);
+ Output.writer().writeAll(Global.package_json_version_with_revision ++ "\n") catch {};
+ Global.exit(0);
+ }
+
pub fn loadConfigPath(allocator: std.mem.Allocator, auto_loaded: bool, config_path: [:0]const u8, ctx: *Command.Context, comptime cmd: Command.Tag) !void {
var config_file = std.fs.File{
.handle = std.os.openZ(config_path, std.os.O.RDONLY, 0) catch |err| {
@@ -365,6 +372,10 @@ pub const Arguments = struct {
printVersionAndExit();
}
+ if (args.flag("--revision")) {
+ printRevisionAndExit();
+ }
+
var cwd: []u8 = undefined;
if (args.option("--cwd")) |cwd_| {
cwd = brk: {